From e0a7b6146f74f1680231ff9c508990220a166d97 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 01 四月 2024 09:49:03 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
TemperingGlassModule/target/surefire-reports/TEST-com.mes.MesApplicationTests.xml | 65
UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java | 9
UI-Project/src/views/Returns/ReturnsReport.vue | 0
TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java | 3
TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java | 2
UI-Project/src/views/PurchaseReturn/purchase.vue | 49
UI-Project/src/views/UnLoadGlass.rar | 0
UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLCtwo.java | 276
UI-Project/src/views/UnLoadGlass.zip | 0
UI-Project/src/views/LoginView.vue | 69
UI-Project/src/assets/bigcar01.png | 0
UI-Project/src/views/Returns/CreateReturns.vue | 0
CacheGlassModule/src/main/java/com/mes/entity/device/InitUtil.java | 124
UnLoadGlassModule/src/main/resources/JsonFile/test.xlsx | 0
UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json | 378 +
UnLoadGlassModule/src/main/resources/JsonFile/Plcframe.json | 51
UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java | 5
UnLoadGlassModule/target/classes/JsonFile/PlcTest.json | 378 +
UnLoadGlassModule/src/main/resources/JsonFile/PlcParameter.json | 610 ++
CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java | 41
UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java | 44
UI-Project/src/views/StockBasicData/Return.vue | 593 ++
CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java | 71
UI-Project/src/assets/s.png | 0
CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java | 77
TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst | 54
UI-Project/src/assets/xmjclzh.png | 0
UI-Project/src/utils/unloadrequest.js | 49
UI-Project/src/views/StockBasicData/Details.vue | 453 +
UnLoadGlassModule/src/main/java/com/mes/common/RabbitMQUtils.java | 61
UnLoadGlassModule/src/main/java/com/mes/service/Plcaction.java | 86
UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java | 45
UnLoadGlassModule/target/classes/JsonFile/sign.xlsx | 0
CacheGlassModule/src/main/java/com/mes/entity/TaskCache.java | 15
UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json | 285
UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLC.java | 96
UI-Project/src/views/StockBasicData/Select.vue | 486 +
UI-Project/src/views/StockBasicData/Storage.vue | 603 ++
UI-Project/src/views/mm/purchaseOrder/Select.vue | 1393 +++-
UnLoadGlassModule/target/classes/JsonFile/Plcframe.json | 51
CacheGlassModule/src/main/resources/banner.txt | 32
UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue | 116
UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java | 2
UI-Project/src/views/Identify/identify.vue | 174
UnLoadGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java | 3
UI-Project/index.html | 2
TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst | 1
UI-Project/src/assets/aaa.png | 0
UI-Project/src/assets/main.css | 7
UnLoadGlassModule/src/main/resources/JsonFile/PlcMes.json | 50
UnLoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java | 3
CacheGlassModule/src/main/resources/application.yml | 16
UI-Project/src/assets/emi.png | 0
pom.xml | 12
UI-Project/src/assets/user.png | 0
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 193
UI-Project/src/assets/shangpianji .png | 0
UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java | 3
UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java | 17
UI-Project/src/assets/dipan.png | 0
UI-Project/config.js | 3
TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java | 2
UI-Project/src/assets/9.png | 0
UnLoadGlassModule/target/classes/JsonFile/alarm.xlsx | 0
CacheGlassModule/target/classes/application.yml | 16
TemperingGlassModule/target/surefire-reports/com.mes.MesApplicationTests.txt | 4
UnLoadGlassModule/target/classes/JsonFile/PlcParameter.json | 610 ++
UI-Project/src/views/Slicecage/slicecage.vue | 568 +
UI-Project/src/assets/sz.png | 0
CacheGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java | 2
CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java | 128
TemperingGlassModule/src/main/resources/application.yml | 24
UnLoadGlassModule/src/main/resources/application.yml | 10
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 174
UI-Project/src/assets/2.png | 0
UI-Project/src/assets/xmjc.png | 0
UI-Project/src/views/Returns/returns.vue | 426 +
CacheGlassModule/src/main/java/com/mes/service/userInfo/UserService.java | 2
UI-Project/src/views/Returns/SelectDeliveryList.vue | 0
TemperingGlassModule/MES-Module (1).iml | 139
UnLoadGlassModule/src/main/resources/JsonFile/sign.xlsx | 0
UnLoadGlassModule/src/main/resources/JsonFile/PlcSign.json | 460 +
UI-Project/src/views/Caching/caching.vue | 766 ++
CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java | 83
TemperingGlassModule/target/MES-Module-0.0.1-SNAPSHOT.jar.original | 0
TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst | 53
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue | 9
UnLoadGlassModule/target/classes/JsonFile/PlcRead.json | 195
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue | 114
UnLoadGlassModule/src/main/resources/JsonFile/alarm.xlsx | 0
UI-Project/package.json | 3
UnLoadGlassModule/src/main/resources/JsonFile/PlcRead.json | 195
UnLoadGlassModule/target/classes/JsonFile/PlcMes.json | 50
CacheGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java | 5
UI-Project/src/views/RegisterView.vue | 188
UnLoadGlassModule/target/classes/JsonFile/PlcSign.json | 460 +
UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue | 193
UnLoadGlassModule/mockPLCData.properties | 13
UnLoadGlassModule/src/main/java/com/mes/service/PLCAutoMes.java | 91
UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java | 139
UnLoadGlassModule/target/classes/JsonFile/test.xlsx | 0
UI-Project/src/assets/taimian.png | 0
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 90
UI-Project/src/views/StockBasicData/Payment.vue | 354 +
UI-Project/src/router/index.js | 893 --
UI-Project/src/utils/webSocket.js | 2
UnLoadGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java | 25
UI-Project/src/assets/88.png | 0
TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java | 2
UI-Project/src/layout/MainErpView.vue | 126
UnLoadGlassModule/src/main/java/com/mes/service/userInfo/UserService.java | 9
UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java | 15
TemperingGlassModule/target/maven-archiver/pom.properties | 3
UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java | 2
UI-Project/src/views/StockBasicData/Create.vue | 724 ++
CacheGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java | 89
UI-Project/src/assets/shangpianji.png | 0
UI-Project/src/assets/1.png | 0
UI-Project/src/assets/11.png | 0
UI-Project/src/assets/background.jpg | 0
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java | 3
CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java | 2
UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java | 40
UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java | 2
CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java | 142
CacheGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java | 1
TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java | 2
UI-Project/src/assets/woshihuancun.png | 0
UnLoadGlassModule/target/classes/JsonFile/PlcState.json | 285
UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json | 371 +
TemperingGlassModule/MES-Module.iml | 15
UI-Project/src/views/StockBasicData/stockBasicData.vue | 169
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 118
UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java | 56
UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java | 2
CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java | 202
UnLoadGlassModule/target/classes/JsonFile/PlcAlarm.json | 371 +
CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java | 20
UI-Project/src/assets/3.png | 0
/dev/null | 65
CacheGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java | 95
UI-Project/src/views/UnLoadGlass/UnLoadGlass.vue | 14
CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java | 2
UI-Project/src/views/Returns/SelectReturns.vue | 273
CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java | 117
TemperingGlassModule/src/main/java/com/mes/service/userInfo/UserService.java | 9
UI-Project/src/views/HomeView.vue | 28
UI-Project/package-lock.json | 15
CacheGlassModule/MES-Module.iml | 144
UnLoadGlassModule/target/classes/application.yml | 10
TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst | 1
UI-Project/vite.config.js | 2
152 files changed, 15,182 insertions(+), 2,006 deletions(-)
diff --git a/CacheGlassModule/MES-Module.iml b/CacheGlassModule/MES-Module.iml
index 1069076..74c9d74 100644
--- a/CacheGlassModule/MES-Module.iml
+++ b/CacheGlassModule/MES-Module.iml
@@ -1,133 +1,13 @@
-<?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="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" />
- <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>
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+ <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$/../../Code/HangZhouMes/CacheGlassModule/target/classes" />
+ <output-test url="file://$MODULE_DIR$/../../Code/HangZhouMes/CacheGlassModule/target/test-classes" />
+ <exclude-output />
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
</module>
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java b/CacheGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
index 9cc9e37..8ffee41 100644
--- a/CacheGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
+++ b/CacheGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -1,7 +1,9 @@
package com.mes.common.PlcTools;
-
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
+import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
@@ -9,15 +11,37 @@
import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
import com.google.common.primitives.Bytes;
+import org.apache.ibatis.jdbc.Null;
public class S7control {
S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-
- public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
if (s7PLC == null)
s7PLC = new S7PLC(plcType, ip, port,0,0);
- }
+ }
+ public S7control(EPlcType plcType,String ip,int port,int a,int b) {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,a,b);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null)
+ instance = new S7control();
+ }
+ }
+ return instance;
+ }
+
/**
* 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
*/
@@ -33,7 +57,7 @@
public boolean CheckConnected() {
return s7PLC.checkConnected();
}
-
+
/**
* 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
*
@@ -156,7 +180,7 @@
}
}
-
+
private int getIndexFromAddress(String address) {
@@ -181,7 +205,6 @@
public List<Short> ReadWord(String address, int count) {
if (s7PLC == null)
return null;
-
List<String> addresslist = GetAddressList(address, count, 16);
try {
return s7PLC.readInt16(addresslist);
@@ -191,7 +214,13 @@
return null;
}
}
-
+ public byte[] Readbyte(String address, int count) {
+ byte[] byt=new byte[count];
+ int wordcount=((count%2==0)?count/2:count+1);
+ List<Short> word=ReadWord(address,wordcount);
+
+ return byt;
+ }
/**
* 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
*
@@ -269,6 +298,41 @@
}
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
//涓嶈繛缁湴鍧�鍐欏叆Word
public void WriteWord(List<String> address, List<Short> datas) {
if (s7PLC == null)
@@ -300,7 +364,7 @@
glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
}
byte[] bytes = Bytes.toArray(glassidlist);
- WriteByte(addr, bytes);
+ S7control.getinstance().WriteByte(addr, bytes);
}
//璇诲彇涓嶈繛缁瓀ord
@@ -410,4 +474,11 @@
}
return addresslist;
}
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
+ public String readStrings(String addr) {
+ return s7PLC.readString(addr);
+ }
}
diff --git a/CacheGlassModule/src/main/java/com/mes/controller/OrderTestController.java b/CacheGlassModule/src/main/java/com/mes/controller/OrderTestController.java
deleted file mode 100644
index 2d24de4..0000000
--- a/CacheGlassModule/src/main/java/com/mes/controller/OrderTestController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.mes.controller;
-
-import com.mes.mapper.SelectInfo;
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import com.mes.common.Result;
-import com.mes.entity.Tempered;
-import com.mes.service.pp.SelectdppService;
-
-//@CrossOrigin //瑙e喅鍗曚釜controller 璺ㄥ煙闂
-@RestController
-@RequestMapping("/Temper")
-
-public class OrderTestController {
- @Autowired
- private SelectInfo SelectInfo;
-
- @Autowired
- private SelectdppService SelectppService;
-
- @GetMapping("/Tindex") //鏌ヨorder琛ㄧ粨鏋滈泦
- @ResponseBody
- public Result index(){
- System.out.println(1);
- List<Tempered> h=SelectppService.getSelectTempered("P24030707");
- System.out.println(h.size());
- return Result.seccess(h);
-
- }
-//
-// @PostMapping //鎻掑叆
-// public Integer save(@RequestBody Order order) {
-// return orderMapper.insert(order);
-// }
-//
-// @PostMapping("/update")
-// public Integer updateOrder(@RequestBody Order order) {
-// return orderMapper.update(order.getId(),order.getOrderid());
-// }
-//
-// @DeleteMapping("/{id}") //鍒犻櫎鏁版嵁
-// public Integer delete(@PathVariable Integer id) {
-// return orderMapper.deleteById(id);
-// }
-
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java b/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java
new file mode 100644
index 0000000..99d6d28
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java
@@ -0,0 +1,71 @@
+package com.mes.controller;
+
+import com.mes.mapper.SelectInfo;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.mes.common.Result;
+import com.mes.entity.Tempered;
+import com.mes.service.pp.SelectdppService;
+import com.mes.service.hangzhoumes.*;
+
+@RestController
+@RequestMapping("/TidyUpGlassModule")
+
+// TidyUpGlassModule 鐞嗙墖妯″潡
+public class TidyUpGlassModuleController {
+ @Autowired
+ private SelectInfo SelectInfo;
+
+ @Autowired
+ private SelectdppService SelectppService;
+
+ @Autowired
+ private hangzhoumesService hangzhoumesService;
+
+ @GetMapping("/SelectTerritoryInfo") // 鏌ヨ閽㈠寲鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+ @ResponseBody
+ public Result SelectTerritoryInfo(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
+ List<Tempered> h = SelectppService.SelectTemperedTerritory(ProcessId);
+ System.out.println(h.size()+":"+ProcessId);
+ return Result.seccess(h);
+ }
+
+ @GetMapping("/CutTerritory") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+ @ResponseBody
+ public Result CutTerritory(String ProcessId) {
+ List<Map> h = SelectppService.SelectCutTerritory(ProcessId);
+ System.out.println(h.size());
+ return Result.seccess(h);
+ }
+
+ @GetMapping("/SelectCutTerritory") // 璇嗗埆鏄剧ず 褰撳墠鐗堝浘
+ @ResponseBody
+ public Result SelectCutTerritory(String ProcessId) {
+ List<Map> h = SelectppService.SelectCutTerritory("P24032508");
+ System.out.println(h.size());
+ return Result.seccess(h);
+ }
+
+
+ @GetMapping("/SelectCageInfo") // 鏌ヨ绗煎唴淇℃伅
+ @ResponseBody
+ public Result SelectCageInfo(String ProcessId) {
+ List<Map> h = SelectppService.SelectCutTerritory("P24032508");
+ System.out.println(h.size());
+ return Result.seccess(h);
+ }
+
+
+ @GetMapping("/SelectEdgTask") //纾ㄨ竟浠诲姟
+ @ResponseBody
+ public Result SelectEdgTask(String ProcessId) {
+ List<Map> EdgTasks = hangzhoumesService.SelectEdgInfo("1");
+ System.out.println(EdgTasks.size());
+ return Result.seccess(EdgTasks);
+ }
+
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/TaskCache.java b/CacheGlassModule/src/main/java/com/mes/entity/TaskCache.java
new file mode 100644
index 0000000..f69f315
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/TaskCache.java
@@ -0,0 +1,15 @@
+package com.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
+@TableName("task_cache")
+public class TaskCache {
+ private String ID;//浠诲姟缂栧彿
+ private String startcell;//璧峰
+ private String endcell;//缁撴潫
+ private String tasktype;//浠诲姟绫诲瀷
+ private String taskstauts;//浠诲姟鐘舵��
+
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/InitUtil.java b/CacheGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
new file mode 100644
index 0000000..6d59bd3
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
@@ -0,0 +1,124 @@
+package com.mes.entity.device;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.mes.common.PlcTools.S7control;
+
+public class InitUtil {
+ //鍒濆鍖杦ord
+ public static PlcParameterObject initword(String jsonFilePath) {
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ PlcParameterObject plcParameterObject = new PlcParameterObject();
+ plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+ PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcParameterInfo.setCodeId(codeid);
+ plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+ //plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
+ plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
+ plcParameterInfo.setUnit(parameterObj.getStr("unit"));
+ plcParameterObject.addPlcParameter(plcParameterInfo);
+ }
+ // 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());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
+
+ return plcParameterObject;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //鍒濆鍖朾it
+ public static PlcBitObject initbit(String jsonFilePath) {
+ PlcBitObject plcBitObject = new PlcBitObject();
+
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+
+ PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcBitInfo.setCodeId(codeid);
+ plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+
+ plcBitObject.addPlcBit(plcBitInfo);
+ }
+ System.out.println("");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ //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);
+ return plcBitObject;
+ }
+
+//
+ 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());
+ 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());
+ plcParameterObject.setPlcParameterList(getplcvlues);
+ }
+
+
+
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java b/CacheGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
new file mode 100644
index 0000000..dcb707e
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
@@ -0,0 +1,95 @@
+package com.mes.entity.device;
+
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import static com.mes.entity.device.InitUtil.readAndUpdateWordValues;
+public class PLCAutoMes extends Thread {
+
+ // // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ // private Configuration config;
+ private static InitUtil initUtil;
+ // public static PlcParameterObject PlcMesObject;
+ // public static PlcParameterObject PlcReadObject;
+ // public static PlcParameterObject PlcframeObject;
+
+ // // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ // MessageHandler customS7Control = new MessageHandler();
+
+ // 鍗曚緥瀹炰緥
+ private static PLCAutoMes instance;
+ // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
+ private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.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 PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
+ // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
+ // public static PlcBitObject plcBitObject = initUtil.initbit(PlcSign);
+ // public static PlcParameterObject plcStateObject= initUtil.initword(PlcState);
+ // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
+ // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
+
+ // 绉佹湁鏋勯�犲嚱鏁�
+ public PLCAutoMes() throws IOException {
+ //config = new Configuration("config.properties");
+ 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));
+
+ }
+ }
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
new file mode 100644
index 0000000..78846f9
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
@@ -0,0 +1,77 @@
+package com.mes.entity.device;
+
+
+
+public class PlcBitInfo {
+
+ public PlcBitInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private Boolean value;
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getValue() {
+ return this.value;
+ }
+
+ public void setValue(Boolean value) {
+ this.value = value;
+ }
+
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ if (stringdatas.length < 2 )
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+ dbwindex+=index/8;
+ bitindex+=index%8;
+ return stringdatas[0]+"."+dbwindex+"."+bitindex;
+ }
+
+
+
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+ }
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
new file mode 100644
index 0000000..977a13c
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
@@ -0,0 +1,142 @@
+package com.mes.entity.device;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcBitObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcBitInfo> plcBitList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcBitInfo> getBitList() {
+ return plcBitList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcBitInfo getPlcBit(String codeid) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ if (plcbitInfo.getCodeId().equals(codeid))
+ return plcbitInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<Boolean> getPlcBitValues(List<String> codeids) {
+ List<Boolean> arrayList = new ArrayList<>();
+ if (plcBitList != null) {
+ Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (codeids.contains(plcBitInfo.getCodeId().toString())) {
+ resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue());
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ Boolean value = resultMap.get(codeId);
+ if (value != null) {
+ arrayList.add(value);
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (plcBitInfo.getCodeId().equals(codeId)) {
+ int index = plcBitInfo.getAddressIndex();
+ String address = plcBitInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcBit(PlcBitInfo param) {
+ if (plcBitList != null)
+ plcBitList.add(param);
+ else {
+ plcBitList = new ArrayList<PlcBitInfo>();
+ plcBitList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcBitList(List<Boolean> plcValueArray) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex()));
+ }
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
new file mode 100644
index 0000000..b4a2051
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
@@ -0,0 +1,128 @@
+package com.mes.entity.device;
+public class PlcParameterInfo {
+ public PlcParameterInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private String value;
+
+ // // 鍐欏叆 鍙傛暟鍊�
+ // private String writeValue;
+
+ // 鍙傛暟鍗曚綅
+ private String unit;
+
+ // 鍙傛暟鍊艰浆鎹㈢郴鏁�
+ private int ratio;
+
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ // 鍙傛暟鍦板潃浣嶉暱搴�
+ private int addressLength;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ // public String getWriteValue() {
+ // return this.writeValue;
+ // }
+
+ // public void setWriteValue(String writeValue) {
+ // this.writeValue = writeValue;
+ // }
+
+ public String getUnit() {
+ return this.unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+
+ public int getAddressLength() {
+ return this.addressLength;
+ }
+
+ public void setAddressLength(int addresslength) {
+ this.addressLength = addresslength;
+ }
+
+ public int getRatio() {
+ return this.ratio;
+ }
+
+ public void setRatio(int ratio) {
+ this.ratio = ratio;
+ }
+
+
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ int addressLength=this.addressLength;
+ if (addressLength < 2 ){
+ return null;
+ }
+
+ if (addressLength == 2 ) {
+ int wordindex = index;
+
+ return stringdatas[0] + "." + wordindex;
+ }
+ if (addressLength == 14 ) {
+ int wordindex = index;
+ //int newIndex = wordindex + 13;
+ return stringdatas[0] + "." + wordindex ;
+ }
+ return null;
+ }
+
+ public int getPlcAddress() {
+
+ return addressIndex;
+ }
+ public String getAddress() {
+ return getAddress(this.addressIndex);
+ }
+}
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
new file mode 100644
index 0000000..5355db5
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
@@ -0,0 +1,202 @@
+package com.mes.entity.device;
+
+import java.lang.reflect.Array;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcParameterObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcParameterInfo> plcParameterList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcParameterInfo> getPlcParameterList() {
+ return plcParameterList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcParameterInfo getPlcParameter(String codeid) {
+ if (plcParameterList != null) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeid))
+ return plcParameterInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeids 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<String> getPlcParameterValues(List<String> codeids) {
+ List<String> arrayList = new ArrayList<>();
+ if (plcParameterList != null) {
+ Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (codeids.contains(plcParameterInfo.getCodeId())) {
+ resultMap.put(plcParameterInfo.getCodeId(), plcParameterInfo);
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ PlcParameterInfo plcParameterInfo = resultMap.get(codeId);
+ if (plcParameterInfo != null) {
+ arrayList.add(plcParameterInfo.getValue());
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeId)) {
+ int index = plcParameterInfo.getAddressIndex();
+ String address = plcParameterInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+
+
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcParameter(PlcParameterInfo param) {
+ if (plcParameterList != null)
+ plcParameterList.add(param);
+ else {
+ plcParameterList = new ArrayList<PlcParameterInfo>();
+ plcParameterList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcParameterList(byte[] plcValueArray) {
+ if (plcParameterList != null) {
+
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+
+ byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
+
+// System.out.println(plcParameterInfo.getAddressLength());
+
+ for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) {
+ Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
+
+ }
+ if (plcParameterInfo.getAddressLength()==2) {
+ plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+ }
+ else if (plcParameterInfo.getAddressLength()==14) {
+ plcParameterInfo.setValue((byteToHexString(valueList)));
+ }
+
+ else
+ {
+ String valuestr = new String(valueList);
+ plcParameterInfo.setValue(valuestr);
+ }
+ }
+ }
+ }
+ /**
+ * short绫诲瀷杞琤yte[]
+ *
+ * @param s short绫诲瀷鍊�
+ */
+ public static byte[] short2byte(short s){
+ byte[] b = new byte[2];
+ for(int i = 0; i < 2; i++){
+ int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+ b[i] = (byte)((s >> offset)&0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
+ }
+ return b;
+ }
+ /**
+ * byte[]绫诲瀷杞瑂hort
+ *
+ * @param b byte[]绫诲瀷鍊�
+ */
+ public static short byte2short(byte[] b){
+ short l = 0;
+ for (int i = 0; i < 2; i++) {
+ l<<=8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+ l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑 l = l | (b[i]&0xff)
+ }
+ return l;
+ }
+
+ public static String byteToHexString(byte[] bytes) {
+
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ return str;
+ }
+
+
+}
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java b/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
index 2b65272..e8bcfe2 100644
--- a/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
@@ -1,30 +1,85 @@
package com.mes.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.entity.EdgStorageCageDetails;
import com.mes.entity.GlassInfo;
-import com.mes.entity.OrderTest;
+import com.mes.entity.TaskCache;
import com.mes.entity.Tempered;
import java.util.List;
+import java.util.Map;
import org.apache.ibatis.annotations.*;
@Mapper
public interface SelectInfo {
- //鐜荤拑淇℃伅 鎸塈D鏌ヨ
+ // 鐜荤拑淇℃伅 鎸塈D鏌ヨ
@Select("select * from `glass_info` where id=#{id}")
GlassInfo SelectGlassId(String id);
- //閽㈠寲鎸夊伐绋嬫煡璇�
+ // 閽㈠寲鎸夊伐绋嬫煡璇�
@Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
- List<Tempered> SelectTempered(String projeceid);
-//
-// @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
-// Integer insert(Order order);
-//
-// @Delete("delete from `order` where id=#{id}")
-// Integer deleteById(@Param("id") Integer id);
-//
-// @Update("update `order` set order_id=#{order_id} where id=#{id}")
-// Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
+ List<Tempered> SelectTemperedTerritory(String projeceid);
+
+ // 鍒囧壊鐗堝浘鎸夊伐绋嬫煡璇�
+ @Select("select * from optimize_detail where project_no=#{projeceid} ")
+ List<Map> SelectCutTerritory(String projeceid);
+
+ // 鏌ヨ纾ㄨ竟淇℃伅
+ @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
+ List<Map> SelectEdgInfo(String EndCell);
+
+ // 鏌ヨ绗煎瓙鍐呯┖闂�
+ @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
+ List<EdgStorageCageDetails> SelectCacheLeisure();
+
+ // 鏌ヨ绗煎瓙鍐呭嚭鐗囦换鍔�
+ @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot WHERE escd.slot IS NOT NULL order by escd.tempering_layout_id,escd.tempering_feed_sequence")
+ List<EdgStorageCageDetails> SelectCacheOut();
+
+ // 鏌ヨ绗煎瓙鍐呬俊鎭�
+ @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+ List<EdgStorageCageDetails> SelectCachInfo();
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
+ List<EdgStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
+ double width);
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
+ List<EdgStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, double width);
+
+ // 鏌ヨ鍏ㄩ儴浠诲姟
+ @Select("select * from task_cache")
+ List<TaskCache> SelectCacheInfoAll();
+
+ // 鏌ヨ杩涚墖浠诲姟
+ @Select("select * from task_cache where task_type='1' and task_stauts='0'")
+ List<TaskCache> SelectInputCacheInfo();
+
+ // 鏌ヨ鍑虹墖浠诲姟
+ @Select("select * from task_cache where task_type='2' and task_stauts='0'")
+ List<TaskCache> SelectOutCacheInfo();
+
+ // 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
+ GlassInfo SelectLastOutCacheInfo(String EndCell);
+
+ // 淇敼绗煎瓙鍐呬俊鎭�
+ @Update("update")
+ Integer UpdateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+
+ // 娣诲姞鐞嗙墖浠诲姟
+ @Insert("INSERT into task_cache VALUES(#{id},#{start},#{end},#{type},0)")
+ Integer insertCacheTask(String id, String start, String end, String type);
+
+ //
+ // @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
+ // Integer insert(Order order);
+ //
+ // @Delete("delete from `order` where id=#{id}")
+ // Integer deleteById(@Param("id") Integer id);
+ //
+ // @Update("update `order` set order_id=#{order_id} where id=#{id}")
+ // Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
}
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
index 206d159..4b42b5f 100644
--- a/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
@@ -8,6 +8,9 @@
@Mapper
public interface SysMenuItemMapper {
- @Select("select * from sys_menu_item")
+
+ @Select("select * from `sys_menu_item` as a where a.state=1 order by a.menuId,a.listSort;")
+
+
List<SysMenuItem> findAll() ;
}
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
index a2bf58d..0453572 100644
--- a/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
@@ -17,6 +17,7 @@
User findOne(Integer id);
@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} ")
diff --git a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
index eb7da04..f239f84 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
@@ -1,10 +1,16 @@
package com.mes.service.CacheGlassService;
+import java.util.List;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mes.common.PlcTools.S7control;
+import com.mes.entity.EdgStorageCageDetails;
import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.device.PLCAutoMes;
+import com.mes.entity.device.PlcParameterObject;
import com.mes.mapper.SelectInfo;
@@ -12,11 +18,12 @@
public class Logic {
@Autowired
private SelectInfo selectInfo;
- //璇嗗埆閫昏緫
+ //璇嗗埆閫昏緫 涓嶄氦浜�
public void identify(String Number){
//鏌ヨ浠诲姟
- // PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
boolean isexist=isExist(Number);
if (isexist) {
//瀛樺湪閫昏緫 1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
@@ -26,22 +33,111 @@
//S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
}
}
+ //鐞嗙墖
+ public void Process(){
+ String Result=S7control.getinstance().ReadWord("DB14.0", 1).get(0)+"";
+ String Number=S7control.getinstance().ReadWord("DB14.2", 1).get(0)+"";
+ if(Result=="1"){//杩涚墖璇锋眰
+ processInto(Number);
+ }else if(Result=="2"){//鍑虹墖璇锋眰
+ processOut();
+ }else if(Result=="3"){//杩涘嚭鐗囪姹�
+ if (!processOut()) { //鍏堝嚭鍚庤繘
+ processInto(Number);
+ }
+ }
+ }
//鐞嗙墖 杩�
- public void process(String imagePath){
+ public boolean processInto(String Number){
//鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
-
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�
+ //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+ List<EdgStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
+ //绌烘爡鏍煎彿
+ if (list.size()==0) {
+ list=selectInfo.SelectCacheLeisure();
+ }
+ //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+ if(list.size()==0){
+ list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
+ }
+ if(list.size()>0){
+ //瀛樺湪绌烘牸
+ //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級
+ //2.鍥炲 1杩涚墖
+ EdgStorageCageDetails item=list.get(0);
+ selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ return true;
+ }
+
+ }else{
+ // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず
+ }
//杩斿洖缁撴灉
+ return false;
}
//鐞嗙墖 鍑�
- public void processOut(String imagePath){
+ public boolean processOut(){
//鏌ヨ浠诲姟
-
+ String A09=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
+ String A10=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ List<EdgStorageCageDetails> list=selectInfo.SelectCacheOut();
+ boolean isOut=true;//鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
+ if (list.size()>0&&isOut) {
+ EdgStorageCageDetails item=list.get(0);
+ if(A09=="0"&&A10=="1"){
+ //鍑哄埌 A09
+ selectInfo.insertCacheTask(item.getGlassid()+"","0","09","2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }else if(A09=="1"&&A10=="0"){
+ //鍑哄埌 A10
+ selectInfo.insertCacheTask(item.getGlassid()+"","0","10","2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }else if(A09=="0"&&A10=="0"){
+ //閮藉厑璁� A09/A10 涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓
+ String endcell="09";
+ String SendEndcell="1";
+ boolean If_=false;
+ GlassInfo glassInfo09= selectInfo.SelectLastOutCacheInfo("09");
+ GlassInfo glassInfo10= selectInfo.SelectLastOutCacheInfo("10");
+ if(glassInfo10!=null&&glassInfo10.getWidth()==item.getWidth()&&glassInfo10.getHeight()==item.getHeight()){
+ endcell="10";
+ SendEndcell="2";
+ }else if(glassInfo10!=null&&If_){
+ //鍏朵粬鏉′欢
+ }
+ selectInfo.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ }
//杩斿洖缁撴灉
+ return false;
}
- //纾ㄨ竟
- public void processMb(String imagePath){
- //鏌ヨ浠诲姟
+ //纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+ public void processMb(String Number){
+ //鏌ヨ浠诲姟
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ if(GlassInfo!=null){
+ //鍙戦�佷换鍔� ID 闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ }
//杩斿洖缁撴灉
}
@@ -63,6 +159,7 @@
}
return true;//杩斿洖 瀛樺湪
}
+
//鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
public boolean isExist(String Number){
//鏌ヨ鏄惁瀛樺湪
diff --git a/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java b/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
new file mode 100644
index 0000000..6ff9ab2
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
@@ -0,0 +1,41 @@
+package com.mes.service.hangzhoumes;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.EdgStorageCageDetails;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.Tempered;
+import com.mes.mapper.SelectInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+@DS("hangzhoumes")
+public class hangzhoumesService {
+
+ @Autowired
+ private SelectInfo SelectInfo;
+
+ public GlassInfo getUserInfo(String process_id){
+ return SelectInfo.SelectGlassId(process_id);
+ }
+ // //璇嗗埆淇℃伅
+ // public List<Map> SelectCutTerritory(String process_id){
+ // return SelectInfo.SelectCutTerritory(process_id);
+ // }
+
+ //鐞嗙墖缂撳瓨 绗煎唴淇℃伅
+ public List<EdgStorageCageDetails> SelectCageInfo(){
+ return SelectInfo.SelectCachInfo();
+ }
+
+ //纾ㄨ竟灏忕墖淇℃伅
+ public List<Map> SelectEdgInfo(String line){
+
+ return SelectInfo.SelectEdgInfo(line);
+ }
+
+}
+
diff --git a/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java b/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java
index c139c0d..2eecb75 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java
@@ -1,24 +1,14 @@
package com.mes.service.pp;
-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.entity.GlassInfo;
import com.mes.entity.Tempered;
-import com.mes.entity.userInfo.User;
import com.mes.mapper.SelectInfo;
-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;
+import java.util.Map;
@Service
@DS("pp")
@@ -31,8 +21,12 @@
return SelectInfo.SelectGlassId(process_id);
}
- public List<Tempered> getSelectTempered(String process_id){
- return SelectInfo.SelectTempered(process_id);
+ public List<Tempered> SelectTemperedTerritory(String process_id){
+ return SelectInfo.SelectTemperedTerritory(process_id);
+ }
+ //鍒囧壊鐗堝浘
+ public List<Map> SelectCutTerritory(String process_id){
+ return SelectInfo.SelectCutTerritory(process_id);
}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
index 004399b..9940470 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
@@ -7,7 +7,7 @@
import org.springframework.stereotype.Service;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysErrorService {
private final SysErrorMapper sysErrorMapper;
diff --git a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
index 6efd838..ee38452 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuItemService {
@Autowired
SysMenuItemMapper sysMenuItemMapper;
diff --git a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
index 278b057..55f8fc6 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuService {
@Autowired
private SysMenuMapper sysMenuMapper;
diff --git a/CacheGlassModule/src/main/java/com/mes/service/userInfo/UserService.java b/CacheGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
index 08fb8dd..0652226 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
@@ -18,7 +18,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class UserService {
@Autowired
diff --git a/CacheGlassModule/src/main/resources/application.yml b/CacheGlassModule/src/main/resources/application.yml
index d74069d..079ce3c 100644
--- a/CacheGlassModule/src/main/resources/application.yml
+++ b/CacheGlassModule/src/main/resources/application.yml
@@ -7,21 +7,11 @@
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
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
+ 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
diff --git a/CacheGlassModule/src/main/resources/banner.txt b/CacheGlassModule/src/main/resources/banner.txt
new file mode 100644
index 0000000..b4027f0
--- /dev/null
+++ b/CacheGlassModule/src/main/resources/banner.txt
@@ -0,0 +1,32 @@
+________ ________ ___ _____________ ____
+`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 銆�銆�//
\ No newline at end of file
diff --git a/CacheGlassModule/target/classes/application.yml b/CacheGlassModule/target/classes/application.yml
index d74069d..079ce3c 100644
--- a/CacheGlassModule/target/classes/application.yml
+++ b/CacheGlassModule/target/classes/application.yml
@@ -7,21 +7,11 @@
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
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
+ 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
diff --git "a/TemperingGlassModule/MES-Module \0501\051.iml" "b/TemperingGlassModule/MES-Module \0501\051.iml"
new file mode 100644
index 0000000..100b632
--- /dev/null
+++ "b/TemperingGlassModule/MES-Module \0501\051.iml"
@@ -0,0 +1,139 @@
+<?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>
\ No newline at end of file
diff --git a/TemperingGlassModule/MES-Module.iml b/TemperingGlassModule/MES-Module.iml
new file mode 100644
index 0000000..ddaeab8
--- /dev/null
+++ b/TemperingGlassModule/MES-Module.iml
@@ -0,0 +1,15 @@
+<?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>
\ No newline at end of file
diff --git a/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java b/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
index 0bf0923..08baad9 100644
--- a/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
+++ b/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
@@ -2,11 +2,13 @@
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() ;
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java b/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
index 53e9856..dc3b242 100644
--- a/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
+++ b/TemperingGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
@@ -16,9 +16,8 @@
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);
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
index 004399b..9940470 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
@@ -7,7 +7,7 @@
import org.springframework.stereotype.Service;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysErrorService {
private final SysErrorMapper sysErrorMapper;
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
index 6efd838..ee38452 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuItemService {
@Autowired
SysMenuItemMapper sysMenuItemMapper;
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
index 278b057..55f8fc6 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuService {
@Autowired
private SysMenuMapper sysMenuMapper;
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/UserService.java b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
index 08fb8dd..e172f10 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
@@ -2,23 +2,18 @@
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
diff --git a/TemperingGlassModule/src/main/resources/application.yml b/TemperingGlassModule/src/main/resources/application.yml
index d74069d..a85e82a 100644
--- a/TemperingGlassModule/src/main/resources/application.yml
+++ b/TemperingGlassModule/src/main/resources/application.yml
@@ -2,31 +2,17 @@
server:
port: 8080
servlet:
- context-path: /mesModuleTools
+ context-path: /mesModuleTools
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
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
\ No newline at end of file
diff --git a/TemperingGlassModule/target/MES-Module-0.0.1-SNAPSHOT.jar.original b/TemperingGlassModule/target/MES-Module-0.0.1-SNAPSHOT.jar.original
new file mode 100644
index 0000000..5562d4d
--- /dev/null
+++ b/TemperingGlassModule/target/MES-Module-0.0.1-SNAPSHOT.jar.original
Binary files differ
diff --git a/TemperingGlassModule/target/maven-archiver/pom.properties b/TemperingGlassModule/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..f4d443d
--- /dev/null
+++ b/TemperingGlassModule/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=MES-Module
+groupId=com.MES-Module
+version=0.0.1-SNAPSHOT
diff --git a/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..8c9427b
--- /dev/null
+++ b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,54 @@
+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
diff --git a/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..9a930c2
--- /dev/null
+++ b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,53 @@
+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
diff --git a/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..9c25a83
--- /dev/null
+++ b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+com\mes\MesApplicationTests.class
diff --git a/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..5b92fc7
--- /dev/null
+++ b/TemperingGlassModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+D:\xm4\HangZhouMes\TemperingGlassModule\src\test\java\com\mes\MesApplicationTests.java
diff --git a/TemperingGlassModule/target/surefire-reports/TEST-com.mes.MesApplicationTests.xml b/TemperingGlassModule/target/surefire-reports/TEST-com.mes.MesApplicationTests.xml
new file mode 100644
index 0000000..4a1f5d8
--- /dev/null
+++ b/TemperingGlassModule/target/surefire-reports/TEST-com.mes.MesApplicationTests.xml
@@ -0,0 +1,65 @@
+<?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>
\ No newline at end of file
diff --git a/TemperingGlassModule/target/surefire-reports/com.mes.MesApplicationTests.txt b/TemperingGlassModule/target/surefire-reports/com.mes.MesApplicationTests.txt
new file mode 100644
index 0000000..93941f7
--- /dev/null
+++ b/TemperingGlassModule/target/surefire-reports/com.mes.MesApplicationTests.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: com.mes.MesApplicationTests
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.389 s - in com.mes.MesApplicationTests
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 201fb02..ac9f2b1 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,4 +1,5 @@
export default {
- serverUrl:"localhost:8080/mesModuleTools"
+ serverUrl:"localhost:8080/mesModuleTools",
+ serverUrl2:"localhost:8081/mesModuleTools"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/index.html b/UI-Project/index.html
index 03b130f..e96cd5a 100644
--- a/UI-Project/index.html
+++ b/UI-Project/index.html
@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8">
- <link rel="icon" href="/favicon.ico">
+ <!-- <link rel="icon" href="/favicon.ico"> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>鍖楃幓</title>
</head>
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index dce25ad..a7386d3 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -1,11 +1,11 @@
{
- "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",
@@ -16,6 +16,7 @@
"pinia": "^2.1.6",
"pinia-plugin-persistedstate": "^3.2.0",
"sortablejs": "^1.15.1",
+ "sweetalert2": "^11.10.7",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
@@ -1405,6 +1406,11 @@
"node": ">=0.8"
}
},
+ "node_modules/sweetalert2": {
+ "version": "11.10.7",
+ "resolved": "https://registry.npmmirror.com/sweetalert2/-/sweetalert2-11.10.7.tgz",
+ "integrity": "sha512-5Jlzrmaitay6KzU+2+LhYu9q+L4v/dZ8oZyEDH14ep0C/QilCnFLHmqAyD/Lhq/lm5DiwsOs6Tr58iv8k3wyGg=="
+ },
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -2440,6 +2446,11 @@
"frac": "~1.1.2"
}
},
+ "sweetalert2": {
+ "version": "11.10.7",
+ "resolved": "https://registry.npmmirror.com/sweetalert2/-/sweetalert2-11.10.7.tgz",
+ "integrity": "sha512-5Jlzrmaitay6KzU+2+LhYu9q+L4v/dZ8oZyEDH14ep0C/QilCnFLHmqAyD/Lhq/lm5DiwsOs6Tr58iv8k3wyGg=="
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
diff --git a/UI-Project/package.json b/UI-Project/package.json
index 7a8a0c3..75d8054 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -1,5 +1,5 @@
{
- "name": "northglass-erp",
+ "name": "northglass-mes",
"version": "0.0.0",
"private": true,
"scripts": {
@@ -16,6 +16,7 @@
"pinia": "^2.1.6",
"pinia-plugin-persistedstate": "^3.2.0",
"sortablejs": "^1.15.1",
+ "sweetalert2": "^11.10.7",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
diff --git a/UI-Project/src/assets/1.png b/UI-Project/src/assets/1.png
new file mode 100644
index 0000000..eea5301
--- /dev/null
+++ b/UI-Project/src/assets/1.png
Binary files differ
diff --git a/UI-Project/src/assets/11.png b/UI-Project/src/assets/11.png
new file mode 100644
index 0000000..46f9af1
--- /dev/null
+++ b/UI-Project/src/assets/11.png
Binary files differ
diff --git a/UI-Project/src/assets/2.png b/UI-Project/src/assets/2.png
new file mode 100644
index 0000000..470e6eb
--- /dev/null
+++ b/UI-Project/src/assets/2.png
Binary files differ
diff --git a/UI-Project/src/assets/3.png b/UI-Project/src/assets/3.png
new file mode 100644
index 0000000..4900b6c
--- /dev/null
+++ b/UI-Project/src/assets/3.png
Binary files differ
diff --git a/UI-Project/src/assets/88.png b/UI-Project/src/assets/88.png
new file mode 100644
index 0000000..365e1ad
--- /dev/null
+++ b/UI-Project/src/assets/88.png
Binary files differ
diff --git a/UI-Project/src/assets/9.png b/UI-Project/src/assets/9.png
new file mode 100644
index 0000000..3e37ece
--- /dev/null
+++ b/UI-Project/src/assets/9.png
Binary files differ
diff --git a/UI-Project/src/assets/aaa.png b/UI-Project/src/assets/aaa.png
new file mode 100644
index 0000000..be775d6
--- /dev/null
+++ b/UI-Project/src/assets/aaa.png
Binary files differ
diff --git a/UI-Project/src/assets/background.jpg b/UI-Project/src/assets/background.jpg
new file mode 100644
index 0000000..4c726c9a
--- /dev/null
+++ b/UI-Project/src/assets/background.jpg
Binary files differ
diff --git a/UI-Project/src/assets/bigcar01.png b/UI-Project/src/assets/bigcar01.png
new file mode 100644
index 0000000..98a0a0e
--- /dev/null
+++ b/UI-Project/src/assets/bigcar01.png
Binary files differ
diff --git a/UI-Project/src/assets/dipan.png b/UI-Project/src/assets/dipan.png
new file mode 100644
index 0000000..923b811
--- /dev/null
+++ b/UI-Project/src/assets/dipan.png
Binary files differ
diff --git a/UI-Project/src/assets/emi.png b/UI-Project/src/assets/emi.png
new file mode 100644
index 0000000..815024a
--- /dev/null
+++ b/UI-Project/src/assets/emi.png
Binary files differ
diff --git a/UI-Project/src/assets/main.css b/UI-Project/src/assets/main.css
index 20218a4..e9c78e5 100644
--- a/UI-Project/src/assets/main.css
+++ b/UI-Project/src/assets/main.css
@@ -3,12 +3,13 @@
#app {
margin: 0 auto;
padding: 0;
- background-color: #D5EAFF;
+ /* background-color: #D5EAFF; */
font-weight: normal;
height: 100%;
width: 100%;
- min-width: 1536px;
- min-height: 730px;
+ /* min-width: 1536px; */
+ /* min-height: 730px; */
+ /* background-image: url("../../src/assets/background.jpg"); */
}
a,
diff --git a/UI-Project/src/assets/s.png b/UI-Project/src/assets/s.png
new file mode 100644
index 0000000..2caf181
--- /dev/null
+++ b/UI-Project/src/assets/s.png
Binary files differ
diff --git a/UI-Project/src/assets/shangpianji .png b/UI-Project/src/assets/shangpianji .png
new file mode 100644
index 0000000..fb645ca
--- /dev/null
+++ b/UI-Project/src/assets/shangpianji .png
Binary files differ
diff --git a/UI-Project/src/assets/shangpianji.png b/UI-Project/src/assets/shangpianji.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/UI-Project/src/assets/shangpianji.png
diff --git a/UI-Project/src/assets/sz.png b/UI-Project/src/assets/sz.png
new file mode 100644
index 0000000..fc3e92b
--- /dev/null
+++ b/UI-Project/src/assets/sz.png
Binary files differ
diff --git a/UI-Project/src/assets/taimian.png b/UI-Project/src/assets/taimian.png
new file mode 100644
index 0000000..81e0723
--- /dev/null
+++ b/UI-Project/src/assets/taimian.png
Binary files differ
diff --git a/UI-Project/src/assets/user.png b/UI-Project/src/assets/user.png
new file mode 100644
index 0000000..7c774be
--- /dev/null
+++ b/UI-Project/src/assets/user.png
Binary files differ
diff --git a/UI-Project/src/assets/woshihuancun.png b/UI-Project/src/assets/woshihuancun.png
new file mode 100644
index 0000000..25fb5fb
--- /dev/null
+++ b/UI-Project/src/assets/woshihuancun.png
Binary files differ
diff --git a/UI-Project/src/assets/xmjc.png b/UI-Project/src/assets/xmjc.png
new file mode 100644
index 0000000..dee5f48
--- /dev/null
+++ b/UI-Project/src/assets/xmjc.png
Binary files differ
diff --git a/UI-Project/src/assets/xmjclzh.png b/UI-Project/src/assets/xmjclzh.png
new file mode 100644
index 0000000..5935f14
--- /dev/null
+++ b/UI-Project/src/assets/xmjclzh.png
Binary files differ
diff --git a/UI-Project/src/components/ComputedTest.vue b/UI-Project/src/components/ComputedTest.vue
deleted file mode 100644
index 8ddad0f..0000000
--- a/UI-Project/src/components/ComputedTest.vue
+++ /dev/null
@@ -1,47 +0,0 @@
-<template>
- <div>
- {{ a }}
- <br><br>
- {{ result }}
- <br><br>
- {{ b }}
- <br><br>
- <el-button @click="b++">123123</el-button>
-
- <br><br>
- {{ '鐖剁粍浠朵紶鍊肩粰瀛愮粍浠讹細'+car }}
-
- <br><br>
- <el-button @click="gaveParent">瀛愮粍浠朵紶閫掓暟鎹粰鐖剁粍浠�</el-button>
- </div>
-</template>
-<script setup>
- import {ref,computed,watch,defineProps,defineEmits} from 'vue'
- let a = $ref([1,2,3,4,5,6])
- let b =ref(0)
-
- let props = defineProps({
- car:{
- String,
- default:0
- }
- })
-
- const emit = defineEmits(['changeNum'])
- const gaveParent = () => {
- emit('changeNum','瀛愮粍浠剁粰鐖剁粍浠朵紶鍊间簡')
- }
-
- //浣跨敤璁$畻灞炴�ц繃婊ゅ嚭鏁扮粍涓皬浜�2鐨�
- const result=computed( () => {
- return a.filter(item => item>2)
- })
-
- watch(b,(newValue,oldValue) => {
- console.log("鏀瑰彉浜嗗綋鍓嶅�硷細"+newValue+" "+oldValue)
- })
-
-</script>
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/components/basic/BasicTable.vue b/UI-Project/src/components/basic/BasicTable.vue
deleted file mode 100644
index 6cb5437..0000000
--- a/UI-Project/src/components/basic/BasicTable.vue
+++ /dev/null
@@ -1,675 +0,0 @@
-<template>
- <div style="width: 100%;height: 100%;" >
- <!-- 姝e父鍖哄煙鐨勬 -->
- <div class="vxe-table--cell-area" ref="cellarea">
- <span class="vxe-table--cell-main-area"></span>
- <span class="vxe-table--cell-active-area"></span>
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- @scroll ="scrollEvnt"
-
- >
-<!-- @toolbar-button-click="toolbarButtonClickEvent"-->
-<!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <template #content="{ row }">
- <ul class="expand-wrapper">
- <li v-for="(item,key) in row">
- <span style="font-weight: bold">{{key+': '}}</span>
- <span>{{ item }}</span>
- </li>
- </ul>
- </template>
-
-<!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
- <template #button_slot="{ row }">
- <el-button @click="gaveParent(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="gaveParent(row,'delete')" 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>
-
-<script lang="ts" setup>
-import {ref, reactive, defineEmits, onMounted, nextTick, toRef, watch} from 'vue'
-import {VxeGridProps, VXETable} from 'vxe-table'
-import request from "@/utils/request"
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import router from "@/router";
-//prop鎺ユ敹鐖剁粍浠跺嚱鏁�
-
-
-
-let props = defineProps({
- tableProp:{
- String,
- default: ''
- }
-})
-
-//瀛愭柟娉曡皟鐢ㄧ埗鏂规硶
-let emit = defineEmits([
- 'getChildren',
- 'getFilterChildren',
- 'getCheckList',
- ])
-const gaveParent = (row,type)=> {
- emit('getChildren',row,type)
-}
-//椤佃剼姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-
-//瑙﹀彂绛涢�夋潯浠�
-function filterChanged(column){
- let value = column.datas[0]!=undefined?column.datas[0]:''
- value = value===''?'n*':value.trim()
- props.tableProp.filter[column.field]=value
-}
-const xGrid = ref()
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'demo_1',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true , gt: 40},//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- columns:props.tableProp.title,//琛ㄥご鍙傛暟
- toolbarConfig: {
- buttons: props.tableProp.buttons,
- // buttons: [
- // { code: 'myInsert', name: '鏂板' },
- // { code: 'deleteList', name: '鍒犻櫎' },
- // { code: 'checkList', name: '鎻愪氦' },
- // // { code: 'mySave', name: '淇濆瓨', status: 'success' },
- // //{ code: 'myExport', name: '瀵煎嚭鏁版嵁', type: 'text', status: 'warning' },
- // // {
- // // name: '绂佺敤鎸夐挳',
- // // disabled: false,
- // // dropdowns: [
- // // { code: 'other1', name: '涓嬫媺鐨勬寜閽�1', type: 'text', disabled: false },
- // // { code: 'other2', name: '涓嬫媺鐨勬寜閽�2', type: 'text', disabled: true },
- // // { code: 'other3', name: '涓嬫媺鐨勬寜閽�3', type: 'text', disabled: false }
- // // ]
- // // }
- // ],
- // tools: [
- // { code: 'myPrint', name: '鑷畾涔夋墦鍗�' }
- // ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: props.tableProp.datas,//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 'checkList': {
- if($grid.getCheckboxRecords().length==0){
- VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }
- emit('getCheckList',$grid.getCheckboxRecords())
- break
- }
- case 'deleteList': {
- $grid.removeCheckboxRow()
- break
- }
- case 'myInsert': {
- $grid.insert({})
- console.log($grid.getRecordset().insertRecords)
- break
- }
- case 'mySave': {
- const { insertRecords, removeRecords, updateRecords } = $grid.getRecordset()
- VXETable.modal.message({ content: `鏂板 ${insertRecords.length} 鏉★紝鍒犻櫎 ${removeRecords.length} 鏉★紝鏇存柊 ${updateRecords.length} 鏉, status: 'success' })
- break
- }
- case 'myExport': {
- $grid.exportData({
- type: 'csv'
- })
- break
- }
- }
- }
- },
- toolbarToolClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
- }
- },
-}
-
-
-
-/*
-//榧犳爣婊戝姩閫変腑
-let isSelecting = ref(false) // 鏄惁姝e湪杩涜閫夋嫨鎿嶄綔,榛樿涓篺alse
-let selectionStart = reactive({ rowIndex: -1, cellIndex: -1 }) // 閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
-let selectionEnd = reactive({ rowIndex: -1, cellIndex: -1 }) // 閫夋嫨鎿嶄綔缁撴潫鍗曞厓鏍间綅缃�
-
-onMounted(() => {
- addListener()
-})
-
-
-
-let cellarea = ref()
-let leftfixedcellarea = ref()
-let rightfixedcellarea = ref()
-
-//杩斿洖table鐨剅ef鍚嶇О
-const getTablexGrid = () => {
- return xGrid.value
-}
-
-const addListener = () => {
- //娣诲姞澶氶�夊垪
- nextTick(() => {
- window.addEventListener("mousedown", tableOutDestroyAreaBox)//缁檞indow娣诲姞榧犳爣鎸変笅浜嬩欢,鍒ゆ柇鏄惁鍦ㄨ〃鏍煎,鏄攢姣�
- window.addEventListener("mouseup", tbodymouseup)//缁檞indow娣诲姞榧犳爣鏉惧紑浜嬩欢
- let tbody = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper table tbody")//鑾峰彇tbody鍖哄煙
-
- if (tbody) {
- tbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣鎸変笅浜嬩欢
- tbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣绉诲姩浜嬩欢
- tbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣绉诲嚭浜嬩欢
- tbody.addEventListener("click", tableCellClick)//娣诲姞宸﹂敭鍗曞嚮浜嬩欢
- tbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let bodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper")//鑾峰彇姝e父鍖哄煙鐨刡ody
- if (bodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸闈瀎ixed鍖哄煙鐨勬鐨勫悕绉�
- bodyWrapper.appendChild(cellarea.value)//娣诲姞鑼冨洿妗嗗厓绱�
- }
- setTimeout(() => {
- //#region 宸︿晶鍥哄畾鍒�
- let leftfixedtbody = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper table tbody")//鑾峰彇fixedtbody鍖哄煙
-
- if (leftfixedtbody) {
- leftfixedtbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣鎸変笅浜嬩欢
- leftfixedtbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣绉诲姩浜嬩欢
- leftfixedtbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣绉诲嚭浜嬩欢
- leftfixedtbody.addEventListener("click", tableCellClick)//娣诲姞鍗曞嚮浜嬩欢
- leftfixedtbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let leftFixedBodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper")
- if (leftFixedBodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸fixed鍖哄煙鐨勬鐨勫悕绉�
- leftFixedBodyWrapper.appendChild(leftfixedcellarea.value)
- }
- //#endregion
-
- //#region 鍙充晶鍥哄畾鍒�
- let rightfixedtbody = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper table tbody")//鑾峰彇fixedtbody鍖哄煙
-
- if (rightfixedtbody) {
- rightfixedtbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣鎸変笅浜嬩欢
- rightfixedtbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣绉诲姩浜嬩欢
- rightfixedtbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣绉诲嚭浜嬩欢
- rightfixedtbody.addEventListener("click", tableCellClick)//娣诲姞鍗曞嚮浜嬩欢
- rightfixedtbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let rightFixedBodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper")
- if (rightFixedBodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸fixed鍖哄煙鐨勬鐨勫悕绉�
- rightFixedBodyWrapper.appendChild(rightfixedcellarea.value)
- }
- //#endregion
-
- }, 100)
-
- })
-}
-const tbodymousedown = (event) => {
- event.stopPropagation(); // 闃绘鍐掓场
- getTablexGrid().closeMenu(); // 鎵嬪姩鍏抽棴鍙抽敭鑿滃崟
-
- if (event.button === 0) { // 宸﹂敭鎸変笅
- // 璁板綍閫夋嫨鎿嶄綔璧峰浣嶇疆
- selectionStart = getCellPosition(event.target); // 璁剧疆閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
- isSelecting.value = true; // 鏍囪涓烘鍦ㄩ�夋嫨鎿嶄綔
- }
-};
-
-//榧犳爣绉诲姩浜嬩欢
-//todo 杩欓噷瑕佽妭娴佹搷浣�,鍙湪缁撴潫鏃惰Е鍙戜竴娆�
-const tbodymousemove = (event: MouseEvent) => {
- if (event.button === 0) {//宸﹂敭绉诲姩
- if (!isSelecting.value) return//濡傛灉褰撳墠闈炴鍦ㄩ�夋嫨鎿嶄綔,鐩存帴閫�鍑�
- //璁板綍閫夋嫨鎿嶄綔缁撴潫浣嶇疆
- selectionEnd = getCellPosition(event.target)
-
- //璁剧疆鏍峰紡,骞舵樉绀鸿寖鍥存
- setselectedCellArea()
-
- }
-}
-
-//榧犳爣鎸夐敭缁撴潫浜嬩欢,娣诲姞鍦ㄤ簡window涓�
-const tbodymouseup = (event: MouseEvent) => {
- if (event.button === 0) {//宸﹂敭鏉惧紑
- isSelecting.value = false//鏍囪涓哄仠姝㈤�夋嫨鎿嶄綔
- }
-}
-
-let outevent = ref()//绉诲姩浜嬩欢,涓嶄繚瀛�,寰幆瀹氭椂鍣ㄥ唴鏃犳硶鐩戝惉鍒版柊鐨勪簨浠�
-
-//榧犳爣绉诲嚭琛ㄦ牸浜嬩欢,鍙湪绉诲姩鐨勬椂鍊欎細瑙﹀彂,鏆傚仠绉诲姩涓嶈Е鍙�
-const tbodymouseout = (event: MouseEvent) => {
- outevent.value = event//淇濆瓨绉诲姩浜嬩欢
-
- if (isSelecting.value) {//濡傛灉姝e湪鎵ц閫変腑鎿嶄綔
- const timer = setInterval(() => {//寮�鍚惊鐜畾鏃跺櫒
- if (isSelecting.value) {//鍒ゆ柇褰撳墠鏄惁姝e湪閫夋嫨
- //鑾峰彇琛ㄦ牸鍏冪礌
- var table = getTablexGrid().$el.querySelector(".vxe-table--body-wrapper table")//鑾峰彇闈炲浐瀹氬垪(鍜屽浐瀹氬垪)鐨則able鍏冪礌
- if (outevent.value.clientX > table.parentElement.getBoundingClientRect().right - 30) {//鍒ゆ柇榧犳爣x杞存槸鍚﹁秴鍑鸿〃鏍煎彸渚�,鍚戝彸婊氬姩
- var maxScrollPosition = table.parentElement.scrollWidth - table.parentElement.clientWidth//鑾峰彇婊氬姩鏉℃渶澶т綅缃�
- if (table.parentElement.scrollLeft < maxScrollPosition) {//濡傛灉娌″埌婊氬姩鏉℃渶澶т綅缃�,鎵ц婊氬姩
- table.parentElement.scrollLeft += 10//鎵ц姘村钩婊氬姩鏉″悜鍙虫粴鍔�
- }
- } else if (outevent.value.clientX < table.parentElement.getBoundingClientRect().left + 30) {//鍒ゆ柇榧犳爣x杞存槸鍚﹁秴鍑鸿〃鏍煎乏渚�,鍚戝乏婊氬姩
- if (table.parentElement.scrollLeft > 0) {//濡傛灉娌″埌婊氬姩鏉℃渶澶т綅缃�,鎵ц婊氬姩
- //榧犳爣绉诲嚭琛ㄦ牸锛屾粴鍔ㄦ按骞虫粴鍔ㄦ潯
- table.parentElement.scrollLeft -= 10//鎵ц姘村钩婊氬姩鏉″悜鍙虫粴鍔�
- }
- }
-
-
- } else {
- clearInterval(timer)//娓呴櫎寰幆瀹氭椂鍣�
- }
- }, 200)//杩欓噷璁剧疆婊戝姩閫熷害
-
- }
-
-}
-
-//鑺傛祦鍑芥暟,todo//鏀逛负鍏ㄥ眬
-const throttle = (fn: Function, delay: number) => {
- const canRun = ref(true)
- return (...args: any[]) => {
- if (!canRun.value) return
- canRun.value = false
- setTimeout(() => {
- fn(...args)
- canRun.value = true
- }, delay)
- }
-}
-
-// 鑾峰彇鍗曞厓鏍间綅缃�(rowIndex, cellIndex)
-const getCellPosition = (cell: any) => {
-
-
- while (cell.tagName !== 'TD') {//灏哻ell鎸囧悜TD鍏冪礌
- cell = cell.parentElement
- }
-
- let visibleColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- const cellIndex = visibleColumn.findIndex((col: { id: any; }) => {//杩斿洖colid鐩哥瓑鐨剉isibleColumn鍏ㄩ噺琛ㄥご鍒楃殑绱㈠紩
- return col.id == cell.getAttribute("colid")
- })
-
- let visibleData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
-
- const rowIndex = visibleData.findIndex((row: { _X_ROW_KEY: any; }) => {//杩斿洖rowid鐩哥瓑鐨剉isibleData鍏ㄩ噺琛ㄤ綋鏁版嵁
- return row._X_ROW_KEY == cell.parentElement.getAttribute("rowid")//杩斿洖rowid鐩哥瓑鐨剉isibleData鍏ㄩ噺琛ㄤ綋鏁版嵁鐨勭储寮�
- })
- return { rowIndex, cellIndex }
-
-}
-
-//璁剧疆妗嗘墦寮�
-const setselectedCellArea = () => {
-
-
-
- var activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//姝e父鍖哄煙閫変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var mainElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//姝e父鍖哄煙閫変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
- var leftFixedActiveElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//宸︿晶鍥哄畾鍒楅�変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var leftFixedMainElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//宸︿晶鍥哄畾鍒楅�変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
- var rightFixedActiveElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//鍙充晶鍥哄畾鍒楅�変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var rightFixedMainElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//鍙充晶鍥哄畾鍒楅�変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
-
- var elements = [activeElement, mainElement, leftFixedActiveElement, leftFixedMainElement, rightFixedActiveElement, rightFixedMainElement]
- let area = getAreaBoxPosition()
- if (area) {
- var { width, height, left, top, right } = area
- } else {
- return
- }
- elements.forEach((element, index) => {
- if (element) {//璁剧疆鏄剧ず鑼冨洿妗嗙殑鍐呴儴鍏冪礌鐨勬牱寮�
- element.style.width = `${width}px`
- element.style.height = `${height}px`
- element.style.top = `${top}px`
- element.style.display = "block"
- if (index <= elements.length - 1 - 2) {//濡傛灉涓嶆槸rightFixedActiveElement鎴杛ightFixedMainElement
- element.style.left = `${left}px`
- } else {
- element.style.right = `${right}px`
- }
- }
- })
-
- //鏄剧ず鑼冨洿妗�
- openAreaBox()
-}
-
-//鏍规嵁寮�濮嬩綅缃拰缁撴潫浣嶇疆鐨勭储寮曡绠楁鐨剋idth,height,left,top(宸︿晶鍥哄畾鍒楀拰姝e父鍖哄煙鍜屽彸渚у浐瀹氬垪浣跨敤)
-const getAreaBoxPosition = () => {
- let startRowIndex = selectionStart.rowIndex//鑾峰彇閫変腑璧峰琛岀储寮�
- let endRowIndex = selectionEnd.rowIndex//鑾峰彇閫変腑缁撴潫琛岀储寮�
- let startColumnIndex = selectionStart.cellIndex//鑾峰彇閫変腑璧峰鍒楃储寮�
- let endColumnIndex = selectionEnd.cellIndex//鑾峰彇閫変腑缁撴潫鍒楃储寮�
- let visibleColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- let visibleData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
- if (startColumnIndex < 0 || endColumnIndex < 0 || startRowIndex < 0 || endRowIndex < 0) return
- var maxColumnIndex = visibleColumn.length - 1//鏈�澶у垪绱㈠紩
- var maxRowIndex = visibleData.length - 1//鏈�澶ц绱㈠紩
- if (endColumnIndex > maxColumnIndex) {//鍒版渶鍚庝竴鍒�,鎸囧悜鏈�鍚庝竴鍒�
- endColumnIndex = maxColumnIndex
- }
- if (endRowIndex > maxRowIndex) {//鍒版渶鍚庝竴琛�,鎸囧悜鏈�鍚庝竴琛�
- endRowIndex = maxRowIndex
- }
- let width = 0, height = 0, left = 0, top = 0, right = 0
- visibleColumn.forEach((col: { renderWidth: number; }, index: number) => {
- if (startColumnIndex <= endColumnIndex) {//寮�濮嬪垪绱㈠紩灏忎簬缁撴潫鍒楃储寮�,鍗充粠宸﹀線鍙抽�夋嫨
- if (index < startColumnIndex) {
- left += col.renderWidth//璺濈琛ㄦ牸鏁翠綋宸︿晶杈规璺濈
- }
- if (index > endColumnIndex) {//鏁版嵁绱㈠紩澶т簬缁撴潫鍒�,杩欓噷鑾峰彇璺濈鍚庨潰鏁版嵁鐨勫搴�
- right += col.renderWidth//璺濈琛ㄦ牸鏁翠綋鍙充晶杈规璺濈,鍔犱笂褰撳墠鍒�
- }
- if (startColumnIndex <= index && index <= endColumnIndex) {//寮�濮嬪垪绱㈠紩澶т簬鏁版嵁绱㈠紩 鍜� 缁撴潫鍒楃储寮曞皬浜庢暟鎹储寮�,杩欓噷鑾峰彇閫変腑鍖哄煙鐨勫搴�
- width += col.renderWidth//閫変腑鍖哄煙鐨勫搴�
- }
- } else {//浠庡彸寰�宸﹂�夋嫨
- if (index < endColumnIndex) {
- left += col.renderWidth//璺濈琛ㄦ牸鏁翠綋宸︿晶杈规璺濈
- }
- if (index > startColumnIndex) {//鏁版嵁绱㈠紩澶т簬寮�濮嬪垪,杩欓噷鑾峰彇璺濈鍚庨潰鏁版嵁鐨勫搴�
- right += col.renderWidth//璺濈琛ㄦ牸鏁翠綋鍙充晶杈规璺濈,鍔犱笂褰撳墠鍒�
- }
- if (startColumnIndex >= index && index >= endColumnIndex) {//寮�濮嬪垪绱㈠紩澶т簬鏁版嵁绱㈠紩 鍜� 缁撴潫鍒楃储寮曞皬浜庢暟鎹储寮�,杩欓噷鑾峰彇閫変腑鍖哄煙鐨勫搴�
- width += col.renderWidth//閫変腑鍖哄煙鐨勫搴�
- }
- }
-
- })
- if (startRowIndex <= endRowIndex) {//寮�濮嬭绱㈠紩灏忎簬缁撴潫琛岀储寮�,鍗充粠涓婂線涓嬮�夋嫨
- height = (endRowIndex - startRowIndex + 1) * gridOptions.rowConfig!.height!//閫変腑鍖哄煙鐨勯珮搴�
- top = startRowIndex * gridOptions.rowConfig!.height!//璺濈琛ㄦ牸鏁翠綋椤堕儴杈规璺濈
- } else {
- height = (startRowIndex - endRowIndex + 1) * gridOptions.rowConfig!.height!//閫変腑鍖哄煙鐨勯珮搴�
- top = endRowIndex * gridOptions.rowConfig!.height!//璺濈琛ㄦ牸鏁翠綋椤堕儴杈规璺濈
- }
-
-
-
- return { width, height, left, top, right }
-
-}
-
-//鏄剧ず鑼冨洿妗�
-const openAreaBox = () => {
- var element = xGrid.value.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
- element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
- element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
-}
-
-//琛ㄦ牸澶栭攢姣佽寖鍥存
-const tableOutDestroyAreaBox = (event: MouseEvent) => {
- try{
- var element = getTablexGrid().$el.querySelector(".vxe-table--render-wrapper")
- }catch (err){
-
- }
-
- if (element) {
- if (event.clientX < element.getBoundingClientRect().left || event.clientX > element.getBoundingClientRect().right
- || event.clientY > element.getBoundingClientRect().top || event.clientY < element.getBoundingClientRect().bottom
- ) {
- destroyAreaBox()
- }
- }
-
-
-}
-//閿�姣佽寖鍥存
-const destroyAreaBox = () => {
- var element = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
- element = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
- element = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
-}
-
-//琛ㄦ牸鍗曞厓鏍肩偣鍑讳簨浠�
-const tableCellClick = (e: MouseEvent) => {
-
- if (!isSelecting.value) {//闈為�変腑鐘舵��
- try {
- selectionStart = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- selectionEnd = selectionStart//缁撴潫浣嶇疆涔熸槸鑷繁
- //璁剧疆鏍峰紡
- setselectedCellArea()
- } catch (error) {
-
- }
-
- }
-}
-
-//琛ㄦ牸鍙抽敭鐐瑰嚮浜嬩欢
-const tableCellMenuClick = (e: MouseEvent) => {
- if (!isSelecting.value) {//闈為�変腑鐘舵��
- let currentCellPosition = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- var horizontalFlag//鏄惁鍦ㄨ寖鍥存鐨勬按骞冲垽鏂爣璁�
- var verticalFlag//鏄惁鍦ㄨ寖鍥存鐨勫瀭鐩村垽鏂爣璁�
- if (selectionStart.cellIndex <= selectionEnd.cellIndex) {//濡傛灉鏄粠宸﹀線鍙抽�夊彇
- horizontalFlag = selectionStart.cellIndex <= currentCellPosition.cellIndex && currentCellPosition.cellIndex <= selectionEnd.cellIndex
- } else {//浠庡彸寰�宸﹂�夊彇
- horizontalFlag = selectionEnd.cellIndex <= currentCellPosition.cellIndex && currentCellPosition.cellIndex <= selectionStart.cellIndex
- }
- if (selectionStart.rowIndex <= selectionEnd.rowIndex) {//濡傛灉鏄粠涓婂線涓嬮�夊彇
- verticalFlag = selectionStart.rowIndex <= currentCellPosition.rowIndex && currentCellPosition.rowIndex <= selectionEnd.rowIndex
- } else {//浠庝笅寰�涓婇�夊彇
- verticalFlag = selectionEnd.rowIndex <= currentCellPosition.rowIndex && currentCellPosition.rowIndex <= selectionStart.rowIndex
- }
-
- if (horizontalFlag && verticalFlag) { //鍒ゆ柇濡傛灉涓嶅湪閫変腑鍖哄煙鍐�,瑙﹀彂琛ㄦ牸宸﹂敭鍗曞嚮浜嬩欢,鏇存柊鎴彇鍗曞厓鏍�,鍚﹀垯濡傛灉鍦ㄦ甯歌Е鍙戝彸閿彍鍗�
-
- } else {
- selectionStart = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- selectionEnd = selectionStart//缁撴潫浣嶇疆涔熸槸鑷繁
- //璁剧疆鏍峰紡
- setselectedCellArea()
- }
-
- }
-
-}
-const toolbarButtonClickEvent = ({ code }: { code: any }) => {
- switch (code) {
- case "getcellselctdata":
- //鎴戠粰澶у鎵撳嵃澶勭悊:
- console.log("鏄惁姝e湪杩涜婊戝姩閫変腑鎿嶄綔锛�", isSelecting.value)
- //宸︿笂瑙掑潗鏍�
- console.log("鍗曞厓鏍艰捣濮嬩綅缃細绱㈠紩:", selectionStart)
- //鍙充笅瑙掑潗鏍�
- console.log("鍗曞厓鏍肩粨鏉熶綅缃細绱㈠紩:", selectionEnd)
-
- //杩欓噷闇�瑕佹槸visibleData
- let tableData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
- let rowStart = selectionStart.rowIndex//鑾峰彇閫変腑璧峰琛岀储寮�
- let rowEnd = selectionEnd.rowIndex//鑾峰彇閫変腑缁撴潫琛岀储寮�
- let selectRows = tableData.filter((col, index: number) => {//col鍙傛暟涓嶈兘鏀瑰惁鍒欎細鑾峰彇涓嶅埌鏁版嵁
- //杩欓噷淇敼浠庡彸涓嬪線宸︿笂鎷栧姩鐨勬暟鎹樉绀�
- if (rowStart <= rowEnd) {
- return rowStart <= index && rowEnd >= index
- } else {
- return rowStart >= index && rowEnd <= index
- }
- })
- console.log("榧犳爣閫変腑琛�:", JSON.stringify(selectRows))
-
- //杩欓噷闇�瑕佹槸visibleColumn
- let colStart = selectionStart.cellIndex//鑾峰彇閫変腑璧峰鍒楃储寮�
- let colEnd = selectionEnd.cellIndex//鑾峰彇閫変腑缁撴潫鍒楃储寮�
- let tableColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- let selectCols = tableColumn.filter((col, index: number) => {//col鍙傛暟涓嶈兘鏀瑰惁鍒欎細鑾峰彇涓嶅埌鏁版嵁
- //杩欓噷淇敼浠庡彸涓嬪線宸︿笂鎷栧姩鐨勬暟鎹樉绀�
- if (colStart <= colEnd) {
- return colStart <= index && colEnd >= index
- } else {
- return colStart >= index && colEnd <= index
- }
-
- })
- console.log("榧犳爣閫変腑鍒�:", JSON.stringify(selectCols))
- break
- }
-}
-*/
-
-
-</script>
-
-<style scoped>
-.vxe-grid {
- /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-
-/*婊氬姩鏉℃暣浣撻儴鍒�*/
-.mytable-scrollbar ::-webkit-scrollbar {
- width: 10px;
- height: 10px;
-}
-/*婊氬姩鏉$殑杞ㄩ亾*/
-.mytable-scrollbar ::-webkit-scrollbar-track {
- background-color: #FFFFFF;
-}
-/*婊氬姩鏉¢噷闈㈢殑灏忔柟鍧楋紝鑳藉悜涓婂悜涓嬬Щ鍔�*/
-.mytable-scrollbar ::-webkit-scrollbar-thumb {
- background-color: transparent;
- border-radius: 5px;
- border: 1px solid #F1F1F1;
- box-shadow: inset 0 0 6px rgba(0,0,0,.3);
-}
-.mytable-scrollbar ::-webkit-scrollbar-thumb:hover {
- background-color: #ffffff;
-}
-.mytable-scrollbar ::-webkit-scrollbar-thumb:active {
- background-color: white;
-}
-/*杈硅锛屽嵆涓や釜婊氬姩鏉$殑浜ゆ眹澶�*/
-.mytable-scrollbar ::-webkit-scrollbar-corner {
- background-color: #FFFFFF;
-}
-</style>
-
diff --git a/UI-Project/src/components/basic/product/GlassType.vue b/UI-Project/src/components/basic/product/GlassType.vue
deleted file mode 100644
index df6819f..0000000
--- a/UI-Project/src/components/basic/product/GlassType.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-<script setup>
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-let productGlassTypeStore = useProductGlassTypeStore()
-
-let options=$ref([])
-request.get("/basicGlassType/getAll").then((res) => {
- if(res.code==200){
- for (let dataKey of res.data) {
- dataKey.children=JSON.parse(dataKey.children)
- }
- options= deepClone(res.data)
- }else{
- ElMessage.warning(res.msg)
- }
-})
-</script>
-
-<template>
- <div>
- <el-cascader
- v-model="productGlassTypeStore.GlassType"
- :options="options"
- clearable
- />
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/components/sd/product/GlassType.vue b/UI-Project/src/components/sd/product/GlassType.vue
deleted file mode 100644
index 7545d94..0000000
--- a/UI-Project/src/components/sd/product/GlassType.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-<script setup>
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-let productGlassTypeStore = useProductGlassTypeStore()
-
-let options=$ref([])
-request.get("/basicGlassType/getAll").then((res) => {
- if(res.code==200){
- for (let dataKey of res.data) {
- dataKey.children=JSON.parse(dataKey.children)
- }
- options= deepClone(res.data)
- }else{
- ElMessage.warning(res.msg)
- }
-})
-</script>
-
-<template>
- <div>
- <el-cascader
- v-model="productGlassTypeStore.GlassType"
- :options="options"
- clearable
- placeholder="鐜荤拑绫诲埆"
- />
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index 20334e7..d5c18f5 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -75,56 +75,31 @@
</script>
<template>
- <div>
+ <div id="all">
<el-container>
<el-header >
- <div style="height: 100%;width: 100%;display: flex">
+ <div style="height: 100%;width: 100%;display: flex;background-color: #fff;">
<img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%">
- <h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓ERP绯荤粺锛�</h3>
+ <h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓MES绯荤粺锛�</h3>
<span style="height: 70%;width: 78vw;margin-top: 1rem;" >
-
- <el-button class="sys-quit" @click="quit" type="info" round>
+ <el-button class="sys-quit" @click="quit" round>
<el-icon size="large"><SwitchButton size=""/></el-icon>
</el-button>
</span>
-
</div>
</el-header>
+ <div id="line"></div>
<el-container >
- <el-aside width="160px" style="height: 97%; " >
-<!-- <el-menu
- style=" border-radius:0.5rem;border: 0.01rem solid #409EFF;margin-bottom: 0.5rem"
- @open="handleOpen"
- ref="menu"
- active-color="#ffd04b"
- background-color="#409EFF"
- default-active="2"
- text-color="#fff">
- <el-sub-menu
-
- v-for="items in menuList"
- :index="items.id"
- :key="items.id">
- <template #title>
- <el-icon v-if="items.id==1"><Grid/></el-icon>
- <el-icon v-if="items.id==2"><Histogram/></el-icon>
- <el-icon v-if="items.id==3"><MessageBox/></el-icon>
- <span style="font-weight: bold;">{{items.menuName}}</span>
- </template>
- <router-link
- v-show="items.id==menuItem.menuID"
- v-for="menuItem in menuItemList"
- :to="{path:menuItem.url}">
- <el-menu-item >
- {{ menuItem.itemName}}
- </el-menu-item>
- </router-link>
-
- </el-sub-menu>
- </el-menu>-->
+ <el-aside width="160px" style="height: 99%; background-color: #fff;" >
<div class="menu" >
- <div v-for="items in menuList">
- <div class='menu_title' @click="openMenu(items.id)" >{{items.menuName}}<span class='indicator' >鈻�</span></div>
+ <div v-for="items in menuList">
+ <div class='menu_title' @click="openMenu(items.id)" >
+ <!-- <span class='indicator' >鈱�</span> -->
+ <!-- <span class='indicator' >鈮�</span> -->
+ <!-- <img src="../assets/9.png" alt="" style="max-width: 50%;max-height: 50%;"> -->
+ <span>鈽�</span>
+ {{items.menuName}}
+ </div>
<ul class='enter-x-left' v-show="openFlag==items.id">
<li v-for="menuItem in menuItemList"
@@ -154,9 +129,13 @@
</template>
<style scoped>
+#all{
+ background-color: #eee;
+ height: 100%;
+}
.el-container{
height: 100vh;
- width: 100vw
+ width: 99vw
}
*{
@@ -167,7 +146,17 @@
float: right;
margin-right: 1rem;
width: 5rem;
-
+}
+/* 妯嚎 */
+#line{
+float:right;
+width: 100%;
+height: 1px;
+/* margin-top: 0.5em; */
+margin-bottom: 0.5em;
+background:#d4c4c4;
+position: relative;
+text-align: center;
}
:deep(span){
margin-right: 0;
@@ -181,17 +170,11 @@
width: 99%;
float: right;
height: 99%;
+ background-color: #fff;
}
-
-
-
-
/*------------*/
-
-
-
-.menu div div{
+/* .menu div div{
width: 138px;
height: 35px;
@@ -208,16 +191,12 @@
border-bottom: 12px ;
margin-bottom:4px;
text-align: left;
- cursor: pointer;
- border-radius:8px;
+ cursor: pointer; */
+ /* border-radius:8px; */
/* outline: none; */
-
- background-color:#5CADFE;
- box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
-
-
-
-}
+ /* background-color:#5CADFE; */
+ /* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
+/* } */
.menu {
width: 138px;
@@ -243,21 +222,21 @@
height: 28px;
line-height: 30px;
- background: rgb(128, 128, 128);
+ /* background: rgb(128, 128, 128); */
color: #000000;
padding-left: 36px;
cursor: pointer;
overflow: hidden;
text-align: left;
- border-radius:8px;
+ /* border-radius:8px; */
/* outline: none; */
- background: #5CADFE;
- box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
+ /* background: #5CADFE; */
+ /* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
}
ul li:hover {
- background:#5CADFE ;
+ /* background:#5CADFE ; */
color: #ffffff;
}
@@ -268,7 +247,7 @@
}
ul li a:hover {
- color: #ffffff;
+ color: #1087ff;
}
.item_divider {
@@ -282,6 +261,7 @@
width: 138px;
height: 35px;
display: block;
+ /* text-align: justify; */
text-decoration: none;
color: white;
font-size: 14px;
@@ -289,12 +269,12 @@
}
.menu_title {
- width: 138px;
- height: 35px;
- line-height: 35px;
- background: #fafafa;
- color: rgb(128, 128, 128);
- font-size: 16px;
+ width: 140px;
+ height: 45px;
+ line-height: 55px;
+ /* background: #fafafa; */
+ color: rgb(43, 42, 42);
+ font-size: 17px;
padding-left: 15px;
transition: all 0.3s ease;
cursor: pointer;
@@ -306,12 +286,12 @@
.menu_title:hover {
/* background: #dedede; */
- color: #ffffff;
+ color: #3b9af9;
}
.indicator {
display: block;
- width: 50px;
+ width: 40px;
height: 35px;
font-weight: bold;
position: absolute;
@@ -344,8 +324,6 @@
.enter-x-left:nth-child(4){
animation-delay: 0.4s;
}
-
-
@keyframes enter-x-left {
to {
opacity: 1;
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index aa9114b..297bac1 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -34,812 +34,121 @@
}
]
},
- //sd妯″潡
+
+ /*----------- 涓婄墖鏈� ----------------*/
+ {
+ path: 'Returns',
+ name: 'Returns',
+ component: () => import('../views/Returns/returns.vue'),
+ children:[
+ {
+ path: '/Returns/returns',
+ name: 'returns',
+ component: () => import('../views/Returns/returns.vue')
+ },
+ ]
+ },
+ /*----------- 鎺扮墖/璇嗗埆 ----------------*/
+ {
+ path: 'Identify',
+ name: 'Identify',
+ component: () => import('../views/Identify/identify.vue'),
+ children:[
{
- path: 'product',//浜у搧
- name: 'product',
- component: () => import('../views/sd/product/Product.vue'),
+ path: '/Identify/identify',
+ name: 'identify',
+ component: () => import('../views/Identify/identify.vue')
+ },
+ ]
+ },
+ /*----------- 鍗у紡缂撳瓨 ----------------*/
+ {
+ path: 'Caching',
+ name: 'Caching',
+ component: () => import('../views/Caching/caching.vue'),
+ children:[
+ {
+ path: '/Caching/caching',
+ name: 'caching',
+ component: () => import('../views/Caching/caching.vue')
+ },
+ ]
+ },
+ /*----------- 纾ㄨ竟锛堝喎鍔犲伐锛� ----------------*/
+{
+ path: 'StockBasicData',
+ name: 'StockBasicData',
+ component: () => import('../views/StockBasicData/stockBasicData.vue'),
+ children:[
+ {
+ path: '/StockBasicData/stockBasicData',
+ name: 'stockBasicData',
+ component: () => import('../views/StockBasicData/stockBasicData.vue')
+ },
+ ]
+},
+/*----------- 澶х悊鐗囩 ----------------*/
+{
+path: 'Slicecage',
+name: 'Slicecage',
+component: () => import('../views/Slicecage/slicecage.vue'),
+children:[
+ {
+ path: '/Slicecage/slicecage',
+ name: 'slicecage',
+ component: () => import('../views/Slicecage/slicecage.vue')
+ },
+]
+},
+/*----------- 閽㈠寲 ----------------*/
+{
+path: 'PurchaseReturn',
+name: 'purchase',
+component: () => import('../views/PurchaseReturn/purchase.vue'),
+children:[
+ {
+ path: '/PurchaseReturn/purchaseReturn',
+ name: 'purchaseReturn',
+ component: () => import('../views/PurchaseReturn/purchaseReturn.vue')
+ },
+ {
+ path: '/PurchaseReturn/purchaseStorage',
+ name: 'purchaseStorage',
+ component: () => import('../views/PurchaseReturn/purchaseStorage.vue')
+ },
+]
+},
+ /*----------- 涓嬬墖鍙� ----------------*/
+ {
+ path: 'UnLoadGlass',
+ name: 'UnLoadGlass',
+ component: () => import('../views/UnLoadGlass/UnLoadGlass.vue'),
children:[
{
- path: 'createProduct',
- name: 'createProduct',
- component: () => import('../views/sd/product/CreateProduct.vue')
+ path: '/UnLoadGlass/loadmachinerack',
+ name: 'loadmachinerack',
+ component: () => import('../views/UnLoadGlass/loadmachinerack.vue')
},
{
- path: 'selectProduct',
- name: 'selectProduct',
- component: () => import('../views/sd/product/SelectProduct.vue')
+ path: '/UnLoadGlass/loadmachineracktwo',
+ name: 'loadmachineracktwo',
+ component: () => import('../views/UnLoadGlass/loadmachineracktwo.vue')
},
{
- path: 'test',
- name: 'test',
- component: () => import('../views/sd/product/Test.vue')
+ path: '/UnLoadGlass/Landingindication',
+ name: 'Landingindication',
+ component: () => import('../views/UnLoadGlass/Landingindication.vue')
},
{
- path: 'test1',
- name: 'test1',
- component: () => import('../views/sd/product/Test11.vue')
- },
- {
- path: 'testSort',
- name: 'testSort',
- component: () => import('../views/sd/product/testSort.vue')
- },
- {
- name: 'product',
- path: '',
- redirect:'/main/product/selectProduct'
- }
- ]
- },
- {
- path: 'order',//璁㈠崟
- name: 'order',
- component: () => import('../views/sd/order/Order.vue'),
- children:[
- {
- path: 'selectOrder',
- name: 'selectOrder',
- component: () => import('../views/sd/order/SelectOrder.vue'),
- },
- {
- path: 'createOrder',
- name: 'createOrder',
- component: () => import('../views/sd/order/CreateOrder.vue'),
- },
- {
- path: 'updateOrderCraft',
- name: 'updateOrderCraft',
- component: () => import('../views/sd/order/UpdateOrderCraft.vue'),
- },
- {
- path: 'orderReport',
- name: 'orderReport',
- component: () => import('../views/sd/order/OrderReport.vue'),
- },
- {
- path: '',
- redirect:'/main/order/SelectOrder'
- }
- ]
- },
- {
- path: 'delivery',//鍙戣揣
- name: 'delivery',
- component: () => import('../views/sd/delivery/Delivery.vue'),
- children: [
- {
- path: 'selectDelivery',
- name: 'selectDelivery',
- component: () => import('../views/sd/delivery/SelectDelivery.vue'),
- },
- {
- path: 'selectOrderList',
- name: 'selectOrderList',
- component: () => import('../views/sd/delivery/SelectOrderList.vue'),
- },
- {
- path: 'deliveryReport',
- name: 'deliveryReport',
- component: () => import('../views/sd/delivery/DeliveryReport.vue'),
- },
- {
- path: 'createDelivery',
- name: 'createDelivery',
- component: () => import('../views/sd/delivery/CreateDelivery.vue'),
- },
-
-
- {
- path: '',
- redirect:'/main/delivery/selectDelivery'
- }
- ]
- },
- {
- path: 'returns',//閫�璐�
- name: 'returns',
- component: () => import('../views/sd/returns/Returns.vue'),
- children: [
- {
- path: '',
- redirect:'/main/returns/selectReturns'
- },
- {
- path: 'selectReturns',
- name: 'selectReturns',
- component: () => import('../views/sd/returns/SelectReturns.vue'),
- },
-
- {
- path: 'createReturns',
- name: 'createReturns',
- component: () => import('../views/sd/returns/CreateReturns.vue'),
- },
- {
- path: 'selectDeliveryList',
- name: 'selectDeliveryList',
- component: () => import('../views/sd/returns/SelectDeliveryList.vue'),
- },
- {
- path: 'returnsReport',
- name: 'returnsReport',
- component: () => import('../views/sd/returns/ReturnsReport.vue'),
- }
-
-
- ]
- },
- {
- path: 'customer',//瀹㈡埛
- name: 'customer',
- component: () => import('../views/sd/customer/Customer.vue'),
- children: [
- {
- path: '',
- redirect:'/main/customer/selectCustomer'
- },
- {
- path: 'selectCustomer',
- name: 'selectCustomer',
- component: () => import('../views/sd/customer/SelectCustomer.vue'),
- },
- {
- path: 'createCustomer',
- name: 'createCustomer',
- component: () => import('../views/sd/customer/CreateCustomer.vue'),
- }
- ]
- },
-
- //pp妯″潡
- {
- //宸ュ崟绠$悊
- path: 'workOrder',
- name: 'workOrder',
- component: () => import('../views/pp/workOrder/WorkOrder.vue'),
- children:[
-
- {
- path: 'selectAddWorkOrder',
- name: 'selectAddWorkOrder',
- component: () => import('../views/pp/workOrder/SelectAddWorkOrder.vue'),
- },
- {
- path: 'releaseWorkOrder',
- name: 'releaseWorkOrder',
- component: () => import('../views/pp/workOrder/ReleaseWorkOrder.vue'),
- },
- {
- path: 'addWorkOrder',
- name: 'addWorkOrder',
- component: () => import('../views/pp/workOrder/AddWorkOrder.vue'),
- },
- {
- path: 'selectWorkOrder',
- name: 'selectWorkOrder',
- component: () => import('../views/pp/workOrder/SelectWorkOrder.vue'),
- },
- {
- path: '',
- redirect:'/main/workOrder/SelectWorkOrder'
- }
- ]
-
- },
- {
- //娴佺▼鍗$鐞�
- path: 'processCard',
- name: 'processCard',
- component: () => import('../views/pp/processCard/ProcessCard.vue'),
- children:[
-
- {
- path: 'addProcessCard',
- name: 'addProcessCard',
- component: () => import('../views/pp/processCard/AddProcessCard.vue'),
- },
- {
- path: 'printFlowCard',
- name: 'printFlowCard',
- component: () => import('../views/pp/processCard/PrintFlowCard.vue'),
- },
- {
- path: 'selectAddProcess',
- name: 'selectAddProcess',
- component: () => import('../views/pp/processCard/SelectAddProcess.vue'),
- },
- {
- path: 'selectPrintFlowCard',
- name: 'selectPrintFlowCard',
- component: () => import('../views/pp/processCard/SelectPrintFlowCard.vue'),
- },
- {
- path: 'selectProcessCard',
- name: 'selectProcessCard',
- component: () => import('../views/pp/processCard/SelectProcessCard.vue'),
- },
- {
- path: 'processCardDetails',
- name: 'processCardDetails',
- component: () => import('../views/pp/processCard/ProcessCardDetails.vue'),
- },
- {
- path: 'splittingDetails',
- name: 'splittingDetails',
- component: () => import('../views/pp/processCard/SplittingDetails.vue'),
- },
- {
- path: 'printProcess',
- name: 'printProcess',
- component: () => import('../views/pp/processCard/PrintProcess.vue'),
- },
- {
- path: 'productionScheduling',
- name: 'productionScheduling',
- component: () => import('../views/pp/processCard/ProductionScheduling.vue'),
- },
- {
- path: '',
- redirect:'/main/processCard/SelectProcessCard'
- }
- ]
-
- },
- {
- //鎶ュ伐绠$悊
- path: 'reportingWorks',
- name: 'reportingWorks',
- component: () => import('../views/pp/reportingWorks/ReportingWorks.vue'),
- children:[
-
- {
- path: 'selectReportingWorks',
- name: 'selectReportingWorks',
- component: () => import('../views/pp/reportingWorks/SelectReportingWorks.vue'),
- },
- {
- path: 'addReportingWork',
- name: 'addReportingWork',
- component: () => import('../views/pp/reportingWorks/AddReportingWork.vue'),
- },
- {
- path: 'qualityInspectionReview',
- name: 'qualityInspectionReview',
- component: () => import('../views/pp/reportingWorks/QualityInspectionReview.vue'),
- },
- {
- path: 'reportingWorkDetail',
- name: 'reportingWorkDetail',
- component: () => import('../views/pp/reportingWorks/ReportingWorkDetail.vue'),
- },
- {
- path: 'qualityInReviewDetail',
- name: 'qualityInReviewDetail',
- component: () => import('../views/pp/reportingWorks/QualityInReviewDetail.vue'),
- },
- {
- path: '',
- redirect:'/main/reportingWorks/SelectReportingWorks'
- }
- ]
- },
- {
- //琛ョ墖绠$悊
- path: 'replenish',
- name: 'replenish',
- component: () => import('../views/pp/Replenish/Replenish.vue'),
- children:[
-
- {
- path: 'addReplenish',
- name: 'addReplenish',
- component: () => import('../views/pp/Replenish/AddReplenish.vue'),
- },
- {
- path: 'printReplenishFlowCard',
- name: 'printReplenishFlowCard',
- component: () => import('../views/pp/Replenish/PrintReplenishFlowCard.vue'),
- },
- {
- path: 'selectReplenish',
- name: 'selectReplenish',
- component: () => import('../views/pp/Replenish/SelectReplenish.vue'),
- },
- {
- path: '',
- redirect:'/main/Replenish/SelectReplenish'
- }
- ]
- },
- {
- //杩斿伐绠$悊
- path: 'rework',
- name: 'rework',
- component: () => import('../views/pp/Rework/Rework.vue'),
- children:[
-
- {
- path: 'addRework',
- name: 'addRework',
- component: () => import('../views/pp/Rework/AddRework.vue'),
- },
- {
- path: 'selectRework',
- name: 'selectRework',
- component: () => import('../views/pp/Rework/SelectRework.vue'),
- },
- {
- path: '',
- redirect:'/main/Rework/SelectRework'
- }
- ]
- },
- {
- //BOM绠$悊
- path: 'BOM',
- name: 'BOM',
- component: () => import('../views/pp/BOM/BOM.vue'),
- children:[
- {
- path: 'benchmarkBOM',
- name: 'benchmarkBOM',
- component: () => import('../views/pp/BOM/BenchmarkBOM.vue'),
- },
- {
- path: 'standardBOM',
- name: 'standardBOM',
- component: () => import('../views/pp/BOM/StandardBOM.vue'),
- },
- {
- path: 'orderBOM',
- name: 'orderBOM',
- component: () => import('../views/pp/BOM/OrderBOM.vue'),
- },
- {
- path: 'selectBOM',
- name: 'selectBOM',
- component: () => import('../views/pp/BOM/SelectBOM.vue'),
- },
- {
- path: 'orderBOMDetails',
- name: 'orderBOMDetails',
- component: () => import('../views/pp/BOM/OrderBOMDetails.vue'),
- },
- {
- path: 'standardBOMDetail',
- name: 'standardBOMDetail',
- component: () => import('../views/pp/BOM/StandardBOMDetail.vue'),
- },
- {
- path: '',
- redirect:'/main/BOM/SelectBOM'
- }
- ]
- },
- {
- //璁惧绠$悊
- path: 'machine',
- name: 'machine',
- component: () => import('../views/pp/machine/Machine.vue'),
- children:[
- {
- path: 'selectMachine',
- name: 'selectMachine',
- component: () => import('../views/pp/machine/SelectMachine.vue'),
- },
- {
- path: 'addMachine',
- name: 'addMachine',
- component: () => import('../views/pp/machine/AddMachine.vue'),
- },
- {
- path: 'maintenanceAndRepair',
- name: 'maintenanceAndRepair',
- component: () => import('../views/pp/machine/MaintenanceAndRepair.vue'),
- },
- {
- path: 'addMaintenanceAndRepair',
- name: 'addMaintenanceAndRepair',
- component: () => import('../views/pp/machine/AddMaintenanceAndRepair.vue'),
- },
- {
- path: '',
- redirect:'/main/machine/SelectMachine'
- }
- ]
- },
- {
- //鎶ヨ〃绠$悊
- path: 'report',
- name: 'report',
- component: () => import('../views/pp/report/Report.vue'),
- children:[
- {
- //璁惧浜ч噺
- path: 'equipmentOutput',
- name: 'equipmentOutput',
- component: () => import('../views/pp/report/EquipmentOutput.vue'),
- },
- {
- //璁㈠崟BOM
- path: 'orderBOMOutside',
- name: 'orderBOMOutside',
- component: () => import('../views/pp/report/OrderBOMOutside.vue'),
- },
- {
- //璁㈠崟璁″垝鍒嗚В
- path: 'orderPlanDecomposition',
- name: 'orderPlanDecomposition',
- component: () => import('../views/pp/report/OrderPlanDecomposition.vue'),
- },
- {
- //宸ュ簭寰呭畬鎴�
- path: 'processToBeCompleted',
- name: 'processToBeCompleted',
- component: () => import('../views/pp/report/ProcessToBeCompleted.vue'),
- },
- {
- //鐢熶骇杩涘害
- path: 'productionSchedule',
- name: 'productionSchedule',
- component: () => import('../views/pp/report/ProductionSchedule.vue'),
- },
- {
- //娴佺▼鍗¤繘搴�
- path: 'processCardProgress',
- name: 'processCardProgress',
- component: () => import('../views/pp/report/ProcessCardProgress.vue'),
- },
- {
- //鍝佽川鎶ヨ〃
- path: 'qualityReport',
- name: 'qualityReport',
- component: () => import('../views/pp/report/QualityReport.vue'),
- },
- {
- //鍘熺墖棰嗘枡鎶ヨ〃
- path: 'rawMaterialRequisition',
- name: 'rawMaterialRequisition',
- component: () => import('../views/pp/report/RawMaterialRequisition.vue'),
- },
- {
- //鍒嗘灦鏄庣粏
- path: 'splittingDetailsOutside',
- name: 'splittingDetailsOutside',
- component: () => import('../views/pp/report/SplittingDetailsOutside.vue'),
- },
- {
- //浠诲姟瀹屾垚鎯呭喌
- path: 'taskCompletionStatus',
- name: 'taskCompletionStatus',
- component: () => import('../views/pp/report/TaskCompletionStatus.vue'),
- },
- {
- //鐝粍浜ч噺
- path: 'teamOutput',
- name: 'teamOutput',
- component: () => import('../views/pp/report/TeamOutput.vue'),
- },
- {
- //鍦ㄥ埗鍝佹姤琛�
- path: 'workInProgress',
- name: 'workInProgress',
- component: () => import('../views/pp/report/WorkInProgress.vue'),
- },
- {
- //鎴愬搧鐜囨姤琛�
- path: 'yield',
- name: 'yield',
- component: () => import('../views/pp/report/Yield.vue'),
- },
- {
- //娆$牬鎶ヨ〃
- path: 'damageReport',
- name: 'damageReport',
- component: () => import('../views/pp/report/DamageReport.vue'),
- },
- // {
- // path: '',
- // redirect:'/main/report/ProductionSchedule'
- // }
- ]
- },
-
-
-
-
- //mm妯″潡
- {
- path: 'productStock',
- name: 'productStock',
- component: () => import('../views/mm/mainProductStock/ProductStock.vue'),
- children:[
- {
- // 鎴愬搧搴撳瓨
- path: 'productStockList',
- name: 'productStockList',
- component: () => import('../views/mm/mainProductStock/ProductStockList.vue'),
- },
- {
- // 鎴愬搧鍏ュ簱
- path: 'createProductStock',
- name: 'createProductStock',
- component:()=> import('../views/mm/mainProductStock/CreateProductStock.vue'),
- },
- {
- // 鎴愬搧鍑哄簱
- path: 'finishedProductOut',
- name: 'finishedProductOut',
- component:()=>import('../views/mm/mainProductStock/FinishedProductOut.vue')
- },
- {
- // 鎴愬搧鍑哄簱
- path: 'finishedProductReturn',
- name: 'finishedProductReturn',
- component:()=>import('../views/mm/mainProductStock/FinishedProductReturn.vue')
- },
- {
- // 璁㈠崟璋冩嫧
- path: 'orderAllocation',
- name: 'orderAllocation',
- component:()=>import('../views/mm/mainProductStock/OrderAllocation.vue'),
- },
- {
- // 鎴愬搧棰嗗嚭
- path: 'finishedGoodsIssue',
- name: 'finishedGoodsIssue',
- component:()=>import('../views/mm/mainProductStock/FinishedGoodsIssue.vue'),
- },
- {
- // 鎴愬搧杩斿伐
- path: 'finishedProductRework',
- name: 'finishedProductRework',
- component:()=>import('../views/mm/mainProductStock/FinishedProductRework.vue'),
- },
- {
- // 璋冩嫧璁板綍
- path: 'transferRecord',
- name: 'transferRecord',
- component:()=>import('../views/mm/mainProductStock/TransferRecord.vue'),
- },
- {
- // 棰嗗嚭璁板綍
- path: 'takeOutRecord',
- name: 'takeOutRecord',
- component:()=>import('../views/mm/mainProductStock/TakeOutRecord.vue'),
- },
- {
- // 杩斿伐璁板綍
- path: 'reworkRecord',
- name: 'reworkRecord',
- component:()=>import('../views/mm/mainProductStock/ReworkRecord.vue'),
- },
-
- {
- path: '',
- redirect:'/main/productStock/ProductStockList'
- }
- ]
- },
-
-
-
-
-
- {
- // 鐗╂枡璧勬枡
- path:'ingredients',
- name:'ingredients',
- component: () => import('../views/mm/mainIngredient/Ingredients.vue'),
- children:[
- {
- path: 'selectIngredients',
- name: 'selectIngredients',
- component:()=>import('../views/mm/mainIngredient/SelectIngredients.vue')
- },
- {
- path: 'createIngredients',
- name: 'createIngredients',
- component:()=>import('../views/mm/mainIngredient/CreateIngredients.vue')
- },
- {
- path: '',
- redirect:'/main/ingredients/SelectIngredients'
- }
- ]
- },
-
-
-
-
- {
- // 鐗╂枡搴撳瓨
- path:'ingredientsStock',
- name:'ingredientsStock',
- component: () => import('../views/mm/mainIngredientStock/IngredientsStock.vue'),
- children:[
- {
- path: 'selectIngredientsStock',
- name: 'selectIngredientsStock',
- component:()=>import('../views/mm/mainIngredientStock/SelectIngredientsStock.vue')
- },
-
- {
- path: 'accessoriesMonthlySettlement',
- name: 'accessoriesMonthlySettlement',
- component:()=>import('../views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue')
- },
- {
- path: 'originalMonthlySettlement',
- name: 'originalMonthlySettlement',
- component:()=>import('../views/mm/mainIngredientStock/OriginalMonthlySettlement.vue')
- },
- // 鐗╂枡鍑哄簱
- {
- path: 'materialOutbound',
- name: 'materialOutbound',
- component:()=>import('../views/mm/mainIngredientStock/MaterialOutbound.vue')
- },
- //鍑哄簱鏂板
- {
- path:'createOutBound',
- name:'createOutBound',
- component:()=>import('../views/mm/mainIngredientStock/CreateOutBound.vue')
- },
- //杩斿簱
- {
- path:'returnToStorage',
- name:'returnToStorage',
- component:()=>import('../views/mm/mainIngredientStock/ReturnToStorage.vue')
- },
-
- //杩斿簱鏂板
- {
- path:'returnToStorageCreate',
- name:'returnToStorageCreate',
- component:()=>import('../views/mm/mainIngredientStock/ReturnToStorageCreate.vue')
- },
- {
- path: '',
- redirect:'/main/ingredientsStock/SelectIngredientsStock'
- }
- ]
- },
-
-
-
-
-
- {
- // 渚涘簲鍟嗙鐞嗭紒锛侊紒
- path:'trader',
- name:'trader',
- component: () => import('../views/mm/mainTrader/Trader.vue'),
- children:[
- {
- path: 'selectTrader',
- name: 'selectTrader',
- component:()=>import('../views/mm/mainTrader/SelectTrader.vue')
- },
- {
- path: 'createTrader',
- name: 'createTrader',
- component:()=>import('../views/mm/mainTrader/CreateTrader.vue')
- },
- {
- path: '',
- redirect:'/main/trader/SelectTrader'
- }
- ]
- },
- /*------------- sunshiqiang Add --*/
- {
- /*----------- 浠撳偍鎶ヨ〃 ----------------*/
- path: 'stockReport',
- name: 'stockReport',
- component: () => import('../views/mm/stockReport/stockReport.vue'),
- children:[
- {
- path: 'WarehouseReport',
- name: 'WarehouseReport',
- component: () => import('../views/mm/stockReport/WarehouseReport.vue'),
- }, {
- path: 'StockMonthReport',
- name: 'StockMonthReport',
- component: () => import('../views/mm/stockReport/StockMonthReport.vue'),
- }, {
- path: 'SubsidiaryMonthReport',
- name: 'SubsidiaryMonthReport',
- component: () => import('../views/mm/stockReport/SubsidiaryMonthReport.vue'),
- },
- /*----------- 鏂板 ----------------*/
- {
- path: 'StockWarehouseReport',
- name: 'StockWarehouseReport',
- component: () => import('../views/mm/stockReport/StockWarehouseReport.vue'),
- }, {
- path: '',
- redirect: '/main/stockReport/WarehouseReport'
- }
- ]
- },
- {
- /*----------- 閲囪喘璁㈠崟 ----------------*/
- path: 'purchaseOrder',
- name: 'purchaseOrder',
- component: () => import('../views/mm/purchaseOrder/PurchaseOrder.vue'),
- children: [
- {
- path: 'SelectPurchaseOrder',
- name: 'SelectPurchaseOrder',
- component: () => import('../views/mm/purchaseOrder/Select.vue'),
- }, {
- path: 'CreatePurchaseOrder',
- name: 'CreatePurchaseOrder',
- component: () => import('../views/mm/purchaseOrder/Create.vue')
- },
- /*----------- 鏂板 ----------------*/
- {
- path: 'PaymentPurchaseOrder',
- name: 'PaymentPurchaseOrder',
- component: () => import('../views/mm/purchaseOrder/Payment.vue')
- },
- /*----------- 閫�璐� ----------------*/
- {
- path: 'ReturnPurchaseOrder',
- name: 'ReturnPurchaseOrder',
- component: () => import('../views/mm/purchaseOrder/Return.vue')
- },
- /*----------- 鍏ュ簱 ----------------*/
- {
- path: 'StoragePurchaseOrder',
- name: 'StoragePurchaseOrder',
- component: () => import('../views/mm/purchaseOrder/Storage.vue')
- },
- {
- path: '',
- redirect: '/main/purchaseOrder/SelectPurchaseOrder'
- }
- ]
- },
- {
- /*----------- 閲囪喘鍏ュ簱 ----------------*/
- path: 'purchaseStorage',
- name: 'purchaseStorage',
- component: () => import('../views/mm/purchaseStorage/PurchaseStorage.vue'),
- children: [
- {
- path: 'SelectPurchaseStorage',
- name: 'SelectPurchaseStorage',
- component: () => import('../views/mm/purchaseStorage/Select.vue'),
- },
- {
- path: '',
- redirect: '/main/purchaseStorage/SelectPurchaseStorage'
- }
- ]
- },
- {
- /*----------- 閲囪喘閫�璐� ----------------*/
- path: 'purchaseReturn',
- name: 'purchaseReturn',
- component: () => import('../views/mm/purchaseReturn/PurchaseReturn.vue'),
- children: [
- {
- path: 'SelectPurchaseReturn',
- name: 'SelectPurchaseReturn',
- component: () => import('../views/mm/purchaseReturn/Select.vue'),
- },
- {
- path: '',
- redirect: '/main/purchaseReturn/SelectPurchaseReturn'
+ path: '/UnLoadGlass/Landingindicationtwo',
+ name: 'Landingindicationtwo',
+ component: () => import('../views/UnLoadGlass/Landingindicationtwo.vue')
}
]
},
{
path: '',
- redirect:'/main/order'
+ redirect:'/Slicecage/slicecage'
}
]
},
diff --git a/UI-Project/src/utils/unloadrequest.js b/UI-Project/src/utils/unloadrequest.js
new file mode 100644
index 0000000..bdaeeb5
--- /dev/null
+++ b/UI-Project/src/utils/unloadrequest.js
@@ -0,0 +1,49 @@
+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 鎷︽埅鍣�
+// 鍙互鑷姹傚彂閫佸墠瀵硅姹傚仛涓�浜涘鐞�
+// 姣斿缁熶竴鍔爐oken锛屽璇锋眰鍙傛暟缁熶竴鍔犲瘑
+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 鎷︽埅鍣�
+// 鍙互鍦ㄦ帴鍙e搷搴斿悗缁熶竴澶勭悊缁撴灉
+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
+
diff --git a/UI-Project/src/utils/webSocket.js b/UI-Project/src/utils/webSocket.js
index 779990b..51e5ede 100644
--- a/UI-Project/src/utils/webSocket.js
+++ b/UI-Project/src/utils/webSocket.js
@@ -6,7 +6,7 @@
var serverPort = "/ws"; // webSocket杩炴帴绔彛
-var wsuri = "ws://127.0.0.1:12345/ws";
+var wsuri = "ws://localhost:8081/mesModuleTools";
function createWebSocket(callback) {
diff --git a/UI-Project/src/views/Caching/caching.vue b/UI-Project/src/views/Caching/caching.vue
new file mode 100644
index 0000000..b166446
--- /dev/null
+++ b/UI-Project/src/views/Caching/caching.vue
@@ -0,0 +1,766 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/HomeView.vue b/UI-Project/src/views/HomeView.vue
index 075c71e..6285749 100644
--- a/UI-Project/src/views/HomeView.vue
+++ b/UI-Project/src/views/HomeView.vue
@@ -3,21 +3,21 @@
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>
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
new file mode 100644
index 0000000..92ec074
--- /dev/null
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -0,0 +1,174 @@
+<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>
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index 154d12b..d949ca3 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -98,11 +98,19 @@
<template>
<div class="mainDiv" >
<div id="main-login">
- <div id="img-div">
- <img id="img-pic" src="@/assets/img.png" alt="">
+ <!-- <img
+ style="width: 100%; height: 99vh"
+ src="../../src/assets/background.jpg"
+ /> -->
+ <div>
+ <div style="position: absolute; left: 8vw; top: 6vw; ">
+ <img src="../../src/assets/3.png">
+ </div>
+ <div style="position: absolute; left: 15vw; top: 22vw; font-size: 55px;color: rgba(29, 33, 41, 1);">
+ 鍖楃幓MES绯荤粺
</div>
+ </div>
<div id="div-login">
- <h2>鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺</h2>
<el-form
@submit.native.prevent
ref="ruleFormRef"
@@ -110,41 +118,50 @@
status-icon
:rules="rules"
>
- <el-form-item label="鐢ㄦ埛锛�" prop="userId">
+ <div id="center">
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">璐﹀彿</div>
+ <el-form-item prop="userId">
<el-input
+ style="width: 340px;"
v-model="userForm.userId"
type="text"
autocomplete="off"
:prefix-icon="Avatar"
- placeholder="璇疯緭鍏ヤ綘鐨勮处鍙�"
+ placeholder="璇疯緭鍏ヨ处鍙�"
/>
</el-form-item>
- <el-form-item label="瀵嗙爜锛�" prop="pass">
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">瀵嗙爜</div>
+ <el-form-item prop="pass">
<el-input
+ style="width: 340px;"
v-model="userForm.pass"
type="password"
autocomplete="off"
:prefix-icon="Lock"
- placeholder="璇疯緭鍏ヤ綘鐨勫瘑鐮�"
+ show-password
+ placeholder="璇疯緭鍏ュ瘑鐮�"
/>
</el-form-item>
<el-form-item id="submitForm">
- <el-button
- :loading="registerLoadings"
- type="primary"
- @click="register"
- >娉ㄥ唽
- </el-button>
<el-button
:loading="loginLoadings"
type="primary"
native-type="submit"
@click="submitForm(ruleFormRef)"
@keyup.enter.native="keyDown(e)"
+ plain
>鐧诲綍
+ </el-button>
+ <el-button
+ :loading="registerLoadings"
+ type="primary"
+ @click="register"
+ plain
+ >娉ㄥ唽
</el-button>
</el-form-item>
+ </div>
</el-form>
</div>
</div>
@@ -154,16 +171,15 @@
<style scoped>
.mainDiv{
- //background-color: #1890FF;
overflow: hidden;
min-width: 718px;
+ background-image: url("../../src/assets/background.jpg");
+
}
#main-login{
margin: 150px auto 0 auto;
- height: 60vh;
- width: 70vw;
-
- //background-color: #f2f2f2;
+ height: 70vh;
+ width: 80vw;
}
#img-div{
width: 55%;
@@ -179,23 +195,22 @@
}
#div-login{
margin-top: 5%;
+ /* margin-top: 20%; */
+ /* margin-left: 650px; */
background-color: #fff;
float: right;
width: 40%;
- height: 80%;
- border-radius: 12px;
+ height: 60%;
min-width: 318px;
+ border-radius: 4px;
box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
}
-h2{
- color: #1890FF;
- width: 100%;
- text-align: center;
- margin-top: 20%;
+#center{
+ margin-top: -30px;
}
.el-form{
- width: 50%;
- margin: 5% auto auto;
+ width: 60%;
+ margin: 20% auto auto;
}
#submitForm {
display: flex;
diff --git a/UI-Project/src/views/PurchaseReturn/purchase.vue b/UI-Project/src/views/PurchaseReturn/purchase.vue
new file mode 100644
index 0000000..d0567d3
--- /dev/null
+++ b/UI-Project/src/views/PurchaseReturn/purchase.vue
@@ -0,0 +1,49 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
new file mode 100644
index 0000000..38963a3
--- /dev/null
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -0,0 +1,174 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
new file mode 100644
index 0000000..11f2545
--- /dev/null
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -0,0 +1,90 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/RegisterView.vue b/UI-Project/src/views/RegisterView.vue
index 605158d..44b8078 100644
--- a/UI-Project/src/views/RegisterView.vue
+++ b/UI-Project/src/views/RegisterView.vue
@@ -4,7 +4,8 @@
import type { FormProps,FormInstance, FormRules } from 'element-plus'
import {ElMessage,ElMessageBox} from "element-plus";
import request from "@/utils/request";
- import {Avatar, UserFilled} from "@element-plus/icons-vue";
+import { Lock,Avatar } from '@element-plus/icons-vue'
+ // import {Avatar, UserFilled} from "@element-plus/icons-vue";
const router = useRouter()
const route = useRoute()
@@ -101,6 +102,12 @@
}
})
}
+ const toLogin = () => {
+ router.push({
+ path:'/login',
+ })
+ }
+
@@ -108,76 +115,141 @@
</script>
<template>
- <h2 style="color: #1890FF">
- <span>
- <el-icon><UserFilled /></el-icon>
- <p>鍖楃幓ERP鐢ㄦ埛娉ㄥ唽</p>
- </span>
- </h2>
- <div id="main-div">
-
- <div id="register">
- <el-form
- :label-position="labelPosition"
- label-width="100px"
- :model="register"
- ref="ruleFormRef"
- status-icon
- :rules="rules"
- >
- <el-form-item label="濮撳悕锛�" prop="userName">
- <el-input v-model="register.userName" />
- </el-form-item>
-<!-- <el-form-item label="鐧婚檰鍚嶏細" prop="loginName">-->
-<!-- <el-input v-model="register.loginName" />-->
-<!-- </el-form-item>-->
- <el-form-item label="瀵嗙爜锛�" prop="passWord">
- <el-input type="password" v-model="register.passWord" />
- </el-form-item>
- <el-form-item label="纭瀵嗙爜锛�" prop="confirmPassword">
- <el-input type="password" v-model="register.confirmPassword" />
- </el-form-item>
- <el-form-item >
- <el-button
- :loading="loginLoadings"
- type="primary"
- @click="submitForm(ruleFormRef)"
- >娉ㄥ唽
- </el-button>
- </el-form-item>
- </el-form>
+
+ <div class="mainDiv" >
+ <div id="main-login">
+ <div>
+ <div style="position: absolute; left: 8vw; top: 6vw; ">
+ <img src="../../src/assets/3.png">
+ </div>
+ <div style="position: absolute; left: 15vw; top: 22vw; font-size: 55px;color: rgba(29, 33, 41, 1);">
+ 鍖楃幓MES绯荤粺
+ </div>
</div>
- </div>
+ <div id="div-login">
+ <el-form
+ @submit.native.prevent
+ ref="ruleFormRef"
+ :model="register"
+ status-icon
+ :rules="rules"
+ label-width="75px"
+ >
+ <div id="title">娉ㄥ唽鏂扮敤鎴�</div>
+ <div id="center">
+ <!-- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">濮撳悕</div> -->
+ <el-form-item prop="userName" label="濮撳悕:">
+ <el-input
+ style="width: 200px;"
+ v-model="register.userName"
+ type="text"
+ autocomplete="off"
+ :prefix-icon="Avatar"
+ placeholder="璇疯緭鍏ュ鍚�"
+ />
+ </el-form-item>
+ <!-- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">瀵嗙爜</div> -->
+ <el-form-item prop="passWord" label="瀵嗙爜:">
+ <el-input
+ style="width: 200px;"
+ v-model="register.passWord"
+ type="password"
+ autocomplete="off"
+ :prefix-icon="Lock"
+ placeholder="璇疯緭鍏ュ瘑鐮�"
+ show-password
+ />
+ </el-form-item>
+ <!-- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">纭瀵嗙爜</div> -->
+ <el-form-item prop="confirmPassword" label="纭瀵嗙爜:">
+ <el-input
+ style="width: 200px;"
+ v-model="register.confirmPassword"
+ type="password"
+ :prefix-icon="Lock"
+ autocomplete="off"
+ show-password
+ placeholder="璇风‘璁ゅ瘑鐮�"
+ />
+ </el-form-item>
+ <el-form-item id="submitForm">
+ <el-button
+ :loading="loginLoadings"
+ type="primary"
+ @click="submitForm(ruleFormRef)"
+ plain
+ >纭娉ㄥ唽
+ </el-button>
+ <el-button
+ type="primary"
+ @click="toLogin"
+ plain
+ >鍙栨秷
+ </el-button>
+ </el-form-item>
+ </div>
+ </el-form>
+ </div>
+</div>
+</div>
</template>
<style scoped>
-#main-div{
- //overflow: hidden;
+/* #main-div{
position: absolute;
- left:50%;
- top:50%;
+ left:75%;
+ top:45%;
transform: translate(-50%, -50%);
-
-}
-h2{
- text-align: center;
- width: 100vw;
- margin-top: 10vh;
-}
-#register{
- background-color: #FAFAFA;
- width: 50vw;
- height: 50vh;
- border-radius: 12px;
+} */
+/* #register{
+ background-color: #fff;
+ width: 32vw;
+ height: 35vh;
box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
display:flex;
align-items:center;
justify-content:center;
min-height: 280px;
-}
-.el-form{
+} */
+/* .el-form{
max-width: 300px;
+} */
+#div-login{
+ margin-top: 5%;
+ /* margin-top: 20%; */
+ /* margin-left: 650px; */
+ background-color: #fff;
+ border-radius: 4px;
+ float: right;
+ width: 40%;
+ height: 60%;
+ min-width: 318px;
+ box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
}
+#center{
+ margin-top: 45px;
+ margin-left: 100px;
+}
+.mainDiv{
+ overflow: hidden;
+ min-width: 718px;
+ background-image: url("../../src/assets/background.jpg");
+
+}
+#main-login{
+ margin: 150px auto 0 auto;
+ height: 70vh;
+ width: 80vw;
+}
+#submitForm{
+ margin-top: 30px;
+ margin-left: -10px;
+}
+#title{
+ font-size: 25px;
+ text-align: center;
+ margin-top: 10px;
+}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/returns/CreateReturns.vue b/UI-Project/src/views/Returns/CreateReturns.vue
similarity index 100%
rename from UI-Project/src/views/sd/returns/CreateReturns.vue
rename to UI-Project/src/views/Returns/CreateReturns.vue
diff --git a/UI-Project/src/views/sd/returns/ReturnsReport.vue b/UI-Project/src/views/Returns/ReturnsReport.vue
similarity index 100%
rename from UI-Project/src/views/sd/returns/ReturnsReport.vue
rename to UI-Project/src/views/Returns/ReturnsReport.vue
diff --git a/UI-Project/src/views/sd/returns/SelectDeliveryList.vue b/UI-Project/src/views/Returns/SelectDeliveryList.vue
similarity index 100%
rename from UI-Project/src/views/sd/returns/SelectDeliveryList.vue
rename to UI-Project/src/views/Returns/SelectDeliveryList.vue
diff --git a/UI-Project/src/views/Returns/SelectReturns.vue b/UI-Project/src/views/Returns/SelectReturns.vue
new file mode 100644
index 0000000..e3fce3b
--- /dev/null
+++ b/UI-Project/src/views/Returns/SelectReturns.vue
@@ -0,0 +1,273 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
new file mode 100644
index 0000000..a0a97f9
--- /dev/null
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -0,0 +1,426 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
new file mode 100644
index 0000000..ea231b5
--- /dev/null
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -0,0 +1,568 @@
+<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="璇疯緭鍏ョ幓鐠僫d" 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="璇疯緭鍏ョ幓鐠僫d"></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="璇疯緭鍏ョ幓鐠僫d"></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="璇疯緭鍏ョ幓鐠僫d"></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="璇疯緭鍏ョ幓鐠僫d"></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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Create.vue b/UI-Project/src/views/StockBasicData/Create.vue
new file mode 100644
index 0000000..0fc1826
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Create.vue
@@ -0,0 +1,724 @@
+<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',
+ },
+
+]
+
+//椤甸潰閫昏緫浠g爜鎵ц
+function logicExecute(type){
+ const $grid = xGrid.value
+ switch (type) {
+ case '鍏ュ簱':
+ //鍏ュ簱閫昏緫浠g爜TODO
+ MessageShow('鍏ュ簱鎴愬姛锛�', 'success');
+ break;
+ case '閫�璐�':
+ //閫�璐ч�昏緫浠g爜TODO
+ MessageShow('閫�璐ф垚鍔燂紒', 'success');
+ break;
+ case '淇濆瓨璁㈠崟':
+ //淇濆瓨璁㈠崟閫昏緫浠g爜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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Details.vue b/UI-Project/src/views/StockBasicData/Details.vue
new file mode 100644
index 0000000..04fa130
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Details.vue
@@ -0,0 +1,453 @@
+<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: ''
+
+})
+
+
+//椤甸潰閫昏緫浠g爜鎵ц
+function logicExecute(type){
+ const $grid = xGrid.value
+ switch (type) {
+ case '鍏ュ簱':
+ //鍏ュ簱閫昏緫浠g爜TODO
+ MessageShow('鍏ュ簱鎴愬姛锛�', 'success');
+ break;
+ case '閫�璐�':
+ //閫�璐ч�昏緫浠g爜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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Payment.vue b/UI-Project/src/views/StockBasicData/Payment.vue
new file mode 100644
index 0000000..475da20
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Payment.vue
@@ -0,0 +1,354 @@
+<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]
+ },
+ },
+]
+
+
+//椤甸潰閫昏緫浠g爜鎵ц
+function logicExecute(type){
+ const $grid = xGrid.value
+ switch (type) {
+ case '纭搴斾粯':
+ //鍏ュ簱閫昏緫浠g爜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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Return.vue b/UI-Project/src/views/StockBasicData/Return.vue
new file mode 100644
index 0000000..354092d
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Return.vue
@@ -0,0 +1,593 @@
+<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]
+ },
+ },
+]
+
+
+//椤甸潰閫昏緫浠g爜鎵ц
+function logicExecute(type) {
+ const $grid = xGrid.value
+ switch (type) {
+ case '纭畾':
+ //澶氶�夐��璐ч�昏緫浠g爜TODO
+ MessageShow('鎿嶄綔鎴愬姛锛�', 'success');
+ break;
+ case '閫�璐�':
+ //鍗曢��璐ч�昏緫浠g爜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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Select.vue b/UI-Project/src/views/StockBasicData/Select.vue
new file mode 100644
index 0000000..b7539d3
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Select.vue
@@ -0,0 +1,486 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/Storage.vue b/UI-Project/src/views/StockBasicData/Storage.vue
new file mode 100644
index 0000000..98a9156
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/Storage.vue
@@ -0,0 +1,603 @@
+<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]
+ },
+ },
+]
+
+
+//椤甸潰閫昏緫浠g爜鎵ц
+function logicExecute(type) {
+ const $grid = xGrid.value
+ switch (type) {
+ case '鍏ュ簱':
+ //鍏ュ簱閫昏緫浠g爜TODO
+ MessageShow('鍏ュ簱鎴愬姛锛�', 'success');
+ break;
+ case '閫�璐�':
+ //閫�璐ч�昏緫浠g爜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>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
new file mode 100644
index 0000000..cf2dab3
--- /dev/null
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -0,0 +1,169 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
index a574308..9fc3091 100644
--- a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
+++ b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
@@ -8,7 +8,6 @@
import deepClone from "@/utils/deepClone";
import { ElMessage } from "element-plus";
import { useRouter } from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
const router = useRouter()
@@ -24,7 +23,8 @@
export default {
mounted() {
//鑾峰彇鏁版嵁
- request.get("/Temper/Tindex").then((res) => {
+ var data="ProcessId="+"P24032508";
+ request.get("/TidyUpGlassModule/SelectTerritoryInfo?"+data).then((res) => {
if (res.code == 200) {
var StoveCount=0;
var temperid;
@@ -161,11 +161,8 @@
<template>
<div ref="content">
-
+ <canvas ref="mycanvas"></canvas>
</div>
- <canvas ref="mycanvas" >
-
- </canvas>
</template>
<style scoped>
diff --git a/UI-Project/src/views/UnLoadGlass.rar b/UI-Project/src/views/UnLoadGlass.rar
new file mode 100644
index 0000000..a4932b3
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass.rar
Binary files differ
diff --git a/UI-Project/src/views/UnLoadGlass.zip b/UI-Project/src/views/UnLoadGlass.zip
new file mode 100644
index 0000000..6435317
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass.zip
Binary files differ
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
new file mode 100644
index 0000000..1c572a5
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -0,0 +1,118 @@
+<template>
+ <div class="glass-rack">
+ <div >
+ <svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
+ <g stroke="null" id="Layer_1">
+ <!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
+ <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"
+ @click="showRectInfo(rack)"
+ />
+ <rect
+ :x="calculateItemXPosition(rack, rack.item, index)"
+ :y="calculateItemYPosition(rack, rack.item, index)"
+ :width="rack.item.width"
+ :height="rack.item.height"
+ :fill="rack.item.fillColor"
+ />
+ <text :x="rack.x + rack.width / 2" :y="rack.y - 10" text-anchor="middle">{{ index + 1 }}鍙峰伐浣�</text>
+ <text :x="rack.x + rack.width / 2" :y="rack.y + rack.height + 20" text-anchor="middle">{{ rack.item.content }}</text>
+ </g>
+ </g>
+ </svg>
+ </div>
+ </div>
+</template>
+
+<script>
+import Swal from 'sweetalert2'
+export default {
+ data() {
+ return {
+ racks: [
+ { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
+ { x: 50, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 20, width: 10, fillColor: 'yellow', content: 'NG1234567' } },
+ { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
+ { x: 280, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 35, width: 23, fillColor: 'yellow', content: 'NG123456910' } },
+ { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
+ ]
+ };
+ },
+ methods: {
+ // 璁$畻鍐呴儴鐗╁搧鐨� x 鍧愭爣浣嶇疆
+ calculateItemXPosition(rack, item, index) {
+ if (index === 0 || index === 1) { // 濡傛灉鏄涓�鎴栫浜屼釜鐗╁搧
+ return rack.x; // 杩斿洖宸﹁竟鐣� x 鍧愭爣
+ } else if (index === 2 || index === 3) { // 濡傛灉鏄涓夋垨绗洓涓墿鍝�
+ return rack.x + rack.width - item.width; // 杩斿洖鍙宠竟鐣� x 鍧愭爣
+ } else {
+ return rack.x + (rack.width - item.width) / 2; // 杩斿洖姘村钩灞呬腑鐨� x 鍧愭爣
+ }
+ },
+ // 璁$畻鍐呴儴鐗╁搧鐨� y 鍧愭爣浣嶇疆
+ calculateItemYPosition(rack, item, index) {
+ if (index === 0 || index === 1) { // 濡傛灉鏄涓�鎴栫浜屼釜鐗╁搧
+ return rack.y + (rack.height - item.height) / 2; // 杩斿洖鍨傜洿灞呬腑鐨� y 鍧愭爣
+ } else if (index === 2 || index === 3) { // 濡傛灉鏄涓夋垨绗洓涓墿鍝�
+ return rack.y + (rack.height - item.height) / 2; // 杩斿洖鍨傜洿灞呬腑鐨� y 鍧愭爣
+ } else {
+ return rack.y + rack.height - item.height; // 杩斿洖搴曢儴瀵归綈鐨� y 鍧愭爣
+ }
+ },
+ showCustomAlert(content) {
+ var str="鏋跺彿 : 111\n" +
+ "闀� : 111\n" +
+ "瀹� : 111\n" +
+ "鍘� : 111\n"+
+ "鐜荤拑ID : 111\n"+
+ "鑶滅郴 : 111\n";
+
+Swal.fire({
+ title: '鐜荤拑淇℃伅',
+ html: '<pre>' + str + '</pre>',
+ customClass: {
+ popup: 'format-pre'
+ }
+});
+
+ },
+ showRectInfo( rectInfo) {
+ const content = rectInfo.item.content;
+ this.$nextTick(() => {
+ this.showCustomAlert(content);
+ });
+},
+ }
+};
+</script>
+
+<style scoped>
+.glass-rack {
+ margin-left: 20px;
+ width: 500px;
+ margin-top: 10px;
+ /* background-color: antiquewhite; */
+}
+.rack-rect:hover {
+ cursor: pointer;
+}
+.custom-popover-class {
+ background-color: lightgrey;
+ color: black;
+ border: 1px solid black;
+}
+.format-pre pre {
+ background: #49483e;
+ color: #f7f7f7;
+ padding: 10px;
+ font-size: 14px;
+}
+
+</style>
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
new file mode 100644
index 0000000..1c43b71
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -0,0 +1,114 @@
+<template>
+ <div class="glass-rack">
+ <div>
+ <svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
+ <g stroke="null" id="Layer_1">
+ <!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
+ <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"
+ @click="showRectInfo(rack)"
+ />
+ <rect
+ :x="calculateItemXPosition(rack, rack.item, index)"
+ :y="calculateItemYPosition(rack, rack.item, index)"
+ :width="rack.item.width"
+ :height="rack.item.height"
+ :fill="rack.item.fillColor"
+ />
+ <text :x="rack.x + rack.width / 2" :y="rack.y - 10" text-anchor="middle">{{ index + 6 }}鍙峰伐浣�</text>
+ <text :x="rack.x + rack.width / 2" :y="rack.y + rack.height + 20" text-anchor="middle">{{ rack.item.content }}</text>
+ </g>
+ </g>
+ </svg>
+ </div>
+ </div>
+</template>
+
+<script>
+import Swal from 'sweetalert2'
+export default {
+ data() {
+ return {
+ racks: [
+ { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
+ { x: 50, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 20, width: 10, fillColor: 'yellow', content: 'NG1234567' } },
+ { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
+ { x: 280, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 35, width: 23, fillColor: 'yellow', content: 'NG123456910' } },
+ { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
+ ]
+ };
+ },
+ methods: {
+ calculateItemXPosition(rack, item, index) {
+ if (index === 0 || index === 1) {
+ return rack.x;
+ } else if (index === 2 || index === 3) {
+ return rack.x + rack.width - item.width;
+ } else {
+ return rack.x + (rack.width - item.width) / 2;
+ }
+ },
+ calculateItemYPosition(rack, item, index) {
+ if (index === 0 || index === 1) {
+ return rack.y + (rack.height - item.height) / 2;
+ } else if (index === 2 || index === 3) {
+ return rack.y + (rack.height - item.height) / 2;
+ } else {
+ return rack.y + rack.height - item.height;
+ }
+ },
+ showCustomAlert(content) {
+ var str="鏋跺彿 : 111\n" +
+ "闀� : 111\n" +
+ "瀹� : 111\n" +
+ "鍘� : 111\n"+
+ "鐜荤拑ID : 111\n"+
+ "鑶滅郴 : 111\n";
+
+Swal.fire({
+ title: '鐜荤拑淇℃伅',
+ html: '<pre>' + str + '</pre>',
+ customClass: {
+ popup: 'format-pre'
+ }
+});
+
+ },
+ showRectInfo( rectInfo) {
+ const content = rectInfo.item.content;
+ this.$nextTick(() => {
+ this.showCustomAlert(content);
+ });
+},
+ }
+};
+</script>
+
+<style scoped>
+.glass-rack {
+ margin-left: 20px;
+ width: 500px;
+}
+.rack-rect:hover {
+ cursor: pointer;
+}
+.custom-popover-class {
+ background-color: lightgrey;
+ color: black;
+ border: 1px solid black;
+}
+.format-pre pre {
+ background: #49483e;
+ color: #f7f7f7;
+ padding: 10px;
+ font-size: 14px;
+}
+
+</style>
diff --git a/UI-Project/src/views/sd/customer/Customer.vue b/UI-Project/src/views/UnLoadGlass/UnLoadGlass.vue
similarity index 75%
rename from UI-Project/src/views/sd/customer/Customer.vue
rename to UI-Project/src/views/UnLoadGlass/UnLoadGlass.vue
index bb247e9..823a521 100644
--- a/UI-Project/src/views/sd/customer/Customer.vue
+++ b/UI-Project/src/views/UnLoadGlass/UnLoadGlass.vue
@@ -10,13 +10,13 @@
<template>
<div id="main-div">
- <div id="div-title">
+ <!-- <div id="div-title">
<el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/customer/selectCustomer' }">瀹㈡埛棣栭〉</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/customer/CreateCustomer' }">鏂板</el-breadcrumb-item>
+ <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/UnLoadGlass/loadmachinerack' }">涓嬬墖绠$悊</el-breadcrumb-item>
+ <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/UnLoadGlass/loadmachinerack' }">涓嬬墖淇℃伅</el-breadcrumb-item>
<el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>
</el-breadcrumb>
- </div>
+ </div> -->
<div id="main-body">
<router-view />
@@ -37,14 +37,14 @@
margin-top: -5px;
margin-left: 1rem;
}
-#searchButton1{
+/* #searchButton1{
//margin-left: 10rem;
-}
+} */
/*main-body鏍峰紡*/
#main-body{
width: 100%;
height: 95%;
- margin-top: 1%;
+ /* margin-top: 1%; */
}
#select{
margin-left:0.5rem;
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
new file mode 100644
index 0000000..9d6e547
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -0,0 +1,193 @@
+<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-bodya">
+ <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: -20px;
+ margin-left: 450px;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue b/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue
new file mode 100644
index 0000000..cd181fc
--- /dev/null
+++ b/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue
@@ -0,0 +1,193 @@
+<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>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredient/CreateIngredients.vue b/UI-Project/src/views/mm/mainIngredient/CreateIngredients.vue
deleted file mode 100644
index 6dd4365..0000000
--- a/UI-Project/src/views/mm/mainIngredient/CreateIngredients.vue
+++ /dev/null
@@ -1,214 +0,0 @@
-<!-- 鐗╂枡璧勬枡鏂板鍘熺墖 -->
-
-<script lang="ts" setup>
-import {ref} from "vue";
-const value = ref('')
-const options = [
- {
- value: '鍘熺墖',
- label: '鍘熺墖'
- },
- {
- value: '杈呮枡',
- label: '杈呮枡',
- }
-]
-</script>
-<template>
-
- <div class="center-box">
-
- <el-card class="form-card">
- <el-form size="medium" >
-<div>
- <el-row>
- <el-col :span="4">
- <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-col>
- </el-row>
-</div>
-
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
- <el-row gutter="5" v-show="value=='鍘熺墖'" >
- <el-col :span="4.5">
- 闀垮害 <el-input v-show="value=='鍘熺墖'" v-model="name" placeholder="璇疯緭鍏ラ暱搴�" style="width: 150px; height: 30px;" />
- </el-col>
- <el-col :span="4.5">
- 鍘氬害 <el-input v-show="value=='鍘熺墖'" v-model="name" placeholder="璇疯緭鍏ュ帤搴�" style="width: 150px; height: 30px;" />
- </el-col>
- <el-col :span="4.5">
- 瀹藉害 <el-input v-show="value=='鍘熺墖'" v-model="name" placeholder="璇疯緭鍏ュ搴�" style="width: 150px; height: 30px;" />
- </el-col>
-<!-- <el-col :span="4">-->
-<!-- <el-dropdown>-->
-<!-- <el-button type="primary">-->
-<!-- 鑶滅郴<el-icon class="el-icon--right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!-- </el-button>-->
-<!-- <template #dropdown>-->
-<!-- <el-dropdown-menu>-->
-<!-- <el-dropdown-item>闈為晙鑶�</el-dropdown-item>-->
-<!-- <el-dropdown-item>鍦ㄧ嚎LOW-E</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-I</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-I+</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-II</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-III</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-V</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUPPER-IA</el-dropdown-item>-->
-<!-- <el-dropdown-item>SUNLITE LOWE</el-dropdown-item>-->
-<!-- <el-dropdown-item>LOW-E40</el-dropdown-item>-->
-<!-- <el-dropdown-item>LOW-E40A</el-dropdown-item>-->
-<!-- <el-dropdown-item>LOW-E50</el-dropdown-item>-->
-<!-- <el-dropdown-item>LOW-E55N</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </template>-->
-<!-- </el-dropdown>-->
-<!-- </el-col>-->
- </el-row>
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
- <el-row gutter="5" v-show="value=='鍘熺墖'|| value=='杈呮枡'">
- <el-col :span="4.5">
- 鍚嶇О <el-input v-show="value=='鍘熺墖' || value=='杈呮枡'" v-model="productName" placeholder="璇疯緭鍏ュ悕绉�" style="width: 150px; height: 30px;" />
- </el-col>
- <el-col :span="4.5">
- 鏁伴噺 <el-input v-show="value=='鍘熺墖' || value=='杈呮枡'" v-model="salId" placeholder="璇疯緭鍏ユ暟閲�" style="width: 150px; height: 30px;" />
- </el-col>
- <el-col :span="4.5">
- 鍗曚綅 <el-input v-model="name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 150px; height: 30px;" />
- </el-col>
- <el-col :span="4.5">
- 鍨嬪彿<el-input v-model="name" placeholder="璇疯緭鍏ュ瀷鍙�" style="width: 150px; height: 30px;" />
- </el-col>
- </el-row>
- <el-divider v-show="false" ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-<!-- <el-row gutter="5">-->
-<!-- <el-col span="4.5">-->
-<!-- <el-input v-model="name" placeholder="璇疯緭鍏ユ崲绠楀崟浣�" style="width: 150px; height: 30px;" />-->
-<!-- </el-col>-->
-<!-- <el-col :span="4.5">-->
-<!-- <el-input v-model="name" placeholder="璇疯緭鍏ユ崲绠楃巼" style="width: 150px; height: 30px;" />-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
- <el-row gutter="5">
-
-
-
-
- </el-row>
-
-<!-- <el-divider ></el-divider> <!– 娣诲姞鍒嗛殧绾� –>-->
-
-<!-- <el-row gutter="5">-->
-<!-- <el-col :span="4.5">-->
-<!-- <el-input v-model="name" placeholder="璇疯緭鍏ュ瀷鍙�" style="width: 150px; height: 30px;" />-->
-<!-- </el-col>-->
-
-<!-- <el-col :span="4.5">-->
-<!-- <el-input v-model="name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 150px; height: 30px;" />-->
-<!-- </el-col>-->
-<!-- <el-col :span="4">-->
-<!-- <el-dropdown>-->
-<!-- <el-button type="primary">-->
-<!-- 浜у湴<el-icon class="el-icon--right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!-- </el-button>-->
-<!-- <template #dropdown>-->
-<!-- <el-dropdown-menu>-->
-<!-- <el-dropdown-item>鏆傛棤</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </template>-->
-<!-- </el-dropdown>-->
-<!-- </el-col>-->
-<!-- <el-col :span="4">-->
-<!-- <el-dropdown>-->
-<!-- <el-button type="primary">-->
-<!-- 涓被<el-icon class="el-icon--right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!-- </el-button>-->
-<!-- <template #dropdown>-->
-<!-- <el-dropdown-menu>-->
-<!-- <el-dropdown-item>0</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </template>-->
-<!-- </el-dropdown>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-
-
-<!-- <el-divider ></el-divider> <!– 娣诲姞鍒嗛殧绾� –>-->
-
-<!-- <el-row gutter="5">-->
-
-
-<!-- <el-col :span="4.5">-->
-<!-- <el-input v-model="name" placeholder="璇疯緭鍏ュ娉�" style="width: 150px; height: 30px;" />-->
-<!-- </el-col>-->
-<!-- <el-col :span="4">-->
-<!-- <el-dropdown>-->
-<!-- <el-button type="primary">-->
-<!-- 灏忕被<el-icon class="el-icon--right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!-- </el-button>-->
-<!-- <template #dropdown>-->
-<!-- <el-dropdown-menu>-->
-<!-- <el-dropdown-item>0</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </template>-->
-<!-- </el-dropdown>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-
-<!-- <el-divider ></el-divider> <!– 娣诲姞鍒嗛殧绾� –>-->
-
-
-<!-- <el-row gutter="5">-->
-<!--<!– <el-col :span="4.5">–>-->
-<!--<!– <el-input v-model="name" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡" style="width: 150px; height: 30px;" />–>-->
-<!--<!– </el-col>–>-->
-<!--<!– <el-col :span="4.5">–>-->
-<!--<!– <el-input v-model="name" placeholder="璇疯緭鍏ユ渶楂橀璀�" style="width: 150px; height: 30px;" />–>-->
-<!--<!– </el-col>–>-->
-<!--<!– <el-col :span="4.5">–>-->
-<!--<!– <el-input v-model="name" placeholder="璇疯緭鍏ユ媶鍖呴璀�" style="width: 150px; height: 30px;" />–>-->
-<!--<!– </el-col>–>-->
-
-<!-- </el-row>-->
-<!-- <el-divider ></el-divider> <!– 娣诲姞鍒嗛殧绾� –>-->
- <el-row gutter="10" justify="center" >
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">纭畾</el-button>
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- </div>
-
-</template>
-<style>
-.centered-box {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
-}
-
-.form-card {
- width: 1000px;
- padding: 30px 30px;
-}
-.button-row {
- display: flex;
- justify-content: center;
- margin-top: 20px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredient/Ingredients.vue b/UI-Project/src/views/mm/mainIngredient/Ingredients.vue
deleted file mode 100644
index 351258b..0000000
--- a/UI-Project/src/views/mm/mainIngredient/Ingredients.vue
+++ /dev/null
@@ -1,66 +0,0 @@
-<!-- 鐗╂枡璧勬枡 -->
-
-
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredients/SelectIngredients' }">鐗╂枡璧勬枡</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredients/CreateIngredients' }">鐗╂枡鏂板</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
- </el-breadcrumb>
-
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
- /* margin-left: 10rem; */
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredient/SelectIngredients.vue b/UI-Project/src/views/mm/mainIngredient/SelectIngredients.vue
deleted file mode 100644
index eb617c4..0000000
--- a/UI-Project/src/views/mm/mainIngredient/SelectIngredients.vue
+++ /dev/null
@@ -1,183 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/ingredients/CreateIngredients', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- {field: 'materialCode', width:'150', title: '鐗╂枡缂栫爜', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'materialName', width: '150',title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'origin', width: '120',title: '浜у湴', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'width', width: '100',title: '瀹藉害', sortable: true},
- {field: 'height',width: '100', title: '楂樺害', sortable: true,showOverflow:"ellipsis"},
- {field: 'thickness', width: '80',title: '鍘氬害', sortable: true},
- {field: 'model',width: '100', title: '鍨嬪彿', sortable: true},
- {field: 'conversionRate', width: '100',title: '鎹㈢畻鐜�', sortable: true},
- {field: 'unit',width: '100', title: '鍗曚綅', sortable: true},
- {field: 'conversionUnit', width: '80',title: '鎹㈢畻鍗曚綅', sortable: true},
- {field: 'shelfLife',width: '100', title: '淇濊川鏈�', sortable: true},
- {field: 'weight', width: '100',title: ' 閲嶉噺', sortable: true},
- {field: 'quantity',width: '110', title: '鏁伴噺', sortable: true},
- {field: 'inventoryOrganization',width: '100', title: '搴撳瓨缁勭粐', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
-
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
-
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "materialCode": 700900000000941,
- "materialName": "涓濊闃叉檼鎵嬪濂楄",
- "origin": "00",
- "width": "00",
- "height": "00",
- "thickness":'00',
- "model": "鏈嶉グ",
- "conversionRate": "1000",
- "unit": "鍙�",
- "conversionUnit": "1",
- "shelfLife": "12涓湀",
- "weight": "0.0000",
- "quantity": "10000",
- "inventoryOrganization": "浜哄伐搴�",
- "remark": "娴嬭瘯",
- },
- {
- "materialCode": 700900000000941,
- "materialName": "涓濊闃叉檼鎵嬪濂楄",
- "origin": "00",
- "width": "00",
- "height": "00",
- "thickness":'00',
- "model": "鏈嶉グ",
- "conversionRate": "1000",
- "unit": "鍙�",
- "conversionUnit": "1",
- "shelfLife": "12涓湀",
- "weight": "0.0000",
- "quantity": "10000",
- "inventoryOrganization": "浜哄伐搴�",
- "remark": "娴嬭瘯",
- },
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue b/UI-Project/src/views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue
deleted file mode 100644
index 058693f..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import {VXETable} from "vxe-table";
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
-
- }
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'month', width:'150', title: '鏈堜唤', sortable: true,editRender: { name: 'input' },filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
- {field: 'unit', width: '150',title: '鍗曚綅', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'materialCode', width: '120',title: '鐗╂枡缂栫爜', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'materialName', width: '100',title: '鐗╂枡鍚嶇О', sortable: true},
- {field: 'height',width: '100', title: '楂樺害', sortable: true,showOverflow:"ellipsis"},
- {field: 'thickness', width: '80',title: '鍘氬害', sortable: true},
- {field: 'width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'lastMonthQuantity', width: '100',title: '涓婃湀鏁伴噺', sortable: true},
- {field: 'lastMonthArea',width: '100', title: '涓婃湀闈㈢Н', sortable: true},
- {field: 'thisMonthReceivedQuantity', width: '140',title: '鏈湀鍏ュ簱鏁伴噺', sortable: true},
- {field: 'thisMonthReceivedArea',width: '140', title: '鏈湀鍏ュ簱闈㈢Н', sortable: true},
- {field: 'thisMonthIssuedQuantity', width: '140',title: '鏈湀鍑哄簱鏁伴噺', sortable: true},
- {field: 'thisMonthIssuedArea',width: '140', title: '鏈湀鍑哄簱闈㈢Н', sortable: true},
- {field: 'thisMonthInventoryQuantity',width: '140', title: '鏈湀搴撳瓨鏁伴噺', sortable: true},
- {field: 'thisMonthInventoryArea',width: '140', title: '鏈湀搴撳瓨闈㈢Н', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏌ヨ',
- // 'code':'add'
- // },],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 'month':'3',
- 'unit':'浠�',
- 'materialCode':'KF2023122101',
- 'materialName':'鍏墰鎻掑骇',
- 'height':'0',
- 'thickness':'0',
- 'width':'0',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- {
- 'month':'3',
- 'unit':'浠�',
- 'materialCode':'KF2023122101',
- 'materialName':'鍏墰鎻掑骇',
- 'height':'0',
- 'thickness':'0',
- 'width':'0',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- {
- 'month':'3',
- 'unit':'浠�',
- 'materialCode':'KF2023122101',
- 'materialName':'鍏墰鎻掑骇',
- 'height':'0',
- 'thickness':'0',
- 'width':'0',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- ],//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 xGrid = ref();
-
-const gridEvents = {
- toolbarButtonClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'add': {
-
- router.push({path: '/main/trader/CreateTrader'})
- /*if($grid.getCheckboxRecords().length==0){
- VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }*/
- return;
- }
-
- }
- }
- },
- toolbarToolClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
- }
- },
-}
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">鏌ヨ杈呮枡鎶ヨ〃鏃ユ湡</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ鎶ヨ〃</el-button>
- </el-col>
- </el-row>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/CreateOutBound.vue b/UI-Project/src/views/mm/mainIngredientStock/CreateOutBound.vue
deleted file mode 100644
index 68cf0be..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/CreateOutBound.vue
+++ /dev/null
@@ -1,226 +0,0 @@
-<!--鐗╂枡鍑哄簱-->
-
-
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- // { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'MaterialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '鐗╂枡鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'InventoryCount',width: '100', title: '搴撳瓨鏁伴噺', sortable: true},
- {field: 'OutNum', width:'150', title: '鍑哄簱鏁伴噺', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'Origin', width: '100',title: '浜у湴', sortable: true},
- {field: 'Width', width: '80',title: '瀹藉害', sortable: true},
- {field: 'Height',width: '100', title: '楂樺害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'MainUnit',width: '100', title: '鍗曚綅', sortable: true},
- {field: 'SafetyStock', width: '100',title: '鍗曠墖闈㈢Н', sortable: true},
- {field: 'AvailableInventory', width: '100',title: '鎹㈢畻鐜�', sortable: true},
- {field: 'UnclaimedQuantity',width: '140', title: '鏈鍙栨暟閲�', sortable: true},
- {field: 'TotalArea',width: '100', title: '搴撳尯', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'ProductionDate',width: '100', title: '搴撲綅', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'ShelfLife',width: '100', title: '宸ョ▼鍗曞彿', sortable: true},
- {field: 'LocationNumber',width: '100', title: '鐢熶骇鏃ユ湡', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
- {'name': '鎻愪氦',status:'primary'},
- {'name': '瀹℃牳',status:'primary', 'disabled': true}
- ],
- 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>
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">棰嗘枡鏃ユ湡</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;height: 30px"
- />
- </el-col>
- <el-col :span="4">
- <el-input v-model="productName" placeholder="璇疯緭鍏ラ鏂欏憳鍚嶇О" style="width: 200px; height: 30px;" />
- </el-col>
- <el-col :span="4">
- <el-input v-model="banzu" placeholder="璇疯緭鍏ラ鏂欑彮缁�" style="width: 200px; height: 30px;" />
- </el-col>
- <el-col :span="7">
- 浠撶鍛�<el-input v-model="banzu" placeholder="鐜嬬繝鍏�" style="width: 200px; height: 30px;" />
- </el-col>
-<!-- <el-col span="4">-->
-<!-- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ鎶ヨ〃</el-button>-->
-<!-- </el-col>-->
- </el-row>
-
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">搴撳瓨缁勭粐</div>
- </el-col>
- <el-col :span="4">
- <el-dropdown>
- <el-button type="primary">
- 璇烽�夋嫨搴撳瓨缁勭粐<el-icon class="el-icon--right" style="width: 66px;height: 30px"><arrow-down /></el-icon>
- </el-button>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item>浜哄伐搴�</el-dropdown-item>
- <el-dropdown-item>璁″垝搴�</el-dropdown-item>
- <el-dropdown-item>鑷姩鍖栧簱</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </el-col>
-
- <el-col :span="4">
- <el-dropdown>
- <el-button type="primary">
- 璇烽�夋嫨鍑哄簱绫诲瀷<el-icon class="el-icon--right" style="width:66px;"><arrow-down /></el-icon>
- </el-button>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item>鏍囧噯鍑哄簱</el-dropdown-item>
- <el-dropdown-item>琛ュ崟棰嗘枡</el-dropdown-item>
- <el-dropdown-item>杩斿伐棰嗘枡</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </el-col>
- <el-col :span="12">
- <el-input v-model="banzu" placeholder="璇疯緭鍏ラ攢鍞崟鍙�" style="width: 200px; height: 30px;" />
- </el-col>
-<!-- <el-col span="4">-->
-<!-- <el-button id="searchButton" type="primary" :icon="Search">鎻愪氦</el-button>-->
-<!-- </el-col>-->
- <!-- <el-col span="4">-->
- <!-- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ鎶ヨ〃</el-button>-->
- <!-- </el-col>-->
- </el-row>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/IngredientsStock.vue b/UI-Project/src/views/mm/mainIngredientStock/IngredientsStock.vue
deleted file mode 100644
index 6cdfc0c..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/IngredientsStock.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-<!-- 鐗╂枡搴撳瓨 -->
-
-
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredientsStock/SelectIngredientsStock' }">鐗╂枡搴撳瓨</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">鐗╂枡鍑哄簱</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/ingredientsStock/OriginalMonthlySettlement' }">鍘熺墖鏈堢粨</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">杈呮枡鏈堢粨</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/ingredientsStock/ReturnToStorage' }">杩斿簱</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
- </el-breadcrumb>
-
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/MaterialOutbound.vue b/UI-Project/src/views/mm/mainIngredientStock/MaterialOutbound.vue
deleted file mode 100644
index edb4f9e..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/MaterialOutbound.vue
+++ /dev/null
@@ -1,251 +0,0 @@
-<!--鐗╂枡鍑哄簱-->
-
-
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/ingredientsStock/CreateOutbound', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-
- {title: '瀹℃牳', width: 50, slots: { default: 'state' },},
-
- {field: 'InventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'MaterialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '鐗╂枡鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'InventoryCount',width: '100', title: '搴撳瓨鏁伴噺', sortable: true},
- {field: 'OutNum', width:'150', title: '鍑哄簱鏁伴噺', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'Origin', width: '100',title: '浜у湴', sortable: true},
- {field: 'InventoryNumber',width: '100', title: '搴撳瓨缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'Width', width: '80',title: '瀹藉害', sortable: true},
- {field: 'Height',width: '100', title: '楂樺害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'MainUnit',width: '100', title: '涓诲崟浣�', sortable: true},
- {field: 'SafetyStock', width: '100',title: '瀹夊叏搴撳瓨', sortable: true},
- {field: 'AvailableInventory', width: '100',title: '鍙敤搴撳瓨', sortable: true},
- {field: 'UnclaimedQuantity',width: '140', title: '鏈鍙栨暟閲�', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'ProductionDate',width: '100', title: '鐢熶骇鏃ユ湡', sortable: true},
- {field: 'ShelfLife',width: '100', title: '淇濊川鏈�', sortable: true},
- {field: 'LocationNumber',width: '100', title: '搴撲綅缂栧彿', sortable: true},
- {field: 'StorageArea',width: '100', title: '瀛樺偍鍖哄煙', sortable: true},
- {field: 'Location',width: '100', title: '搴撲綅', sortable: true},
- {field: 'BacklogInventory',width: '100', title: '绉帇搴撳瓨', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- code:'add','name': '鍑哄簱鏂板',status:'primary'
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐170",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "5",
- "InventoryCount": "20",
- "AvailableInventory": "9",
- "UnclaimedQuantity": "2",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },
- {
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐175",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "5",
- "InventoryCount": "20",
- "AvailableInventory": "9",
- "UnclaimedQuantity": "2",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },{
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐180",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "2",
- "InventoryCount": "23",
- "AvailableInventory": "4",
- "UnclaimedQuantity": "3",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },
- ],//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 xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'add':{
- /*VXETable.modal.confirm('鐐瑰嚮浜嗗簱瀛樿皟鎷�');*/
- router.push({path: '/main/ingredientsStock/CreateOutbound'});
- return;
- break
- }
- }
- }
- }
-}
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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>
- </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>
-
- <template #state="{ row}">
- <el-checkbox checked/>
- </template>
-
- </vxe-grid>
- </div>
-</template>
-
-
-<style scoped>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/OriginalMonthlySettlement.vue b/UI-Project/src/views/mm/mainIngredientStock/OriginalMonthlySettlement.vue
deleted file mode 100644
index b2fda63..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/OriginalMonthlySettlement.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import {VXETable} from "vxe-table";
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
-
-
- }
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'month', width:'150', title: '鏈堜唤', sortable: true,editRender: { name: 'input' },filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
- {field: 'unit', width: '150',title: '鍗曚綅', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'materialCode', width: '120',title: '鐗╂枡缂栫爜', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'materialName', width: '100',title: '鐗╂枡鍚嶇О', sortable: true},
- {field: 'height',width: '100', title: '楂樺害', sortable: true,showOverflow:"ellipsis"},
- {field: 'thickness', width: '80',title: '鍘氬害', sortable: true},
- {field: 'width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'lastMonthQuantity', width: '100',title: '涓婃湀鏁伴噺', sortable: true},
- {field: 'lastMonthArea',width: '100', title: '涓婃湀闈㈢Н', sortable: true},
- {field: 'thisMonthReceivedQuantity', width: '140',title: '鏈湀鍏ュ簱鏁伴噺', sortable: true},
- {field: 'thisMonthReceivedArea',width: '140', title: '鏈湀鍏ュ簱闈㈢Н', sortable: true},
- {field: 'thisMonthIssuedQuantity', width: '140',title: '鏈湀鍑哄簱鏁伴噺', sortable: true},
- {field: 'thisMonthIssuedArea',width: '140', title: '鏈湀鍑哄簱闈㈢Н', sortable: true},
- {field: 'thisMonthInventoryQuantity',width: '140', title: '鏈湀搴撳瓨鏁伴噺', sortable: true},
- {field: 'thisMonthInventoryArea',width: '140', title: '鏈湀搴撳瓨闈㈢Н', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏌ヨ',
- // 'code':'add'
- // },],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 'month':'3',
- 'unit':'mm',
- 'materialCode':'KF2023122101',
- 'materialName':'鏅�氶挗鍖栫幓鐠�',
- 'height':'110.20',
- 'thickness':'3.00',
- 'width':'90.40',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- {
- 'month':'3',
- 'unit':'mm',
- 'materialCode':'KF2023122101',
- 'materialName':'鏅�氶挗鍖栫幓鐠�',
- 'height':'224.50',
- 'thickness':'5.00',
- 'width':'120.80',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- {
- 'month':'3',
- 'unit':'mm',
- 'materialCode':'KF2023122101',
- 'materialName':'鏅�氶挗鍖栫幓鐠�',
- 'height':'190.00',
- 'thickness':'4.00',
- 'width':'90.00',
- 'lastMonthQuantity':'100',
- 'lastMonthArea':'0',
- 'thisMonthReceivedQuantity':'100',
- 'thisMonthReceivedArea':'0',
- 'thisMonthIssuedQuantity':'23',
- 'thisMonthIssuedArea':'0',
- 'thisMonthInventoryQuantity':'77',
- 'thisMonthInventoryArea':'0',
- },
- ],//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 xGrid = ref();
-
-const gridEvents = {
- toolbarButtonClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'add': {
-
- router.push({path: '/main/trader/CreateTrader'})
- /*if($grid.getCheckboxRecords().length==0){
- VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }*/
- return;
- }
-
- }
- }
- },
- toolbarToolClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
- }
- },
-}
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">鏌ヨ鍘熺墖鎶ヨ〃鏃ユ湡</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ鎶ヨ〃</el-button>
- </el-col>
- </el-row>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorage.vue b/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorage.vue
deleted file mode 100644
index 3d8a6f8..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorage.vue
+++ /dev/null
@@ -1,256 +0,0 @@
-<!--杩斿簱-->
-
-
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/ingredientsStock/CreateOutbound', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-
- {title: '瀹℃牳', width: 50, slots: { default: 'state' },},
-
- {field: 'ReturnNum', width:'150', title: '杩斿簱缂栧彿', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'SalesNum', width: '150',title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ReturnType', width: '120',title: '杩斿簱绫诲瀷', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'DocumentType',width: '100', title: '鍗曟嵁绫诲瀷', sortable: true},
- {field: 'ProjectName', width:'150', title: '椤圭洰鍚嶇О', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'MaterialCode', width: '100',title: '鐗╂枡缂栫爜', sortable: true},
- {field: 'MaterialName',width: '100', title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: 'Width', width: '80',title: '瀹藉害', sortable: true},
- {field: 'Height',width: '100', title: '楂樺害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'OriginPlace',width: '100', title: '浜у湴', sortable: true},
- {field: 'SaveQuantity', width: '100',title: '鑺傜害鏁伴噺', sortable: true},
- {field: 'Type', width: '100',title: '绫诲瀷', sortable: true},
- {field: 'Supplier',width: '140', title: '棰嗘枡鍛�/渚涘簲鍟�', sortable: true},
- {field: 'ClassGroup',width: '100', title: '鐝粍/渚涘簲鍟�', sortable: true},
- {field: 'WarehouseKeeper',width: '100', title: '浠撶鍛�', sortable: true},
- {field: 'Remark',width: '100', title: '澶囨敞', sortable: true},
- {field: 'MakingData',width: '100', title: '鍒跺崟鏃ユ湡', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- code:'add','name': '杩斿簱鏂板',status:'primary'
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "ReturnNum": "FK24010811",
- "SalesNum": "杩愯緭鏉愭枡鐮存崯",
- "ReturnType": "閲囪喘鐮存崯",
- "DocumentType": "瀹℃牳",
- "ProjectName": "",
- "MaterialCode": "80010128003308035401530000",
- "MaterialName": "鐧界幓-3鍘�-鍒堕暅-浼樿川鍔犲伐绾�",
- "Width": '3540.00',
- "Height": "1530.00",
- "Thickness": "3.00",
- "OriginPlace": "骞胯タ鍗楀畞",
- "SaveQuantity": "1.000",
- "Type": "鐩存帴杩斿簱",
- "Supplier": "骞胯タ鍗楀畞浼忔硶",
- "ClassGroup": "鏇叉儬闇�",
- "WarehouseKeeper": "鏇叉儬闇�",
- "Remark": "2401060345",
- "MakingData": "2024-01-08 08锛�41锛�09",
- },
- {
- "ReturnNum": "FK24010811",
- "SalesNum": "杩愯緭鏉愭枡鐮存崯",
- "ReturnType": "閲囪喘鐮存崯",
- "DocumentType": "瀹℃牳",
- "ProjectName": "",
- "MaterialCode": "80010128003308035401530000",
- "MaterialName": "鐧界幓-3鍘�-鍒堕暅-浼樿川鍔犲伐绾�",
- "Width": '3540.00',
- "Height": "1530.00",
- "Thickness": "3.00",
- "OriginPlace": "骞胯タ鍗楀畞",
- "SaveQuantity": "1.000",
- "Type": "鐩存帴杩斿簱",
- "Supplier": "骞胯タ鍗楀畞浼忔硶",
- "ClassGroup": "鏇叉儬闇�",
- "WarehouseKeeper": "鏇叉儬闇�",
- "Remark": "2401060345",
- "MakingData": "2024-01-08 08锛�41锛�09",
- },
- {
- "ReturnNum": "FK24010811",
- "SalesNum": "杩愯緭鏉愭枡鐮存崯",
- "ReturnType": "閲囪喘鐮存崯",
- "DocumentType": "瀹℃牳",
- "ProjectName": "",
- "MaterialCode": "80010128003308035401530000",
- "MaterialName": "鐧界幓-3鍘�-鍒堕暅-浼樿川鍔犲伐绾�",
- "Width": '3540.00',
- "Height": "1530.00",
- "Thickness": "3.00",
- "OriginPlace": "骞胯タ鍗楀畞",
- "SaveQuantity": "1.000",
- "Type": "鐩存帴杩斿簱",
- "Supplier": "骞胯タ鍗楀畞浼忔硶",
- "ClassGroup": "鏇叉儬闇�",
- "WarehouseKeeper": "鏇叉儬闇�",
- "Remark": "2401060345",
- "MakingData": "2024-01-08 08锛�41锛�09",
- },
-
- ],//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 xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'add':{
- /*VXETable.modal.confirm('鐐瑰嚮浜嗗簱瀛樿皟鎷�');*/
- router.push({path: '/main/ingredientsStock/ReturnToStorageCreate'});
- return;
- break
- }
- }
- }
- }
-}
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">浼樺寲鏃ユ湡</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- </el-row>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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>
- </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>
-
- <template #state="{ row}">
- <el-checkbox checked/>
- </template>
-
- </vxe-grid>
- </div>
-</template>
-
-
-<style scoped>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue b/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
deleted file mode 100644
index 006feae..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
+++ /dev/null
@@ -1,193 +0,0 @@
-<script setup>
-import {reactive, ref} from "vue"
-import {VXETable} from "vxe-table"
-import {useRouter} from "vue-router"
-const router = useRouter()
-
-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: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {field: 'orderID',width:120, title: '鐗╂枡缂栫爜',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鐗╂枡鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '浜у湴',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '瀹藉害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '楂樺害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鍘氬害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '搴撳瓨缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '绛夌骇',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '闈㈢Н',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鎹㈢畻鐜�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鏈鏁伴噺',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '杩斿簱鏁伴噺',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鎬绘暟閲�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '搴撳尯',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '搴撲綅',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '宸ョ▼鍗曞彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',width:120, title: '鐢熶骇鏃ユ湡',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'orderID',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 ''
- })
- ]
- }
-
-})
-
-const gridEvents = {
- toolbarButtonClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'Craft': {
- router.push({path: '/main/order/updateOrderCraft', query: { orderID: 12123 }})
- break
- }
- }
- }
- }
-}
-
-</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="4">
- <el-date-picker
- type="week"
- format="[Week] ww"
- placeholder="閫夋嫨鏃ユ湡"/>
- </el-col>
- <el-col :span="2"><el-text>*閫�鏂欏憳/渚涘簲鍟嗭細</el-text></el-col>
- <el-col :span="4"><el-input/></el-col>
- <el-col :span="2"><el-text>*閫�鏂欑彮缁勶細</el-text></el-col>
- <el-col :span="4">
- <el-select clearable placeholder=" " >
- <el-option/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>*鍒跺崟鍛橈細</el-text></el-col>
- <el-col :span="4">
- <el-select clearable placeholder=" " >
- <el-option />
- </el-select>
- </el-col>
-
- <!-- <el-col :span="2"><el-text /></el-col>-->
- </el-row>
- <el-row>
- <el-col :span="2"><el-text>*鍑哄簱绫诲瀷锛�</el-text></el-col>
- <el-col :span="4">
- <el-select clearable placeholder=" " >
- <el-option/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>璁㈠崟缂栧彿锛�</el-text></el-col>
- <el-col :span="4"><el-text /></el-col>
- <el-col :span="2"><el-text>椤圭洰鍚嶇О锛�</el-text></el-col>
- <el-col :span="4"><el-text /></el-col>
- <el-col :span="2"><el-text>鎵规鍙凤細</el-text></el-col>
- <el-col :span="4"><el-text /></el-col>
- </el-row>
- </div>
- <div class="order-detail">
- <vxe-grid
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <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-row justify="center">
- <el-button id="searchButton" type="primary" :icon="Search" style="margin-right:20px;">娓呴櫎</el-button>
- <el-button id="searchButton" type="primary" :icon="save" style="margin-left:20px;">纭畾</el-button>
- </el-row>
- </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: 80%;
-}
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue b/UI-Project/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
deleted file mode 100644
index f7fac75..0000000
--- a/UI-Project/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
+++ /dev/null
@@ -1,224 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'InventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'MaterialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '鐗╂枡鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Origin', width: '100',title: '浜у湴', sortable: true},
- {field: 'InventoryNumber',width: '100', title: '搴撳瓨缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'Width', width: '80',title: '瀹藉害', sortable: true},
- {field: 'Height',width: '100', title: '楂樺害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'MainUnit',width: '100', title: '涓诲崟浣�', sortable: true},
- {field: 'SafetyStock', width: '100',title: '瀹夊叏搴撳瓨', sortable: true},
- {field: 'InventoryCount',width: '100', title: '搴撳瓨鏁伴噺', sortable: true},
- {field: 'AvailableInventory', width: '100',title: '鍙敤搴撳瓨', sortable: true},
- {field: 'UnclaimedQuantity',width: '140', title: '鏈鍙栨暟閲�', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'ProductionDate',width: '100', title: '鐢熶骇鏃ユ湡', sortable: true},
- {field: 'ShelfLife',width: '100', title: '淇濊川鏈�', sortable: true},
- {field: 'LocationNumber',width: '100', title: '搴撲綅缂栧彿', sortable: true},
- {field: 'StorageArea',width: '100', title: '瀛樺偍鍖哄煙', sortable: true},
- {field: 'Location',width: '100', title: '搴撲綅', sortable: true},
- {field: 'BacklogInventory',width: '100', title: '绉帇搴撳瓨', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐170",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "5",
- "InventoryCount": "20",
- "AvailableInventory": "9",
- "UnclaimedQuantity": "2",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },
- {
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐175",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "5",
- "InventoryCount": "20",
- "AvailableInventory": "9",
- "UnclaimedQuantity": "2",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },{
- "InventoryOrganization": "浜哄伐搴�",
- "MaterialCode": "700900000000115",
- "MaterialName": "鍐180",
- "Origin": "China",
- "InventoryNumber": "KC2006891",
- "Width": '',
- "Height": "",
- "Thickness": "",
- "MainUnit": "浠�",
- "SafetyStock": "2",
- "InventoryCount": "23",
- "AvailableInventory": "4",
- "UnclaimedQuantity": "3",
- "TotalArea": "0",
- "ProductionDate": "2016-10-17",
- "ShelfLife": "0",
- "LocationNumber": "0",
- "StorageArea": "0",
- "Location": "0",
- "BacklogInventory": "40",
- "remark": "娴嬭瘯",
- },
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/CreateProductStock.vue b/UI-Project/src/views/mm/mainProductStock/CreateProductStock.vue
deleted file mode 100644
index 6cee0e5..0000000
--- a/UI-Project/src/views/mm/mainProductStock/CreateProductStock.vue
+++ /dev/null
@@ -1,339 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import VXETable from "vxe-table";
-let router=useRouter()
-let produceList = ref([])
-let tableRef = ref([])
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- break
- }
- case 'back':{
- router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- break
- }
- case 'out' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- break
- }
- }
-}
-
-
-
-const hasDecimal=(value)=>{
- const regex=/\./ // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
- return regex.test(value) //杩斿洖true/false
-}
-
-const hasDecimalhtml=(item,row)=>{
- let aa=item.split('.').length
- if (aa===2){
- return row[item.split('.')[0]][item.split('.')[1]]
- }else if(aa===3){
- return row[item.split('.')[0]][item.split('.')[1]][item.split('.')[2]]
- }
-
-
-}
-
-
-//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
-let filterData = ref({
- orderDetail:{
- orderNumber:'',
- productName:'',
- productId:'',
- width:'',
- height:'',
- quantity:''
- },
- order:{
- orderId:'',
- creater:'',
- project:'',
- area:'',
- batch:''
-
- }
-})
-
-
-//绗竴娆¤皟鐢�
-request.post("/FinishedGoodsInventory/getseletwarehousing/1/100",filterData.value).then((res) => {
-
- if(res.code==200){
- console.log(res.data)
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
-})
-
-
-//瀹氫箟椤甸潰鎬婚〉鏁�
-let pageTotal=ref('')
-//瀹氫箟褰撳墠椤垫暟
-let pageNum=$ref(1)
-let pageState = null
-
-/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-function filterChanged(column){
- gridOptions.loading=true
- //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
- let value = column.datas[0]!=undefined?column.datas[0]:''
- value = value.trim()
- //鍒ゆ柇鏄惁瀛樺湪澶栭敭
- if (column.property.indexOf('.')>-1){
- const columnArr = column.property.split('.')
- filterData.value[columnArr[0]] = {
- [columnArr[1]]:value
- }
- }else{
- filterData.value[column.property] = value
- }
- request.post("/FinishedGoodsInventory/getseletwarehousing/1/100",filterData.value).then((res) => {
-
- if(res.code==200){
- console.log(res.data)
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
- })
-}
-
-
-
-
-
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '60'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '220', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'order.orderId', width: '150',title: '閿�鍞崟鍙�', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.buildingNumber', width: '120',title: '妤煎彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.productId',width: '100', title: '浜у搧缂栧彿', filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.productName',width: '100', title: '浜у搧鍚嶇О', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.width', width: '100',title: '瀹藉害', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.height',width: '100', title: '楂樺害', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.creater', width: '100',title: '涓氬姟鍛�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.project', width: '100',title: '椤圭洰鍚嶇О', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderNumber',width: '140', title: '璁㈠簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.quantity',width: '140', title: '璁㈠崟鎬绘暟', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'inventoryQuantity',width: '100', title: '瀹屽伐鏁伴噺', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.area',width: '140', title: '闈㈢Н', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'processId',width: '100', title: '娴佺▼鍗″彿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'receivedQuantity',width: '100', title: '宸插叆鏁伴噺', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.batch',width: '100', title: '鎵规', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- 'name': '纭鍏ュ簱',status: 'primary',
- 'code':'add'
- }
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- }
- ,//table body瀹為檯鏁版嵁
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return `椤垫暟:${pageNum}/${pageTotal.value}`
- }
-
- return ''
- })
- ]
- }
-
-})
-const xGrid = ref();
-const storageRegion = ref(null);
-const remark = ref(null);
-const flowcard = ref(null);
-const gridEvents = {
- toolbarButtonClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'add': {
- //鍒ゆ柇杈撳叆妗嗗�间笉鑳戒负null
- if(storageRegion.value!==null && storageRegion.value!=""){
- const $table = xGrid.value
- if ($table) {
- const selectRecords = $table.getCheckboxRecords()
- //寰幆鑾峰彇閫変腑鐨勫閫夋
- for (let i=0;i<selectRecords.length;i++){
- //瀹氫箟鍚庣闇�瑕佺殑鍙傛暟
- let flowData = ref({
- finishedGoodsInventory:{
- storageRegion:storageRegion.value,
- remark:remark.value
- },
-
- flowcard:selectRecords[0]
- })
- console.log(flowcard.value)
- request.post("/FinishedGoodsInventory/addseletwarehousing",flowData.value).then((res) => {
- /* request.post("/FinishedGoodsInventory/addseletwarehousing/"+storageRegion.value+"/"+remark.value,flowData.value).then((res) => {*/
- if(res.code===200){
- alert(`鍏ュ簱鎴愬姛`)
- request.post("/FinishedGoodsInventory/getseletwarehousing/1/100",filterData.value).then((res) => {
-
- if(res.code===200){
- console.log(res.data)
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
- })
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
- })
- }
- }
- return;
-
-
- }else{
- alert(`璇疯緭鍏ュ簱浣峘)
- }
-
- }
-
- }
- }
- },
-
-}
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-input style="width: 200px" v-model="storageRegion" class="m-2" placeholder="璇疯緭鍏ュ簱浣�">
- </el-input>
- <el-input style="width: 200px" v-model="remark" class="m-2" placeholder="璇疯緭鍏ュ娉�">
- </el-input>
-
-
-
- </div>
-
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- 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 gridOptions.columns" v-show="item.field!=undefined ">
- <span style="font-weight: bold">{{item.title+': '}}</span>
- <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
- <span v-else>{{ 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,'out')" link type="primary" size="small">鎴愬搧棰嗗嚭</el-button>-->
-<!-- <el-button @click="getTableRow(row,'back')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/FinishedGoodsIssue.vue b/UI-Project/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
deleted file mode 100644
index b2e72fe..0000000
--- a/UI-Project/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
+++ /dev/null
@@ -1,245 +0,0 @@
-<!--鎴愬搧棰嗗嚭-->
-
-
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- // case 'edit' :{
- // //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- // break
- // }
- // case 'back':{
- // router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- // break
- // }
- // case 'out' :{
- // //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- // break
- // }
- }
-}
-const xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'verify':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation'});
- // return;
- break
- }
- case 'out':{
- router.push({path: '/main/productStock/TakeOutRecord'});
- return;
- break;
- }
- case 'rework':{
- router.push({path: '/main/productStock/FinishedProductRework'});
- return;
- break;
- }
- }
- }
- },
-}
-
-
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- // { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '220', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'SalesOrderNumber', width: '150',title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProjectName', width: '120',title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProcessCardNumber',width: '100', title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'FinishedProductNumber', width: '100',title: '鎴愬搧缂栧彿', sortable: true},
- {field: 'Quantity',width: '140', title: '鏁伴噺', sortable: true},
- {field: 'DiaoQuantity',width: '140', title: '棰嗗嚭鏁伴噺',editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
- {field: 'ProductNumber',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'CustomerNumber', width: '100',title: '瀹㈡埛缂栧彿', sortable: true},
- {field: 'CustomerName',width: '100', title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'Length', width: '100',title: '闀垮害', sortable: true},
- {field: 'Width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'SingleArea',width: '140', title: '鍗曠墖闈㈢Н', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'StorageArea',width: '100', title: '搴撳尯', sortable: true},
- {field: 'Location',width: '100', title: '搴撲綅', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- 'name': '纭棰嗗嚭',
- 'code': 'verify',
- status: 'primary'
- },{
- 'name': '棰嗗嚭璁板綍','code':'out',
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },
-
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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,'out')" link type="primary" size="small">鎴愬搧棰嗗嚭</el-button>
- <el-button @click="getTableRow(row,'back')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/FinishedProductOut.vue b/UI-Project/src/views/mm/mainProductStock/FinishedProductOut.vue
deleted file mode 100644
index d7e1fcc..0000000
--- a/UI-Project/src/views/mm/mainProductStock/FinishedProductOut.vue
+++ /dev/null
@@ -1,317 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- break
- }
- case 'back':{
- router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- break
- }
- case 'out' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- break
- }
- }
-}
-
-const xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'ver':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation'});
- // return;
- break
- }
- case 'record':{
- router.push({path: '/main/productStock/TransferRecord'});
- return;
- break;
- }
- case 'rework':{
- router.push({path: '/main/productStock/FinishedProductRework'});
- return;
- break;
- }
- }
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- {title: '鎿嶄綔', width: '80', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'DeliveryOrderNumber', width:'150', title: '閫佽揣鍗曞彿', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'SalesOrderNumber', width: '150',title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProjectName', width: '120',title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProductName', width: '100',title: '鎴愬搧鍚嶇О', sortable: true},
- {field: 'ProductNumber',width: '100', title: '鎴愬搧缂栧彿', sortable: true},
- {field: 'CustomerName',width: '100', title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'Length', width: '100',title: '闀垮害', sortable: true},
- {field: 'Width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'TotalQuantity',width: '140', title: '鎬绘暟閲�', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'FloorNumber',width: '100', title: '妤煎眰缂栧彿', sortable: true},
- {field: 'OrderNumber',width: '100', title: '璁㈠簭', sortable: true},
- {field: 'Salesman',width: '100', title: '涓氬姟鍛�', sortable: true},
- {field: 'BoxNumber',width: '100', title: '绠卞彿', sortable: true},
- {field: 'Quantity',width: '100', title: '鏁伴噺', sortable: true},
- {field: 'ReportingDate',width: '140', title: '鎶ヨ〃鏃ユ湡', sortable: true},
- {field: 'OrderQuantity',width: '100', title: '璁㈠崟鏁�', sortable: true},
- {field: 'Status',width: '100', title: '鐘舵��', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- 'name': '纭鍑哄簱',
- status: 'primary',
- 'code':'ver'
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- }, {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- }, {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- }, {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- }, {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- }, {
- "DeliveryOrderNumber": "1",
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "CustomerName": "鏉庝簩鐗�",
- "Salesman": "灏忓渤",
- "OrderNumber": '7',
- "FloorNumber": "06040000022",
- "OrderQuantity": "7",
- "Length": "1230.00",
- "Width": "1075.00",
- "Thickness": "6.700",
- "TotalQuantity": "100.00",
- "TotalArea": "360.80",
- "BoxNumber": "06",
- "ReportingDate": "2023-12-22",
- "ProductNumber": "NG2312220001",
- "ProductName": "瓒呯骇鐜荤拑",
- "Quantity": "360",
- "Status": "宸茶皟鏋�",
- "remark": "娴嬭瘯",
- },
-
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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>
-
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/FinishedProductReturn.vue b/UI-Project/src/views/mm/mainProductStock/FinishedProductReturn.vue
deleted file mode 100644
index b388a7a..0000000
--- a/UI-Project/src/views/mm/mainProductStock/FinishedProductReturn.vue
+++ /dev/null
@@ -1,183 +0,0 @@
-<!--鎴愬搧閫�璐�-->
-
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鏍规嵁閫�璐у崟鍙锋煡璇㈠悇鍗曟槑缁嗭紝鍦ㄦ槑缁嗕腑淇敼')
- // router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- // { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- {title: '鎿嶄綔', width: '100', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'ReturnNumber', width: '150',title: '閫�璐у崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'SalesNumber', width: '120',title: '閿�鍞崟鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'NewNum', width:'150', title: '璁㈠簭', sortable: true },
- {field: 'ShippingNumber',width: '100', title: '鍙戣揣鍗曞彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'CustomerName', width: '100',title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'ProjectName',width: '100', title: '浜у搧鍚嶇О', sortable: true},
- {field: 'ReturnedQuantity', width: '100',title: '閫�璐ф暟閲�', sortable: true},
- {field: 'ProductName',width: '100', title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'Salesperson', width: '100',title: '涓氬姟鍛�', sortable: true},
- {field: 'OrderDate',width: '100', title: '鍒跺崟鏃ユ湡', sortable: true},
- {field: 'Remark', width: '100',title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "ReturnNumber": "TD23072003",
- "SalesNumber": "NG23112209",
- "ShippingNumber": "JG23112209",
- 'CustomerName':'寮犱笁',
- 'ProjectName':'楂樻�ц兘鐜繚闀�',
- 'ProductName':'4mm楂樻�ц兘鐜繚闀�',
- "ReturnedQuantity": "367",
- "Salesperson": "姣涘崼",
- "OrderDate": "23-11-30 00:00:00",
- "NewNum":'123123123',
- "Remark": "娴嬭瘯",
- } ,{
- "ReturnNumber": "TD23072003",
- "SalesNumber": "NG23112209",
- "ShippingNumber": "JG23112209",
- 'CustomerName':'寮犱笁',
- 'ProjectName':'楂樻�ц兘鐜繚闀�',
- 'ProductName':'4mm楂樻�ц兘鐜繚闀�',
- "ReturnedQuantity": "367",
- "Salesperson": "姣涘崼",
- "OrderDate": "23-11-30 00:00:00",
- "NewNum":'123123123',
- "Remark": "娴嬭瘯",
- }, {
- "ReturnNumber": "TD23072003",
- "SalesNumber": "NG23112209",
- "ShippingNumber": "JG23112209",
- 'CustomerName':'寮犱笁',
- 'ProjectName':'楂樻�ц兘鐜繚闀�',
- 'ProductName':'4mm楂樻�ц兘鐜繚闀�',
- "ReturnedQuantity": "367",
- "Salesperson": "姣涘崼",
- "OrderDate": "23-11-30 00:00:00",
- "NewNum":'123123123',
- "Remark": "娴嬭瘯",
- }
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/FinishedProductRework.vue b/UI-Project/src/views/mm/mainProductStock/FinishedProductRework.vue
deleted file mode 100644
index 19209e7..0000000
--- a/UI-Project/src/views/mm/mainProductStock/FinishedProductRework.vue
+++ /dev/null
@@ -1,246 +0,0 @@
-<!--鎴愬搧杩斿伐-->
-
-
-
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- break
- }
- case 'back':{
- router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- break
- }
- case 'out' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- break
- }
- }
-}
-const xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'ver':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation'});
- // return;
- break
- }
- case 'record':{
- router.push({path: '/main/productStock/ReworkRecord'});
- return;
- break;
- }
- case 'rework':{
- router.push({path: '/main/productStock/FinishedProductRework'});
- return;
- break;
- }
- }
- }
- },
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- // { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '220', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'SalesOrderNumber', width: '150',title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProjectName', width: '120',title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProcessCardNumber',width: '100', title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'FinishedProductNumber', width: '100',title: '鎴愬搧缂栧彿', sortable: true},
- {field: 'Quantity',width: '140', title: '鏁伴噺', sortable: true},
- {field: 'ReworkQuantity',width: '140', title: '杩斿伐鏁伴噺',editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
- {field: 'ProductNumber',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'CustomerNumber', width: '100',title: '瀹㈡埛缂栧彿', sortable: true},
- {field: 'CustomerName',width: '100', title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'Length', width: '100',title: '闀垮害', sortable: true},
- {field: 'Width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'SingleArea',width: '140', title: '鍗曠墖闈㈢Н', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'StorageArea',width: '100', title: '搴撳尯', sortable: true},
- {field: 'Location',width: '100', title: '搴撲綅', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [{
- 'name': '杩斿伐纭',
- status: 'primary',
- 'code':'ver'
- },
- {
- 'name': '杩斿伐璁板綍',
- 'code':'record'
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- },
-
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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,'out')" link type="primary" size="small">鎴愬搧棰嗗嚭</el-button>
- <el-button @click="getTableRow(row,'back')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/OrderAllocation.vue b/UI-Project/src/views/mm/mainProductStock/OrderAllocation.vue
deleted file mode 100644
index ca5b462..0000000
--- a/UI-Project/src/views/mm/mainProductStock/OrderAllocation.vue
+++ /dev/null
@@ -1,245 +0,0 @@
-<!--鎴愬搧璋冩嫧-->
-
-
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- break
- }
- case 'back':{
- router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- break
- }
- case 'out' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- // { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '80', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'SalesOrderNumber', width: '150',title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'ProjectName', width: '120',title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'NowNum', width: '120',title: '褰撳墠搴忓彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Quantity',width: '140', title: '璁㈠崟鏁伴噺', sortable: true},
- {field: 'DiaoSalesOrderNumber', width: '150',title: '璋冩嫧鍗曞彿',editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'NewNum', width:'150', title: '鏂拌搴�', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'DiaoQuantity',width: '140', title: '璋冩嫧鏁伴噺',editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
- {field: 'ProcessCardNumber',width: '100', title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'FinishedProductNumber', width: '100',title: '鎴愬搧缂栧彿', sortable: true},
- {field: 'ProductNumber',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'CustomerNumber', width: '100',title: '瀹㈡埛缂栧彿', sortable: true},
- {field: 'CustomerName',width: '100', title: '瀹㈡埛鍚嶇О', sortable: true},
- {field: 'Length', width: '100',title: '闀垮害', sortable: true},
- {field: 'Width',width: '100', title: '瀹藉害', sortable: true},
- {field: 'Thickness', width: '100',title: '鍘氬害', sortable: true},
- {field: 'SingleArea',width: '140', title: '鍗曠墖闈㈢Н', sortable: true},
- {field: 'TotalArea',width: '100', title: '鎬婚潰绉�', sortable: true},
- {field: 'StorageArea',width: '100', title: '搴撳尯', sortable: true},
- {field: 'Location',width: '100', title: '搴撲綅', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
- {'name': '纭璋冩嫧',status: 'primary','code':'edit'},
- {'name': '璋冩嫧璁板綍','code':'record'}
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- "NowNum":'1'
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- "NowNum":'1'
- },{
- "SalesOrderNumber": "NG23072003",
- "ProjectName": "閽㈠寲鐜荤拑",
- "ProcessCardNumber": "NG23072003A01",
- 'FinishedProductNumber':'',
- 'FinishedProductName':'',
- 'BoxNumber':'',
- "CustomerNumber": "KD0071",
- "CustomerName": "浠�",
- "Length": "1075.00",
- "Width": "440.00",
- "Thickness": "3.00",
- "Quantity": "360",
- "SingleArea": "0.473000",
- "TotalArea": "170.28",
- "StorageArea": "0.47",
- "Location": "170.28",
- "NowNum":'1'
- },
-
- ],//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 xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'edit':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- // router.push({path: '/main/productStock/OrderAllocation'});
- // return;
- break
- }
- case 'record':{
- router.push({path: '/main/productStock/TransferRecord'});
- return;
- break;
- }
- case 'rework':{
- router.push({path: '/main/productStock/FinishedProductRework'});
- return;
- break;
- }
- }
- }
- }
-}
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- >
- <!-- @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,'out')" link type="primary" size="small">鎴愬搧棰嗗嚭</el-button>-->
-<!-- <el-button @click="getTableRow(row,'back')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/ProductStock.vue b/UI-Project/src/views/mm/mainProductStock/ProductStock.vue
deleted file mode 100644
index 9616419..0000000
--- a/UI-Project/src/views/mm/mainProductStock/ProductStock.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productStock/ProductStockList' }">搴撳瓨鏌ヨ</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productStock/CreateProductStock' }">鎴愬搧鍏ュ簱</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productStock/FinishedProductOut' }">鎴愬搧鍑哄簱</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productStock/FinishedProductReturn' }">璁㈠崟鎴愬搧閫�璐�</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
-<!-- <el-breadcrumb-item :to="{ path: '/main/productStock/OrderAllocation' }">璁㈠崟璋冩嫧</el-breadcrumb-item>-->
-<!-- <el-breadcrumb-item :to="{ path: '/main/productStock/FinishedGoodsIssue' }">鎴愬搧棰嗗嚭</el-breadcrumb-item>-->
-<!-- <el-breadcrumb-item :to="{ path: '/main/productStock/FinishedProductRework' }">鎴愬搧杩斿伐</el-breadcrumb-item>-->
- <!-- <el-breadcrumb-item :to="{ path: '/main/product/createProduct' }"></el-breadcrumb-item> -->
- </el-breadcrumb>
-
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
- //margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/ProductStockList.vue b/UI-Project/src/views/mm/mainProductStock/ProductStockList.vue
deleted file mode 100644
index dc100ed..0000000
--- a/UI-Project/src/views/mm/mainProductStock/ProductStockList.vue
+++ /dev/null
@@ -1,290 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-let router=useRouter()
-let produceList = ref([])
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
- break
- }
- case 'back':{
- router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
- break
- }
- case 'out' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
- break
- }
- }
-}
-
-const hasDecimal=(value)=>{
- const regex=/\./ // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
- return regex.test(value) //杩斿洖true/false
-}
-
-const hasDecimalhtml=(item,row)=>{
- let aa=item.split('.').length
- if (aa===2){
- return row[item.split('.')[0]][item.split('.')[1]]
- }else if(aa===3){
- return row[item.split('.')[0]][item.split('.')[1]][item.split('.')[2]]
- }
-
-
-}
-
-
-
-
-//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
-let filterData = ref({
- orderDetail:{
- orderNumber:'',
- productName:'',
- productId:'',
- width:'',
- height:''
- },
- order:{
- orderId:'',
- orderType:'',
- project:''
- }
-})
-
-
-
-//绗竴娆¤皟鐢�
-request.post("/FinishedGoodsInventory/getselet/1/100",filterData.value).then((res) => {
-
- if(res.code==200){
- console.log(res.data)
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
-})
-
-
-//瀹氫箟椤甸潰鎬婚〉鏁�
-let pageTotal=ref('')
-//瀹氫箟褰撳墠椤垫暟
-let pageNum=$ref(1)
-let pageState = null
-
-/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-function filterChanged(column){
- gridOptions.loading=true
- //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
- let value = column.datas[0]!=undefined?column.datas[0]:''
- value = value.trim()
- //鍒ゆ柇鏄惁瀛樺湪澶栭敭
- if (column.property.indexOf('.')>-1){
- const columnArr = column.property.split('.')
- filterData.value[columnArr[0]] = {
- [columnArr[1]]:value
- }
- }else{
- filterData.value[column.property] = value
- }
- request.post("/FinishedGoodsInventory/getselet/1/100",filterData.value).then((res) => {
-
- if(res.code==200){
- console.log(res.data.data)
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '60'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '220', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'orderDetail.orderNumber', width:'150', title: '璁㈠崟搴忓彿', filters:[{ data: '' }],editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'order.orderId', width: '150',title: '閿�鍞崟鍙�',showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.project', width: '120',title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'order.orderType', width: '100',title: '璁㈠崟绫诲瀷', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.productName', width: '100',title: '浜у搧鍚嶇О', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.productId',width: '100', title: '浜у搧缂栧彿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-
- {field: 'orderDetail.width', width: '100',title: '瀹藉害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'orderDetail.height',width: '100', title: '楂樺害', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'inventory',width: '140', title: '搴撳瓨鏁伴噺', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'quantityAvailable',width: '140', title: '鍙敤鏁伴噺', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-
- {field: 'actualSignalArea',width: '140', title: '瀹為檯鍗曠墖闈㈢Н', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'area',width: '100', title: '鎬婚潰绉�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-
- /*{field: 'warehouseNumber',width: '100', title: '浠撳簱缂栧彿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},*/
- {field: 'storageRegion',width: '100', title: '搴撳瓨鍖哄煙', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'status',width: '100', title: '鐘舵��', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-
- {field: 'enterStorageTime',width: '140', title: '鍏ュ簱鏃堕棿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'updateTime',width: '140', title: '淇敼鏃堕棿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'endTime',width: '100', title: '鍑哄簱鏃堕棿', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'remark',width: '80', title: '澶囨敞', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
- { 'code' :'issue','name':'璁㈠崟璋冩嫧',status: 'primary'},
- { 'code' :'out','name':'鎴愬搧棰嗗嚭',status: 'primary'},
- { 'code' :'rework','name':'鎴愬搧杩斿伐',status: 'primary'},
-
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return `椤垫暟:${pageNum}/${pageTotal.value}`
- }
-
- return ''
- })
- ]
- }
-
-})
-const xGrid = ref();
-const gridEvents = {
- toolbarButtonClick({ code }) {
- const $grid = xGrid.value
- if($grid){
- switch (code){
- case 'issue':{
- /*VXETable.modal.confirm('鐐瑰嚮浜嗗簱瀛樿皟鎷�');*/
- router.push({path: '/main/productStock/OrderAllocation'});
- return;
- break
- }
- case 'out':{
- router.push({path: '/main/productStock/FinishedGoodsIssue'});
- return;
- break;
- }
- case 'rework':{
- router.push({path: '/main/productStock/FinishedProductRework'});
- return;
- break;
- }
- }
- }
- }
-}
-
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
-
- >
- <!-- @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 v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
- <span v-else>{{ 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,'out')" link type="primary" size="small">鎴愬搧棰嗗嚭</el-button>-->
-<!-- <el-button @click="getTableRow(row,'back')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/ReworkRecord.vue b/UI-Project/src/views/mm/mainProductStock/ReworkRecord.vue
deleted file mode 100644
index 6d93559..0000000
--- a/UI-Project/src/views/mm/mainProductStock/ReworkRecord.vue
+++ /dev/null
@@ -1,231 +0,0 @@
-<!-- 棰嗗嚭璁板綍 -->
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'id', width:'150', title: '棰嗗嚭鍗曞彿', sortable: true,},
- {field: 'MaterialCode', width: '150',title: '璁㈠崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Code', width: '150',title: '搴忓彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '琛ョ墖鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Origin', width: '100',title: '宸ュ簭', sortable: true},
- {field: 'InventoryNumber',width: '100', title: '娆$牬鍘熷洜', sortable: true,showOverflow:"ellipsis"},
- {field: 'Thickness', width: '80',title: '閫�璐у崟鍙�', sortable: true},
- {field: 'MainUnit',width: '100', title: '瀹屽伐鏁伴噺', sortable: true},
- {field: 'RecordNum',width: '100', title: '杩斿伐鏁伴噺', sortable: true},
- {field: 'ProductNum',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'ProductName',width: '100', title: '浜у搧鍚嶇О', sortable: true},
- {field: 'Height', width: '100',title: '闀�', sortable: true},
- {field: 'Width',width: '100', title: '瀹�', sortable: true},
- {field: 'status', width: '80',title: '瀹℃牳鐘舵��', sortable: true},
- {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
- {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
- {field: 'Auditor', width: '100',title: '瀹℃牳浜�', sortable: true},
- {field: 'AuditorDate', width: '100',title: '瀹℃牳鏃ユ湡', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "id": "LC23123011",
- "MaterialCode": "NG23060212",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "鏅洪暅",
- "InventoryNumber": '榛戠偣',
- "Thickness": '',
- "MainUnit": "",
- "RecordNum": "876",
- "ProductNum": "0604000108",
- "ProductName": "4mm楂樻�ц兘鐜繚闀�",
- "Height": "930.00",
- "Width": "550.00",
- "status": "宸插鏍�",
- "ZhiDanRen": "鏇叉収闇�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- {
- "id": "LC23123011",
- "MaterialCode": "NG23060212",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "鏅洪暅",
- "InventoryNumber": '榛戠偣',
- "Thickness": '',
- "MainUnit": "",
- "RecordNum": "876",
- "ProductNum": "0604000108",
- "ProductName": "4mm楂樻�ц兘鐜繚闀�",
- "Height": "930.00",
- "Width": "550.00",
- "status": "宸插鏍�",
- "ZhiDanRen": "鏇叉収闇�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- {
- "id": "LC23123011",
- "MaterialCode": "NG23060212",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "鏅洪暅",
- "InventoryNumber": '榛戠偣',
- "Thickness": '',
- "MainUnit": "",
- "RecordNum": "876",
- "ProductNum": "0604000108",
- "ProductName": "4mm楂樻�ц兘鐜繚闀�",
- "Height": "930.00",
- "Width": "550.00",
- "status": "宸插鏍�",
- "ZhiDanRen": "鏇叉収闇�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- ],//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-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- </el-row>
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/TakeOutRecord.vue b/UI-Project/src/views/mm/mainProductStock/TakeOutRecord.vue
deleted file mode 100644
index 481f077..0000000
--- a/UI-Project/src/views/mm/mainProductStock/TakeOutRecord.vue
+++ /dev/null
@@ -1,223 +0,0 @@
-<!-- 棰嗗嚭璁板綍 -->
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'id', width:'150', title: '棰嗗嚭鍗曞彿', sortable: true,},
- {field: 'MaterialCode', width: '150',title: '鍘熻鍗曞彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Code', width: '150',title: '搴忓彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '鏂拌鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Origin', width: '100',title: '鏂板簭鍙�', sortable: true},
- {field: 'InventoryNumber',width: '100', title: '棰嗗嚭绫诲瀷', sortable: true,showOverflow:"ellipsis"},
- {field: 'Thickness', width: '80',title: '璋冨嚭鏁伴噺', sortable: true},
- {field: 'MainUnit',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'ProductName',width: '100', title: '浜у搧鍚嶇О', sortable: true},
- {field: 'Height', width: '100',title: '闀�', sortable: true},
- {field: 'Width',width: '100', title: '瀹�', sortable: true},
- {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
- {field: 'status', width: '80',title: '鍗曟嵁鐘舵��', sortable: true},
- {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
- {field: 'Auditor', width: '100',title: '瀹℃牳浜�', sortable: true},
- {field: 'AuditorDate', width: '100',title: '瀹℃牳鏃ユ湡', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "id": "LC23123011",
- "MaterialCode": "NG23060212",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "琛ュ崟",
- "InventoryNumber": '閫�璐у簾寮�',
- "Thickness": '876',
- "MainUnit": "0604000108",
- "ProductName": "4mm楂樻�ц兘鐜繚闀�",
- "Height": "930.00",
- "Width": "550.00",
- "ZhiDanRen": "鏇叉収闇�",
- "status": "宸插鏍�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- {
- "id": "LC23123010",
- "MaterialCode": "NG23060211",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "琛ュ崟",
- "InventoryNumber": '寮�浠嬮鍑�',
- "Thickness": '584',
- "MainUnit": "0604000107",
- "ProductName": "5mm鐜哀鏍戣剛闀�",
- "Height": "866.00",
- "Width": "486.00",
- "ZhiDanRen": "鏇叉収闇�",
- "status": "宸插鏍�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- {
- "id": "LC23123009",
- "MaterialCode": "NG23060210",
- "Code": "1",
- "MaterialName": "11鏈�29閫�璐т紬鑷�",
- "Origin": "琛ュ崟",
- "InventoryNumber": '寮�浠嬮鍑�',
- "Thickness": '584',
- "MainUnit": "0604000106",
- "ProductName": "5mm鐜哀鏍戣剛闀�",
- "Height": "866.00",
- "Width": "486.00",
- "ZhiDanRen": "鏇叉収闇�",
- "status": "宸插鏍�",
- "SafetyStock": "2023-12-30",
- "Auditor": "鏇叉収闇�",
- "AuditorDate": "2023-12-30",
- },
- ],//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-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- </el-row>
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainProductStock/TransferRecord.vue b/UI-Project/src/views/mm/mainProductStock/TransferRecord.vue
deleted file mode 100644
index 13f6584..0000000
--- a/UI-Project/src/views/mm/mainProductStock/TransferRecord.vue
+++ /dev/null
@@ -1,202 +0,0 @@
-<!-- 璋冩嫧璁板綍 -->
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- {field: 'id', width:'150', title: 'ID', sortable: true,},
- {field: 'MaterialCode', width: '150',title: '鍘熻鍗曞彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'MaterialName', width: '120',title: '鏂拌鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'Origin', width: '100',title: '鏂板簭鍙�', sortable: true},
- {field: 'InventoryNumber',width: '100', title: '搴撳瓨鏁�', sortable: true,showOverflow:"ellipsis"},
- {field: 'Width', width: '80',title: '璋冪敤鏁伴噺', sortable: true},
- {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
- {field: 'Height',width: '100', title: '浜у搧缂栧彿', sortable: true},
- {field: 'Thickness', width: '100',title: '闀�', sortable: true},
- {field: 'MainUnit',width: '100', title: '瀹�', sortable: true},
- {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "id": "3765",
- "MaterialCode": "NG23120709",
- "MaterialName": "9",
- "Origin": "NG23122010",
- "InventoryNumber": "20",
- "Width": '12.00',
- "ZhiDanRen": '鍒樻檽鑹�',
- "Height": "0601000437",
- "Thickness": "1390.00",
- "MainUnit": "760.00",
- "SafetyStock": "2023-12-30",
- },
- {
- "id": "3766",
- "MaterialCode": "NG23120709",
- "MaterialName": "9",
- "Origin": "NG23122010",
- "InventoryNumber": "20",
- "Width": '12.00',
- "ZhiDanRen": '鍒樻檽鑹�',
- "Height": "0601000437",
- "Thickness": "1390.00",
- "MainUnit": "760.00",
- "SafetyStock": "2023-12-30",
- },{
- "id": "3767",
- "MaterialCode": "NG23120709",
- "MaterialName": "9",
- "Origin": "NG23122010",
- "InventoryNumber": "20",
- "Width": '12.00',
- "ZhiDanRen": '鍒樻檽鑹�',
- "Height": "0601000437",
- "Thickness": "1390.00",
- "MainUnit": "760.00",
- "SafetyStock": "2023-12-30",
- },
- ],//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-customer">
- <el-row gutter="10" >
- <el-col :span="2.5">
- <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
- </el-col>
- <el-col :span="4">
- <el-date-picker
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- style="width: 200px;"
- />
- </el-col>
- <el-col span="4">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- </el-row>
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainTrader/CreateTrader.vue b/UI-Project/src/views/mm/mainTrader/CreateTrader.vue
deleted file mode 100644
index 1d2c874..0000000
--- a/UI-Project/src/views/mm/mainTrader/CreateTrader.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-<script lang="ts" setup>
-
-</script>
-<template>
- <div class="center-box">
- <el-card class="form-card">
- <el-form size="medium" >
-
-
-
- <el-row gutter="5">
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" style="width: 150px; height: 30px;" />
- </el-col>
-
- <el-col :span="4">
- <el-dropdown>
- <el-button type="primary">
- 缁撶畻鏂瑰紡<el-icon class="el-icon--right" style="width: 66px;"><arrow-down /></el-icon>
- </el-button>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item>璐у埌浠樻</el-dropdown-item>
- <el-dropdown-item>娆惧埌鍙戣揣</el-dropdown-item>
- <el-dropdown-item>鏈堢粨浠樻</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </el-col>
- </el-row>
-
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
-
- <el-row gutter="5">
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ヨ仈绯讳汉" style="width: 150px; height: 30px;" />
- </el-col>
-
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ョ◣鐜�" style="width: 150px; height: 30px;" />
- </el-col>
- </el-row>
-
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
-
-
- <el-row gutter="5">
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ユ崲绠楀崟浣�" style="width: 150px; height: 30px;" />
- </el-col>
-
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ョ瓑绾�" style="width: 150px; height: 30px;" />
- </el-col>
- </el-row>
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
-
-
-
- <el-row gutter="5">
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ュ娉�" style="width: 150px; height: 30px;" />
- </el-col>
-
- <el-col :span="4.5">
- <el-input v-model="name" placeholder="璇疯緭鍏ユ墍灞為泦鍥�" style="width: 150px; height: 30px;" />
- </el-col>
-
- </el-row>
-
- <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
-
- <el-row gutter="10" justify="center" >
- <el-col span="4.5">
- <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
- </el-col>
- <el-col span="4.5">
- <el-button id="searchButton" type="primary" :icon="save">纭畾</el-button>
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- </div>
-</template>
-<style>
-.centered-box {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
-}
-
-.form-card {
- width: 600px;
- padding: 30px 30px;
-}
-.button-row {
- display: flex;
- justify-content: center;
- margin-top: 20px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainTrader/SelectTrader.vue b/UI-Project/src/views/mm/mainTrader/SelectTrader.vue
deleted file mode 100644
index d1954be..0000000
--- a/UI-Project/src/views/mm/mainTrader/SelectTrader.vue
+++ /dev/null
@@ -1,219 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import {VXETable} from "vxe-table";
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
-
- }
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: '50'},
- // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
- {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
- {field: 'supplierCode', width:'150', title: '渚涘簲鍟嗙紪鍙�', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'supplierName', width: '150',title: '渚涘簲鍟嗗悕绉�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'agentProduct', width: '120',title: '浠g悊浜у搧', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'settlementMethod', width: '100',title: '缁撶畻鏂瑰紡', sortable: true},
- {field: 'contactPerson',width: '100', title: '鑱旂郴浜�', sortable: true,showOverflow:"ellipsis"},
- {field: 'taxRate', width: '80',title: '绋庣巼', sortable: true},
- {field: 'companyAddress',width: '100', title: '鍏徃鍦板潃', sortable: true},
- {field: 'receivingAddress', width: '100',title: '鏀惰揣鍦板潃', sortable: true},
- {field: 'belongingGroup',width: '100', title: '鎵�灞為泦鍥�', sortable: true},
- {field: 'grade', width: '80',title: '绛夌骇', sortable: true},
- {field: 'documentStatus',width: '100', title: '鍗曟嵁鐘舵��', sortable: true},
- {field: 'auditor', width: '100',title: '瀹℃牳鍛�', sortable: true},
- {field: 'auditDate',width: '110', title: '瀹℃牳鏃ユ湡', sortable: true},
- {field: 'conversionUnit',width: '100', title: '鎹㈢畻鍗曚綅', sortable: true},
- {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- // 'name': '鏂板',
- // 'code':'add'
- // },],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "supplierCode": 216,
- "supplierName": "瀹胯縼瀹d箣鏂囩數瀛愬晢鍔℃湁闄愬叕鍙�",
- "agentProduct": "杈呮枡",
- "settlementMethod": "璐у埌浠樻",
- "contactPerson": "骞抽挗",
- "taxRate": 13.00,
- "companyAddress": "鍖椾含甯傝緰鍖轰笢鍩庡尯",
- "receivingAddress": "鍖椾含甯傝緰鍖轰笢鍩庡尯",
- "belongingGroup": "涓婃捣鍖楃幓",
- "grade": "5",
- "documentStatus": "鏈鏍�",
- "auditor": "灏忓渤",
- "auditDate": "2023-11-19",
- "conversionUnit": "0",
- "remark": "娴嬭瘯",
- },
- {
- "supplierCode": 215,
- "supplierName": "瀹胯縼瀹d箣鏂囩數瀛愬晢鍔℃湁闄愬叕鍙�",
- "agentProduct": "杈呮枡",
- "settlementMethod": "璐у埌浠樻",
- "contactPerson": "灏忓渤",
- "taxRate": 13.00,
- "companyAddress": "鍖椾含甯傝緰鍖轰笢鍩庡尯",
- "receivingAddress": "鍖椾含甯傝緰鍖轰笢鍩庡尯",
- "belongingGroup": "涓婃捣鍖楃幓",
- "grade": "5",
- "documentStatus": "鏈鏍�",
- "auditor": "灏忓渤",
- "auditDate": "2023-11-19",
- "conversionUnit": "0",
- "remark": "娴嬭瘯",
- },
- ],//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 xGrid = ref();
-
-const gridEvents = {
- toolbarButtonClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'add': {
-
- router.push({path: '/main/trader/CreateTrader'})
- /*if($grid.getCheckboxRecords().length==0){
- VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }*/
- return;
- }
-
- }
- }
- },
- toolbarToolClick ({ code }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
- }
- },
-}
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/mainTrader/Trader.vue b/UI-Project/src/views/mm/mainTrader/Trader.vue
deleted file mode 100644
index ceb3526..0000000
--- a/UI-Project/src/views/mm/mainTrader/Trader.vue
+++ /dev/null
@@ -1,67 +0,0 @@
-<!-- 渚涘簲鍟嗙鐞嗕富椤甸潰 -->
-
-
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/trader/SelectTrader' }">渚涘簲鍟嗗垪琛�</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/trader/CreateTrader' }">渚涘簲鍟嗘柊澧�</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
-<!-- <el-breadcrumb-item :to="{ path: '/main/trader/CreateTrader' }">鍒涘缓</el-breadcrumb-item>-->
- </el-breadcrumb>
-
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue b/UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue
index c95d058..62b26fb 100644
--- a/UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue
+++ b/UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue
@@ -1,121 +1,39 @@
<template>
<div class="common-layout">
<el-container>
- <el-header style="height: 30px">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
- :to="{path:'/main/purchaseOrder/SelectPurchaseOrder'}">鏌ヨ閲囪喘璁㈠崟
+ <!-- <el-header style="height: 30px"> -->
+
+ <!-- <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item>閲囪喘涓庣墿璧�</el-breadcrumb-item>
+ <el-breadcrumb-item> 閲囪喘閫�璐�
+
</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
- :to="{path:'/main/purchaseOrder/CreatePurchaseOrder'}">鍒涘缓閲囪喘璁㈠崟
+ <el-breadcrumb-item :to="{path:'/main/purchaseReturn/SelectPurchaseReturn'}"> 鏌ヨ
+
</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
- :to="{path:'/main/purchaseOrder/StoragePurchaseOrder'}">閲囪喘鍏ュ簱
+
+ <el-breadcrumb-item >
+
</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
- :to="{path:'/main/purchaseOrder/ReturnPurchaseOrder'}">閲囪喘閫�璐�
- </el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''"
- :to="{path:'/main/purchaseOrder/PaymentPurchaseOrder'}">搴斾粯閲囪喘璁㈠崟
- </el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(6)" :class="indexFlag===6?'indexTag':''"
- :to="{path:'/main/purchaseOrder/CreateHeader'}">鍒涘缓澶存ā鎷�
- </el-breadcrumb-item>
- <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
- </el-breadcrumb>
- </el-header>
- <el-main style="padding: 0">
+ </el-breadcrumb> -->
+ <!-- </el-header> -->
+ <el-main style="padding: 0;width: 99%;height: 100%;">
<router-view/>
</el-main>
- <!-- <el-footer>Footer</el-footer>-->
+ <!-- <el-footer>Footer</el-footer>-->
</el-container>
-
-
</div>
-
</template>
<script setup>
-import {nextTick, ref} from 'vue'
-import {ArrowRight, Search} from "@element-plus/icons-vue";
-import {ElMessage, ElMessageBox} from "element-plus";
-let indexFlag = $ref(1)
+import {ArrowRight} from "@element-plus/icons-vue";
-function changeRouter(index) {
- indexFlag = index
-}
-
-/*
-
-//鎻愮ず淇℃伅
-//淇℃伅鍐呭锛屾樉绀烘柟寮忥紝鏄剧ず鏍囬锛岀被鍨�
-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(() => {
- switch (czType) {
- case '纭畾':
- //澶氶�夐��璐ч�昏緫浠g爜TODO
- MessageShow('鎿嶄綔鎴愬姛锛�', 'success');
- break;
- case '閫�璐�':
- //鍗曢��璐ч�昏緫浠g爜TODO
- MessageShow('鎿嶄綔鎴愬姛锛�', 'success');
- break;
- default:
- MessageShow('鏈煡鎿嶄綔锛�', 'error');
- break;
- }
-
- 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(.indexTag .el-breadcrumb__inner) {
- color: #5CADFE !important;
- font-weight: 900;
-}
+
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseOrder/Select.vue b/UI-Project/src/views/mm/purchaseOrder/Select.vue
index 29b29e8..4b42baf 100644
--- a/UI-Project/src/views/mm/purchaseOrder/Select.vue
+++ b/UI-Project/src/views/mm/purchaseOrder/Select.vue
@@ -1,257 +1,753 @@
-<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"
- >
-
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <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="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="logicExecute('缂栬緫')"
- >缂栬緫
- </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} from "element-plus";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
+const router = useRouter()
-
-
-let router = useRouter()
-const getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}})
- break
- }
- case 'delete': {
-
-
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅' + row.id)
- break
- }
+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: '寰呰瘑鍒�',
+ typea: '1',
+ },
+ {
+ 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: '寰呰瘑鍒�'
+ },
+ {
+ 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 xGrid = ref()
-const gridEvents = {
- toolbarButtonClick({code}) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'Add': {//鏂板
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
- break
- }
- case 'AddNo': {//鏃犲崟鏂板
-
- MessageShow('鐐瑰嚮浜嗘棤鍗曟柊澧�', 'success');
- break
- }
-
- }
- }
+]
+const tableDataa = [
+ {
+ ida: '3',
+ longa: '1005',
+ widea: '183.6',
+ thicka: '1991',
},
- toolbarToolClick({code}) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
+ {
+ ida: '4',
+ longa: '105',
+ widea: '183',
+ thicka: '191',
+ }
+]
+const open = () => {
+ ElMessageBox.confirm(
+ '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+ '鎻愮ず',
+ {
+ confirmButtonText: '鏄�',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
}
- },
-}
-
-const BtnSearchPurchaseOrder = () => {
- 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 ? '寰呭鏍�' : i % 5 === 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,
- 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',
-
+ )
+ .then(() => {
+ ElMessage({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛锛�',
+ })
})
- }
-
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: '鍒犻櫎澶辫触',
+ })
+ })
}
-
-
-//椤甸潰閫昏緫浠g爜鎵ц
-function logicExecute(type) {
- const $grid = xGrid.value
+const getTableRow = (row,type) =>{
switch (type) {
- case '缂栬緫':
- //MessageShow('鎿嶄綔鎴愬姛锛�', 'success');
- //缂栬緫閫昏緫浠g爜TODO
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
- break;
- case '閫�璐�':
- //鍗曢��璐ч�昏緫浠g爜TODO
- MessageShow('鎿嶄綔鎴愬姛锛�', 'success');
- break;
- default:
- MessageShow('鏈煡鎿嶄綔锛�', 'error');
- break;
+ case 'edit' :{
+ //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+ router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
+ break
+ }
+ case 'delete':{
+ alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+ break
+ }
}
- return true;
}
-//缁勪欢鎺ユ敹鍙傛暟
+const dialogForm = () => {
+ ElMessageBox.confirm(
+ '鏄惁鍒囨崲鐗堝浘?',
+ '鎻愮ず',
+ {
+ confirmButtonText: '鏄�',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ }
+ )
+ .then(() => {
+ // this.boxa = true
+ // this.box = false
+
+ })
+}
+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 remove = () => {
+ if (selectedRows.value.length === 0) {
+ ElMessage('璇疯嚦灏戦�夋嫨涓�涓�夐」')
+ } else{
+ ElMessage({
+ message: '鎿嶄綔鎴愬姛锛�',
+ type: 'success',
+ })
+
+ }
+};
+
const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
+ border: "full",//琛ㄦ牸鍔犺竟妗�
keepSource: true,//淇濇寔婧愭暟鎹�
align: 'center',//鏂囧瓧灞呬腑
- stripe: true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true, height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'CustomerList',
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'OrderList',
showFooter: true,//鏄剧ず鑴�
printConfig: {},
importConfig: {},
exportConfig: {},
- scrollY: {enabled: true},//寮�鍚櫄鎷熸粴鍔�
- showOverflow: true,
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
columnConfig: {
resizable: true,
useKey: true
@@ -267,296 +763,155 @@
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},
-
-
+ data: [
{
- 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':'Add',
- },
-
- {
- 'name': '鏃犲崟鏂板',
-
- 'code':'AddNo'
- }*/
- ],
- 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 = 3;//鍒楁爣澶翠粠绗嚑鍒楀紑濮嬬殑
-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;
+ 'id': '1',
+ 'long': '5',
+ 'wide': '1005',
+ 'thick': '183.6',
}
- i++;
- }
-}
-//璇︽儏妗� 閮ㄥ垎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]
- },
- },
-]
-
-
-//鎻愮ず淇℃伅
-//淇℃伅鍐呭锛屾樉绀烘柟寮忥紝鏄剧ず鏍囬锛岀被鍨�
-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>
+<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="remove">浜哄伐鎷胯蛋</el-button>
+ <el-button style="margin-top: 5px" id="searchButton" type="primary" >鐮存崯</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>
+ <el-button style="margin-top: 5px;float: right;margin-right: 50px;" id="searchButton" type="text" @click="dialogForm">鐗堝浘鍙�</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="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="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="dialogFormVisible = 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>
+ <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" />
+ <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="typea" 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="dialogFormVisible = 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>
+ <!-- <div v-if="boxa">
+ <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"
+ @selection-change="handleSelectionChange"
+ :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column type="selection" width="55" />
+ <el-table-column prop="ida" align="center" label="id" min-width="80" />
+ <el-table-column prop="longa" align="center" label="闀�" min-width="120" />
+ <el-table-column prop="widea" align="center" label="瀹�" min-width="120" />
+ <el-table-column prop="thicka" align="center" label="鍏朵粬" min-width="120" />
+ </el-table>
+ </div>
+ </el-card>
+ </div> -->
+ </div>
+ <!-- <el-dialog v-model="dialogFormVisible" top="21vh" width="30%" title="灏忕墖鍥�" >
+
+ <div id="message">
+ 200*100
+ </div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button @click="dialogFormVisible = false">鍏抽棴</el-button>
+ </div>
+ </template>
+ </el-dialog> -->
+ <el-dialog v-model="dialogFormVisiblea" top="21vh" width="30%" title="娴嬮噺璁剧疆" >
+ <el-form size="mini" label-width="150px">
+ <el-form style="margin-left: 80px;">
+
+ <el-form-item label="璇樊闀匡細" :required="true" style="width: 16vw;margin-bottom: 30px;">
+ <div style="display: flex;"><el-input autocomplete="off" /><div style="margin-left: 10px;">mm</div> </div>
+ </el-form-item>
+ <el-form-item label="璇樊瀹斤細" :required="true" style="width: 16vw">
+ <div style="display: flex;"><el-input autocomplete="off" /><div style="margin-left: 10px;">mm</div> </div>
+ </el-form-item>
+ </el-form>
+ </el-form>
+ <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>
+ <div id="awatch">灏忕墖鍥撅細
+<div id="watch">200*100</div>
+</div>
+</template>
<style scoped>
-:deep(.v-column-label div span) {
- font-weight: bold;
+
+#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{
+ display: flex;
+ margin-top: 20px;
+ font-size: 20px;
+ margin-left: 50px;
+}
+#watch{
+ text-align: center;
+ align-items: center;
+ color: black;
+ width: 300px;
+ height: 150px;
+ background-color: #337ecc;
+ margin-left: 2%;
+ margin-top: 10px;
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseReturn/PurchaseReturn.vue b/UI-Project/src/views/mm/purchaseReturn/PurchaseReturn.vue
deleted file mode 100644
index 5d65801..0000000
--- a/UI-Project/src/views/mm/purchaseReturn/PurchaseReturn.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-<template>
- <div class="common-layout">
- <el-container>
- <el-header style="height: 30px">
-
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item>閲囪喘涓庣墿璧�</el-breadcrumb-item>
- <el-breadcrumb-item> 閲囪喘閫�璐�
-
- </el-breadcrumb-item>
- <el-breadcrumb-item :to="{path:'/main/purchaseReturn/SelectPurchaseReturn'}"> 鏌ヨ
-
- </el-breadcrumb-item>
-
- <el-breadcrumb-item >
-
- </el-breadcrumb-item>
- </el-breadcrumb>
- </el-header>
- <el-main style="padding: 0;width: 99%;height: 100%;">
- <router-view/>
- </el-main>
- <!-- <el-footer>Footer</el-footer>-->
- </el-container>
- </div>
-</template>
-
-
-<script setup>
-
-import {ArrowRight} from "@element-plus/icons-vue";
-
-
-</script>
-
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseReturn/Select.vue b/UI-Project/src/views/mm/purchaseReturn/Select.vue
deleted file mode 100644
index e4fb018..0000000
--- a/UI-Project/src/views/mm/purchaseReturn/Select.vue
+++ /dev/null
@@ -1,255 +0,0 @@
-<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">
- <div @scroll="handleTableScroll">
-
- <el-table :data="tableData" empty-text="鏆傛棤鏁版嵁" style="width: 100%" max-height="550px" border
- show-summary
- sum-text=" ">
- <el-table-column fixed="left" prop="rIndex" label="" width="50" align="center"></el-table-column>
-
- <el-table-column fixed="left" label="鎿嶄綔" width="120">
- <template #default="scope">
- <el-button
- link
- type="primary"
- size="small"
- @click.prevent="deleteRow(scope.$index)"
- >
- 缂栬緫
- </el-button>
- <el-button
- link
- type="primary"
- size="small"
- @click.prevent="deleteRow(scope.$index)"
- >
- 鍒犻櫎
- </el-button>
- </template>
- </el-table-column>
-
-
- <el-table-column prop="ordernumber" label="閲囪喘鍗曞彿" width="150"/>
- <el-table-column prop="name" label="渚涘簲鍟�" width="120"/>
- <el-table-column prop="strockNumber" label="鐗╂枡缂栧彿" width="200"/>
- <el-table-column prop="city" label="鐗╂枡鍚嶇О" width="120"/>
- <el-table-column prop="width" sortable label="瀹藉害" width="120"/>
- <el-table-column prop="height" sortable label="楂樺害" width="120"/>
- <el-table-column prop="thick" sortable label="鍘氬害" width="120"/>
- <el-table-column prop="zip" label="鍨嬪彿" width="120"/>
- <el-table-column prop="number" label="鍗曚綅" width="120"/>
- <el-table-column prop="number" sortable label="涓嶅惈绋庡崟浠�" width="120"/>
- <el-table-column prop="number" label="鏁伴噺" width="120" show-summary="ture"/>
- <el-table-column prop="number" label="宸查噰璐暟閲�" width="120"/>
- <el-table-column prop="zip" sortable label="閲戦" width="120"/>
- <el-table-column prop="zip" label="涓嶅惈绋庨噾棰�" width="120"/>
- <el-table-column prop="date" label="绋庣巼" width="120"/>
- <el-table-column prop="date" label="搴撳瓨" width="120"/>
- <el-table-column prop="zip" label="鍛ㄧ敤閲�" width="120"/>
- <el-table-column prop="zip" label="鏈堢敤閲�" width="120"/>
- <el-table-column prop="state" label="鍗曟嵁鐘舵��" width="120"/>
- <el-table-column prop="ordernumber" label="閿�鍞崟鍙�" width="200"/>
- <el-table-column prop="date" label="鍒跺崟鏃ユ湡" width="120"/>
- <el-table-column prop="zip" label="鍒跺崟浜�" width="120"/>
- <el-table-column prop="zip" label="閲囪喘閮ㄩ棬" width="120"/>
- <el-table-column prop="zip" label="閲囪喘缁勭粐" width="120"/>
- <el-table-column prop="zip" label="澶囨敞" width="200"/>
-
-
- </el-table>
-
-
- </div>
- </el-main>
- </el-container>
-</template>
-
-
-<script setup>
-
-import {nextTick, ref} from 'vue'
-import {Search} from "@element-plus/icons-vue";
-
-const s_wuliaomingcheng = ref('')
-const s_buyOrderNumber = ref('')
-const s_width = ref('')
-const s_height = ref('')
-const s_thick = ref('')
-
-
-const options = [
- {
- value: '0',
- label: '鍏ㄩ儴'
- },
- {
- value: '1',
- label: '鍘熺墖'
- },
- {
- value: '2',
- label: '鍖栧鍝�'
- },
- {
- value: '3',
- label: '宸ュ叿'
- },
- {
- value: '4',
- label: '鏈ㄧ'
- },
- {
- value: '5',
- label: '鐧界幓'
- },
-]
-
-const buyerOptions = [
- {
- value: '0',
- label: '鍏ㄩ儴'
- },
- {
- value: '1',
- label: '閲囪喘鐢�'
- },
- {
- value: '2',
- label: '閲囪喘涔�'
- },
-]
-
-const stateOptions = [
- {
- value: '0',
- label: '寰呭鏍�'
- },
- {
- value: '1',
- label: '寰呴噰璐�'
- },
- {
- value: '2',
- label: '宸查噰璐�'
- },
-]
-
-import dayjs from 'dayjs'
-import 'dayjs/locale/zh-cn'
-
-const now = new Date()
-
-const tableData = ref([])
-
-const autoAddRow = () => {
- for (let i = 0; i < 10; i++) {
- now.setDate(now.getDate() + 1)
- const randomInt = Math.floor(Math.random() * 999) + 1000;
- const randomOrderInt = Math.floor(Math.random() * 99) + 100;
- const randomSumInt = Math.floor(Math.random() * 99) + 10;
- var t = i % 2 === 0 ? 5 : 6;
- var s = i % 3 === 0 ? '' : i % 4 === 0 ? '宸查噰璐�' : '寰呭鏍�';
- var oNo = 'NGNO100000' + randomOrderInt;//璁㈠崟缂栧彿
- var wlNo = 'NGWL100000' + randomInt
- tableData.value.push({
-
- date: dayjs(now).format('YYYY-MM-DD'),
- name: '渚涘簲鍟�' + randomSumInt,
- state: s,
- city: 'Los Angeles',
- address: 'No. 189, Grove St, Los Angeles',
- zip: 'CA 90036',
- number: randomInt,
- width: '3660',
- height: '2440',
- rIndex: tableData.value.length + 1,
- ordernumber: oNo,
- strockNumber: wlNo,
- thick: t
- })
- }
-}
-
-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]
- },
- },
-]
-
-</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>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseStorage/PurchaseStorage.vue b/UI-Project/src/views/mm/purchaseStorage/PurchaseStorage.vue
deleted file mode 100644
index bdd9f2f..0000000
--- a/UI-Project/src/views/mm/purchaseStorage/PurchaseStorage.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-<template>
- <div class="common-layout">
- <el-container >
- <el-header style="height: 30px">
-
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item>閲囪喘涓庣墿璧�</el-breadcrumb-item>
- <el-breadcrumb-item>閲囪喘鍏ュ簱
-
- </el-breadcrumb-item>
- <el-breadcrumb-item :to="{path:'/main/purchaseStorage/SelectPurchaseStorage'}">鏌ヨ
-
- </el-breadcrumb-item>
- <el-breadcrumb-item></el-breadcrumb-item>
- </el-breadcrumb>
- </el-header>
- <el-main style="padding: 0">
- <router-view/>
- </el-main>
-
- <!-- <el-footer>Footer</el-footer>-->
- </el-container>
- </div>
-</template>
-
-
-<script setup>
-import {useRouter} from "vue-router";
-
-const router = useRouter();
-import {ArrowRight} from "@element-plus/icons-vue";
-</script>
-
-
-<style scoped>
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/purchaseStorage/Select.vue b/UI-Project/src/views/mm/purchaseStorage/Select.vue
deleted file mode 100644
index ed8e9aa..0000000
--- a/UI-Project/src/views/mm/purchaseStorage/Select.vue
+++ /dev/null
@@ -1,276 +0,0 @@
-<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="3">
- <el-button
- id="select"
- type="primary"
- :icon="Search"
- @click="autoAddRow">鏌ヨ
- </el-button>
- </el-col>
- </el-row>
-
- </el-header>
- <el-main style="padding-top: 5px">
- <el-table :data="tableData" empty-text="鏆傛棤鏁版嵁" style="width: 100%" max-height="550px" border show-summary
- sum-text=" ">
- <el-table-column fixed="left" prop="rIndex" label="" width="50" align="center"></el-table-column>
-
- <el-table-column fixed="left" label="鎿嶄綔" width="120">
- <template #default="scope">
- <el-button
- link
- type="primary"
- size="small"
- @click.prevent="deleteRow(scope.$index)"
- >
- 缂栬緫
- </el-button>
- <el-button
- link
- type="primary"
- size="small"
- @click.prevent="deleteRow(scope.$index)"
- >
- 鍒犻櫎
- </el-button>
- </template>
- </el-table-column>
-
-
- <el-table-column prop="stockItem" label="搴撳瓨缁勭粐" width="150"/>
- <el-table-column prop="wuliaoCode" label="鐗╂枡缂栧彿" width="220"/>
- <el-table-column prop="rukuCode" label="鍏ュ簱鍗曞彿" width="120"/>
- <el-table-column prop="storageType" label="鍏ュ簱绫诲瀷" width="120"/>
- <el-table-column prop="buyerCode" label="閲囪喘鍗曞彿" width="150"/>
- <el-table-column prop="wuliaoName" label="鐗╂枡鍚嶇О" width="120"/>
- <el-table-column prop="state" label="鍗曟嵁鐘舵��" width="120"/>
- <el-table-column prop="shname" label="瀹℃牳鍛�" width="120"/>
- <el-table-column prop="date" sortable label="瀹℃牳鏃ユ湡" width="120"/>
- <el-table-column prop="date" sortable label="鍏ュ簱鏃ユ湡" width="120"/>
- <el-table-column prop="buyerName" label="閲囪喘鍛�" width="120"/>
- <el-table-column prop="cgName" sortable label="浠撶鍛�" width="120"/>
- <el-table-column prop="zip" label="鍒跺崟浜�" width="120"/>
- <el-table-column prop="address" label="浜у湴" width="120"/>
- <el-table-column prop="number" sortable label="瀹藉害" width="120"/>
- <el-table-column prop="number" sortable label="鍘氬害" width="120"/>
- <el-table-column prop="kcCode" label="搴撳瓨缂栧彿" width="150"/>
- <el-table-column prop="number" sortable label="绠辨暟" width="120"/>
- <el-table-column prop="number" sortable label="鍗曠鐗囨暟" width="200"/>
- <el-table-column prop="oneArea" sortable label="鍗曠墖闈㈢Н" width="120"/>
- <el-table-column prop="number" sortable label="鎬婚潰绉�" width="120"/>
- <el-table-column prop="number" sortable label="鎬绘暟閲�" width="120"/>
- <el-table-column prop="number" sortable label="鎬婚噾棰�" width="120"/>
- <el-table-column prop="date" sortable label="鐢熶骇鏃ユ湡" width="120"/>
- <el-table-column prop="zip" label="搴撳尯" width="120"/>
- <el-table-column prop="zip" label="澶囨敞" width="200"/>
-
-
- </el-table>
- </el-main>
- </el-container>
-</template>
-
-<script setup>
-
-import {ref} from 'vue'
-import {ArrowRight, Search} from "@element-plus/icons-vue";
-
-
-const s_wuliaomingcheng = ref('')
-const s_buyOrderNumber = ref('')
-const s_width = ref('')
-const s_height = ref('')
-const s_thick = ref('')
-
-
-const options = [
- {
- value: '0',
- label: '鍏ㄩ儴'
- },
- {
- value: '1',
- label: '鍘熺墖'
- },
- {
- value: '2',
- label: '鍖栧鍝�'
- },
- {
- value: '3',
- label: '宸ュ叿'
- },
- {
- value: '4',
- label: '鏈ㄧ'
- },
- {
- value: '5',
- label: '鐧界幓'
- },
-]
-
-const buyerOptions = [
- {
- value: '0',
- label: '鍏ㄩ儴'
- },
- {
- value: '1',
- label: '閲囪喘鐢�'
- },
- {
- value: '2',
- label: '閲囪喘涔�'
- },
-]
-
-const stateOptions = [
- {
- value: '0',
- label: '寰呭鏍�'
- },
- {
- value: '1',
- label: '寰呴噰璐�'
- },
- {
- value: '2',
- label: '宸查噰璐�'
- },
-]
-
-const stockItemOptions = [
- {
- value: 0,
- label: '浜哄伐搴�'
- }, {
- value: 1,
- label: '璁″垝搴�'
- }, {
- value: 2,
- label: '鑷姩鍖栧簱'
- }, {
- value: 3,
- label: '浣欑墖搴�'
- }, {
- value: 4,
- label: '娈嬬墖搴�'
- }, {
- value: 5,
- label: '杈呮枡搴�'
- },
-]
-import dayjs from 'dayjs'
-import 'dayjs/locale/zh-cn'
-
-const now = new Date()
-
-const tableData = ref([])
-
-const autoAddRow = () => {
- for (let i = 0; i < 10; i++) {
- now.setDate(now.getDate() + 1)
- const randomWLInt = Math.floor(Math.random() * 99999) + 100000;
- const randomInt = Math.floor(Math.random() * 999) + 1000;
- const randomSumInt = Math.floor(Math.random() * 99) + 10;
- const randomErInt = Math.floor(Math.random() * 9);
- const randomErInt2 = Math.floor(Math.random() * 9);
- const randomErInt3 = Math.floor(Math.random() * 9);
- const t = i % 3 === 0 ? 5 : i % 4 === 0 ? 6 : i % 5 === 0 ? 8 : i % 7 === 0 ? 10 : 12;
- const sItem = i % 3 === 0 ? '璁″垝搴�' : i % 4 === 0 ? '浜哄伐搴�' : i % 5 === 0 ? '鑷姩鍖栧簱' : i % 7 === 0 ? '浣欑墖搴�' : '杈呮枡搴�';
- tableData.value.push({
- date: dayjs(now).format('YYYY-MM-DD'),
- name: '渚涘簲鍟�' + randomSumInt,
- state: '鏈鏍�',
- stockItem: sItem,
- wuliaoCode: 'WL9000000000' + randomWLInt,
- rukuCode: 'RK2312' + randomInt,
- storageType: '鏍囧噯閲囪喘',
- buyerCode: 'CG2312000' + randomInt,
- zip: 'CA 90036',
- number: randomInt,
- shname: '瀹℃牳' + randomErInt,
- buyerName: '閲囪喘' + randomErInt2,
- cgName: '浠撶' + randomErInt3,
- address: '杩欐槸鐗╂枡浜у湴',
- kcCode: 'KC2312999' + randomInt,
- oneArea: randomSumInt / 10,
- rIndex: tableData.value.length + 1,
- thick: t
- })
- }
-}
-
-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]
- },
- },
-]
-
-</script>
-
-<style scoped>
-
-.el-row {
- margin-bottom: 20px;
-}
-
-.el-row:last-child {
- margin-bottom: 0;
-}
-
-.el-col {
- border-radius: 4px;
-}
-
-.m-header {
- height: 64px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/stockReport/StockMonthReport.vue b/UI-Project/src/views/mm/stockReport/StockMonthReport.vue
deleted file mode 100644
index b8cc81a..0000000
--- a/UI-Project/src/views/mm/stockReport/StockMonthReport.vue
+++ /dev/null
@@ -1,277 +0,0 @@
-<template>
- <el-container>
- <el-header class="m-header">
- <el-row :gutter="10">
- <el-col :span="6">
- <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" :offset="1">
- <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="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">
- <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 {reactive} from "vue";
-import {useRouter} from 'vue-router'
-import {Search} from "@element-plus/icons-vue";
-import dayjs from "dayjs";
-import {VXETable} from "vxe-table";
-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'}, 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: '6', width: '10%',title: '澶囨敞', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
- ],//琛ㄥご鍙傛暟
- toolbarConfig: {
- buttons: [{type:'text'},{type:'text',name:'鍘熺墖鏈堢粨鎶ヨ〃'}],
- 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: 2}
- ],//鍚堝苟鑴�
- 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 getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', 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 'Add': {//鏂板
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
- break
- }
- case 'Storage': {//鍏ュ簱
- if ($grid.getCheckboxRecords().length === 0) {
- 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 'Return': {//閫�搴�
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'message', content: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�', status: 'warning'})
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- } else {
- /* async ()=>{
- const type = await.VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
- }*/
- const type = VXETable.modal.confirm('鎮ㄩ�夋嫨浜�' + $grid.getCheckboxRecords().length + '鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
-
-
- /* if(VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵' )){
- //openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success',lockView: false, mask: false })
-
-
- }*/
-
- /* if(type==='confirm'){
- openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- }
-
-*/
- //openAlert({type:'alert', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }
- 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)
- }
-
-}
-
-</script>
-
-
-<style scoped>
-.m-header {
- height: auto
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/stockReport/StockReport.vue b/UI-Project/src/views/mm/stockReport/StockReport.vue
deleted file mode 100644
index 851d811..0000000
--- a/UI-Project/src/views/mm/stockReport/StockReport.vue
+++ /dev/null
@@ -1,49 +0,0 @@
-<template>
- <div class="common-layout">
- <el-container>
- <el-header style="height: 30px">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
- :to="{path:'/main/stockReport/WarehouseReport'}">鍘熸潗鏂欐姤琛�
- </el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
- :to="{path:'/main/stockReport/StockWarehouseReport'}">鎴愬搧鎶ヨ〃
- </el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
- :to="{path:'/main/stockReport/StockMonthReport'}">鍘熺墖鏈堢粨鎶ヨ〃
- </el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
- :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
- 杈呮枡鏈堢粨鎶ヨ〃
- </el-breadcrumb-item>
- <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
- </el-breadcrumb>
- </el-header>
- <el-main style="padding: 0;width: 99%;height: 100%;">
- <router-view/>
- </el-main>
- <!-- <el-footer>Footer</el-footer>-->
- </el-container>
- </div>
-
-</template>
-
-<script setup>
-import {nextTick, ref} from 'vue'
-import {ArrowRight, Search} from "@element-plus/icons-vue";
-
-let indexFlag = $ref(1)
-
-function changeRouter(index) {
- indexFlag = index
-}
-
-</script>
-
-
-<style scoped>
-:deep(.indexTag .el-breadcrumb__inner) {
- color: #5CADFE !important;
- font-weight: 900;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/stockReport/StockWarehouseReport.vue b/UI-Project/src/views/mm/stockReport/StockWarehouseReport.vue
deleted file mode 100644
index 8c4e6c9..0000000
--- a/UI-Project/src/views/mm/stockReport/StockWarehouseReport.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-<template>
-<div style="padding: 0;width: 100%;height: 100%">
-
- <el-header class="m-header" style="height: auto">
-
- </el-header>
- <el-main style="padding-top: 5px">
- <vxe-grid
- max-height="600"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- 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>
-
- <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
- <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>
- </div>
-</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";
-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'}, 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: '6', width: '10%',title: '澶囨敞', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
- ],//琛ㄥご鍙傛暟
- toolbarConfig: {
- buttons: [{type:'text'},{
- 'name': '鎴愬搧搴撳瓨',
- 'code': 'ProductStockList',
- },{
- 'name': '鍏ュ簱璁板綍',
- 'code': 'StorageRecord',
- }],
- 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: 2}
- ],//鍚堝苟鑴�
- 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 getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', 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 'ProductStockList': {//鏂板
- router.push({path: '/main/productStock/ProductStockList'})
- break
- }
- case 'StorageRecord': {//鍏ュ簱
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'alert', content: '鎮ㄧ偣鍑讳簡鏌ョ湅鍏ュ簱璁板綍', status: 'success'})
- //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 'Return': {//閫�搴�
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'message', content: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�', status: 'warning'})
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- } else {
- /* async ()=>{
- const type = await.VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
- }*/
- const type = VXETable.modal.confirm('鎮ㄩ�夋嫨浜�' + $grid.getCheckboxRecords().length + '鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
-
-
- /* if(VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵' )){
- //openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success',lockView: false, mask: false })
-
-
- }*/
-
- /* if(type==='confirm'){
- openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- }
-
-*/
- //openAlert({type:'alert', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }
- 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)
- }
-
-}
-
-
-</script>
-
-
-<style scoped>
-.el-row {
- margin-bottom: 20px;
-}
-
-.el-row:last-child {
- margin-bottom: 0;
-}
-
-.el-col {
- border-radius: 4px;
-}
-
-.m-header {
- height: 64px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/stockReport/SubsidiaryMonthReport.vue b/UI-Project/src/views/mm/stockReport/SubsidiaryMonthReport.vue
deleted file mode 100644
index 5c6c1bb..0000000
--- a/UI-Project/src/views/mm/stockReport/SubsidiaryMonthReport.vue
+++ /dev/null
@@ -1,268 +0,0 @@
-<template>
- <el-container>
- <el-header class="m-header">
- <el-row :gutter="10">
- <el-col :span="6">
- <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" :offset="1">
- <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="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">
- <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 {reactive} from "vue";
-import {useRouter} from 'vue-router'
-import {Search} from "@element-plus/icons-vue";
-import dayjs from "dayjs";
-import {VXETable} from "vxe-table";
-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'}, 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: '6', width: '10%',title: '澶囨敞', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
- ],//琛ㄥご鍙傛暟
- toolbarConfig: {
- buttons: [{type:'text'},{type:'text',name:'杈呮枡鏈堢粨鎶ヨ〃'}],
- 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: 2}
- ],//鍚堝苟鑴�
- 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 getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', 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 'Add': {//鏂板
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
- break
- }
- case 'Storage': {//鍏ュ簱
- if ($grid.getCheckboxRecords().length === 0) {
- 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 'Return': {//閫�搴�
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'message', content: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�', status: 'warning'})
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- } else {
- /* async ()=>{
- const type = await.VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
- }*/
- const type = VXETable.modal.confirm('鎮ㄩ�夋嫨浜�' + $grid.getCheckboxRecords().length + '鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
-
-
- /* if(VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵' )){
- //openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success',lockView: false, mask: false })
-
-
- }*/
-
- /* if(type==='confirm'){
- openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- }
-
-*/
- //openAlert({type:'alert', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- }
- 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)
- }
-
-}
-
-</script>
-
-
-<style scoped>
-.m-header {
- height: auto
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/mm/stockReport/WarehouseReport.vue b/UI-Project/src/views/mm/stockReport/WarehouseReport.vue
deleted file mode 100644
index 9db690a..0000000
--- a/UI-Project/src/views/mm/stockReport/WarehouseReport.vue
+++ /dev/null
@@ -1,387 +0,0 @@
-<template>
- <div style="padding: 0;width: 100%;height: 100%">
-
- <el-header class="m-header" style="height: auto">
-
- </el-header>
-
- <el-main style="padding-top: 5px">
- <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,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">
- <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="showNum" 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>
- </div>
-</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";
-let router = useRouter()
-
-const list = (i) => {
- return {
- 'kczz':'浜哄伐搴�',
- 'wlbm':'NGWL202312000'+i,
- 'wlmc':'杩欐槸鐗╂枡鍚嶇О',
- 'cd':'鍦扮悆鏉�',
- 'kcbh':'KC202300'+i,
- 'w':'0',
- 'g':'0',
- 'h':'0',
- 'zdw':'浠�',
- 'aqkc':'0',
- 'kcs':'20',
- 'kykc':'30',
- 'wlsl':'20',
- 'zmj':'0',
- 'dpmj':'0',
- 'scrq':'2023-12-20',
- 'bzq':'2025-12-20',
- 'kq':'2000',
- 'kw':'23',
- 'jykc':'5',
- 'bz':'杩欐槸澶囨敞*10086'
- }
-}
-
-//缁勪欢鎺ユ敹鍙傛暟
-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: 'seq', fixed: "left", title: ' ', width: 50},
- /*{ type: 'checkbox',fixed:"left", title: '', width: 50 },*/
- {field: 'kczz', width: '13%', title: '搴撳瓨缁勭粐', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'wlbm', 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: 'cd', width: '10%',title: '浜у湴', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'kcbh', 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: 'zdw', width: '8%',title: '涓诲崟浣�', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'aqkc', width: '8%',title: '瀹夊叏搴撳瓨', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'kcs', width: '12%',title: '搴撳瓨鏁�', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'kykc', width: '8%',title: '鍙敤搴撳瓨', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'wlsl', width: '12%',title: '鏈鏁伴噺', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'zmj', width: '8%',title: '鎬婚潰绉�', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'dpmj', width: '12%',title: '鍗曠墖闈㈢Н', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'scrq', width: '8%',title: '鐢熶骇鏃ユ湡', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'bzq', width: '8%',title: '淇濊川鏈�', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- /*{field: 'kcbh', width: '10%',title: '搴撳瓨缂栧彿', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},*/
- {field: 'kq', width: '10%',title: '搴撳尯', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'kw', width: '10%',title: '搴撲綅', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'jykc', width: '10%',title: '绉帇搴撳瓨', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'bz', width: '10%',title: '澶囨敞', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
- ],//琛ㄥご鍙傛暟
- toolbarConfig: {
- buttons: [{type:'text'},{
- 'name': '鍏ュ簱璁板綍',
- 'code': 'StorageRecord',
- }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true,
- style: 'paddling-left:10px'
- },//琛ㄥご鎸夐挳
- data: [
- list(0),list(1),list(2),list(3),list(4),list(5),list(6),list(7),list(8),list(9),
-
- ],//table body瀹為檯鏁版嵁
- mergeFooterItems: [
- {row: 0, col: 0, rowspan: 1, colspan: 2}
- ],//鍚堝苟鑴�
- 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 getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', 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 'ProductStockList': {//鏂板
- router.push({path: '/main/productStock/ProductStockList'})
- break
- }
- case 'StorageRecord': {//鍏ュ簱
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'alert', content: '鎮ㄧ偣鍑讳簡鏌ョ湅鍏ュ簱璁板綍', status: 'success'})
- //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 'Return': {//閫�搴�
- if ($grid.getCheckboxRecords().length === 0) {
- openAlert({type: 'message', content: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�', status: 'warning'})
- //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
- return
- } else {
- const type = VXETable.modal.confirm('鎮ㄩ�夋嫨浜�' + $grid.getCheckboxRecords().length + '鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
-
- return
- }
- break
- }
- }
- }
- },
- toolbarToolClick({code}) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'myPrint': {
- $grid.print()
- break
- }
- }
- }
- },
-}
-
-
-const showNum =ref();
-const showDetails =ref(false);
-let detailData =[];
-
-const cellClickEvent = ({row}) => {
- detailData = cName.map(field => {
- return { label: ModelColumnContent(field) , value: row[field] }
-
- })
-
-
- showDetails.value = true;
- showNum.value = row['wlbm'];
-
-}
-const cName = ['kczz','wlbm','wlmc','cd','kcbh','w','g','h','zdw','aqkc','kcs','kykc','wlsl','zmj', 'dpmj','scrq','bzq','kq','kw','jykc','bz'];
-const ModelColumnContent = (text) => {
- switch (text) {
- case 'kczz':
- return "搴撳瓨缁勭粐";
- case 'wlbm':
- return "鐗╂枡缂栫爜";
- case 'wlmc':
- return "鐗╂枡鍚嶇О";
- case 'cd':
- return "浜у湴";
- case 'kcbh':
- return "搴撳瓨缂栧彿";
- case 'w':
- return "瀹�";
- case 'g':
- return "楂�";
- case 'h':
- return "鍘�";
- case 'zdw':
- return "涓诲崟浣�";
- case 'aqkc':
- return "瀹夊叏搴撳瓨";
- case 'kcs':
- return "搴撳瓨鏁�";
- case 'kykc':
- return "鍙敤搴撳瓨";
- case 'wlsl':
- return "鏈鏁伴噺";
- case 'zmj':
- return "鎬婚潰绉�";
- case 'dpmj':
- return "鍗曠墖闈㈢Н";
- case 'scrq':
- return "鐢熶骇鏃ユ湡";
- case 'bzq': return "淇濊川鏈�";
- case 'kq': return "搴撳尯";
- case 'kw': return "搴撲綅";
- case 'jykc': return "绉帇搴撳瓨";
- case 'bz':
- return "澶囨敞";
- default:
- return text;
-
- }
-
-}
-
-
-
-const openAlert = (options) => {
- if(options.type==='message'){
- VXETable.modal.message(options)
- }else{
- VXETable.modal.alert(options)
- }
-}
-
-
-</script>
-
-
-<style scoped>
-.el-row {
- margin-bottom: 20px;
-}
-
-.el-row:last-child {
- margin-bottom: 0;
-}
-
-.el-col {
- border-radius: 4px;
-}
-
-.m-header {
- height: 64px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/BOM.vue b/UI-Project/src/views/pp/BOM/BOM.vue
deleted file mode 100644
index 920e46e..0000000
--- a/UI-Project/src/views/pp/BOM/BOM.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/BOM/SelectBOM' }">BOM绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/BOM/BenchmarkBOM' }">鍩哄噯BOM</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/BOM/StandardBOM' }">鏍囧噯BOM</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/BOM/OrderBOM' }">璁㈠崟BOM</el-breadcrumb-item>
- <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/BenchmarkBOM.vue b/UI-Project/src/views/pp/BOM/BenchmarkBOM.vue
deleted file mode 100644
index 486fff8..0000000
--- a/UI-Project/src/views/pp/BOM/BenchmarkBOM.vue
+++ /dev/null
@@ -1,254 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '鐗╂枡缂栫爜', title: '鐗╂枡缂栫爜',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '鏁伴噺',title: '鏁伴噺', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '棰嗘枡宸ュ簭', title: '棰嗘枡宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '涓诲崟浣�',title: '涓诲崟浣�', sortable: true,showOverflow:"ellipsis"},
- {field: '鎹㈢畻鐜�', title: '鎹㈢畻鐜�', sortable: true},
- {field: '鍓崟浣�', title: '鍓崟浣�', sortable: true},
- {field: '浜у湴', title: '浜у湴', sortable: true,showOverflow:"ellipsis"},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- //琛ㄦ牸涓婃柟鍔熻兘鎸夐挳
- buttons: [
- {code: 'print_lck', name: '娣诲姞涓�琛�' },
- {code: 'print_lck', name: '鍑忓皯涓�琛�' },
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- //鐗╂枡缂栫爜
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- //鐗╂枡鍚嶇О
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- //鏁伴噺
- 鏁伴噺: '4',
- //棰嗘枡宸ュ簭
- 棰嗘枡宸ュ簭: '鍒堕暅',
- //涓诲崟浣�
- 涓诲崟浣�:'L',
- //鎹㈢畻鐜�
- 鎹㈢畻鐜�:'0.001000',
- //鍓崟浣�
- 鍓崟浣�:'ml',
- //浜у湴
- 浜у湴:'鍥涘窛',
- },
- {
- //鐗╂枡缂栫爜
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- //鐗╂枡鍚嶇О
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- //鏁伴噺
- 鏁伴噺: '4',
- //棰嗘枡宸ュ簭
- 棰嗘枡宸ュ簭: '鍒堕暅',
- //涓诲崟浣�
- 涓诲崟浣�:'L',
- //鎹㈢畻鐜�
- 鎹㈢畻鐜�:'0.001000',
- //鍓崟浣�
- 鍓崟浣�:'ml',
- //浜у湴
- 浜у湴:'鍥涘窛',
- },
- {
- //鐗╂枡缂栫爜
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- //鐗╂枡鍚嶇О
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- //鏁伴噺
- 鏁伴噺: '4',
- //棰嗘枡宸ュ簭
- 棰嗘枡宸ュ簭: '鍒堕暅',
- //涓诲崟浣�
- 涓诲崟浣�:'L',
- //鎹㈢畻鐜�
- 鎹㈢畻鐜�:'0.001000',
- //鍓崟浣�
- 鍓崟浣�:'ml',
- //浜у湴
- 浜у湴:'鍥涘窛',
- },
- {
- //鐗╂枡缂栫爜
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- //鐗╂枡鍚嶇О
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- //鏁伴噺
- 鏁伴噺: '4',
- //棰嗘枡宸ュ簭
- 棰嗘枡宸ュ簭: '鍒堕暅',
- //涓诲崟浣�
- 涓诲崟浣�:'L',
- //鎹㈢畻鐜�
- 鎹㈢畻鐜�:'0.001000',
- //鍓崟浣�
- 鍓崟浣�:'ml',
- //浜у湴
- 浜у湴:'鍥涘窛',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鏁伴噺']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-//浜у搧绉嶇被涓嬫媺妗�
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <el-select v-model="value" class="m-2" placeholder="浜у搧绉嶇被">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/OrderBOM.vue b/UI-Project/src/views/pp/BOM/OrderBOM.vue
deleted file mode 100644
index 56c0bb3..0000000
--- a/UI-Project/src/views/pp/BOM/OrderBOM.vue
+++ /dev/null
@@ -1,273 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/BOM/OrderBOMDetails', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 70, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
-
- { field: '閿�鍞崟鍙�',width: 130, title: '閿�鍞崟鍙�',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
- { field: '瀹㈡埛鍚嶇О',width: 130, title: '瀹㈡埛鍚嶇О',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- { field: '椤圭洰鍚嶇О',width: 130, title: '椤圭洰鍚嶇О',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
- { field: '鎵规',width: 75, title: '鎵规',sortable: true, },
- {field: '璁㈠崟鏁�',width: 83, title: '璁㈠崟鏁�', sortable: true, },
- {field: '璁㈠崟闈㈢Н',width: 100, title: '璁㈠崟闈㈢Н', sortable: true,showOverflow:"ellipsis" ,},
- {field: '璁㈠崟绫诲瀷',width: 110, title: '璁㈠崟绫诲瀷', sortable: true,},
- {field: '涓氬姟鍛�',width: 85, title: '涓氬姟鍛�', sortable: true},
- {field: '宸ュ崟BOM鐢熸垚鏃堕棿',width: 160,title: '宸ュ崟BOM鐢熸垚鏃堕棿', sortable: true,showOverflow:"ellipsis"},
- {field: '宸ュ崟BOM瀹℃牳鏃堕棿',width: 160,title: '宸ュ崟BOM瀹℃牳鏃堕棿', sortable: true},
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- //閿�鍞崟鍙�
- 閿�鍞崟鍙�: 'NG23121201',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: '姹熼棬棣楄揪鐗圭幓绉戞妧鏈夐檺鍏徃',
- //椤圭洰鍚嶇О
- 椤圭洰鍚嶇О: '澶ф澘闀�',
- //鎵规
- 鎵规: '1鎵逛竴',
- //璁㈠崟鏁�
- 璁㈠崟鏁�:'1212',
- //璁㈠崟闈㈢Н
- 璁㈠崟闈㈢Н:'442.21',
- //璁㈠崟绫诲瀷
- 璁㈠崟绫诲瀷:'鍐呴儴',
- //涓氬姟鍛�
- 涓氬姟鍛�:'XX',
- //宸ュ崟BOM鐢熸垚鏃堕棿
- 宸ュ崟BOM鐢熸垚鏃堕棿:'2020-01-01',
- //宸ュ崟BOM瀹℃牳鏃堕棿
- 宸ュ崟BOM瀹℃牳鏃堕棿:'2020-01-02',
- },
- {
- //閿�鍞崟鍙�
- 閿�鍞崟鍙�: 'NG23121201',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: '姹熼棬棣楄揪鐗圭幓绉戞妧鏈夐檺鍏徃',
- //椤圭洰鍚嶇О
- 椤圭洰鍚嶇О: '澶ф澘闀�',
- //鎵规
- 鎵规: '1鎵逛竴',
- //璁㈠崟鏁�
- 璁㈠崟鏁�:'1212',
- //璁㈠崟闈㈢Н
- 璁㈠崟闈㈢Н:'442.21',
- //璁㈠崟绫诲瀷
- 璁㈠崟绫诲瀷:'鍐呴儴',
- //涓氬姟鍛�
- 涓氬姟鍛�:'XX',
- //宸ュ崟BOM鐢熸垚鏃堕棿
- 宸ュ崟BOM鐢熸垚鏃堕棿:'2020-01-01',
- //宸ュ崟BOM瀹℃牳鏃堕棿
- 宸ュ崟BOM瀹℃牳鏃堕棿:'2020-01-02',
- },
- {
- //閿�鍞崟鍙�
- 閿�鍞崟鍙�: 'NG23121201',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: '姹熼棬棣楄揪鐗圭幓绉戞妧鏈夐檺鍏徃',
- //椤圭洰鍚嶇О
- 椤圭洰鍚嶇О: '澶ф澘闀�',
- //鎵规
- 鎵规: '1鎵逛竴',
- //璁㈠崟鏁�
- 璁㈠崟鏁�:'1212',
- //璁㈠崟闈㈢Н
- 璁㈠崟闈㈢Н:'442.21',
- //璁㈠崟绫诲瀷
- 璁㈠崟绫诲瀷:'鍐呴儴',
- //涓氬姟鍛�
- 涓氬姟鍛�:'XX',
- //宸ュ崟BOM鐢熸垚鏃堕棿
- 宸ュ崟BOM鐢熸垚鏃堕棿:'2020-01-01',
- //宸ュ崟BOM瀹℃牳鏃堕棿
- 宸ュ崟BOM瀹℃牳鏃堕棿:'2020-01-02',
- },
- {
- //閿�鍞崟鍙�
- 閿�鍞崟鍙�: 'NG23121201',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: '姹熼棬棣楄揪鐗圭幓绉戞妧鏈夐檺鍏徃',
- //椤圭洰鍚嶇О
- 椤圭洰鍚嶇О: '澶ф澘闀�',
- //鎵规
- 鎵规: '1鎵逛竴',
- //璁㈠崟鏁�
- 璁㈠崟鏁�:'1212',
- //璁㈠崟闈㈢Н
- 璁㈠崟闈㈢Н:'442.21',
- //璁㈠崟绫诲瀷
- 璁㈠崟绫诲瀷:'鍐呴儴',
- //涓氬姟鍛�
- 涓氬姟鍛�:'XX',
- //宸ュ崟BOM鐢熸垚鏃堕棿
- 宸ュ崟BOM鐢熸垚鏃堕棿:'2020-01-01',
- //宸ュ崟BOM瀹℃牳鏃堕棿
- 宸ュ崟BOM瀹℃牳鏃堕棿:'2020-01-02',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['璁㈠崟鏁�','璁㈠崟闈㈢Н']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/OrderBOMDetails.vue b/UI-Project/src/views/pp/BOM/OrderBOMDetails.vue
deleted file mode 100644
index 55dc9a2..0000000
--- a/UI-Project/src/views/pp/BOM/OrderBOMDetails.vue
+++ /dev/null
@@ -1,271 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/BOM/StandardBOMDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-const form = reactive({
- xsdh:'NG23010101',
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- { slots: { default: 'state' }, title: '鍩哄噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '鏍囧噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '瀹℃牳', width: 80 },
- {field: '瀹㈡埛缂栧彿', width: 120, title: '瀹㈡埛缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '瀹㈡埛鍚嶇О',width: 120, title: '瀹㈡埛鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧缂栧彿', width: 130,title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鐜荤拑闀�', width: 100,title: '鐜荤拑闀�', sortable: true,showOverflow:"ellipsis"},
- {field: '鐜荤拑瀹�', width: 100,title: '鐜荤拑瀹�', sortable: true},
- {field: '鍘氬害',width: 100, title: '鍘氬害', sortable: true},
- {field: '褰㈢姸',width: 120, title: '褰㈢姸', sortable: true,showOverflow:"ellipsis"},
- {field: '澶囨敞', width: 120,title: '澶囨敞', sortable: true},
- {field: '浜у搧鍒涘缓浜�',width: 120, title: '浜у搧鍒涘缓浜�', sortable: true},
- {field: 'BOM鍒涘缓浜�',width: 120, title: 'BOM鍒涘缓浜�', sortable: true},
- {field: '瀹℃牳鍛�',width: 120, title: '瀹℃牳鍛�', sortable: true}
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '杞噰璐崟' ,status:'primary'},
- {code: 'print_lck', name: '瀹℃牳', status:'primary'},
- {code: 'print_lck', name: '鍒犻櫎', status:'primary'},
- {code: 'print_lck', name: '淇敼瓒呴鏁伴噺', status:'primary'},
- {code: 'print_lck', name: '鐢熸垚璁㈠崟BOM',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- //瀹㈡埛缂栧彿
- 瀹㈡埛缂栧彿: 'D123123',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- //瀹㈡埛缂栧彿
- 瀹㈡埛缂栧彿: 'D123123',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- //瀹㈡埛缂栧彿
- 瀹㈡埛缂栧彿: 'D123123',
- //瀹㈡埛鍚嶇О
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div>
- <el-input placeholder="閿�鍞崟鍙�" style="width: 115px" v-model="form.xsdh"></el-input>
-
- <el-select v-model="value" class="m-2" placeholder="001123311" style="width: 120px">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-select v-model="value" class="m-2" placeholder="閽㈠寲" style="width: 80px">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <br>
- <el-input placeholder="鐗╂枡缂栫爜" style="width: 200px"></el-input>
- <el-input placeholder="鐗╂枡鍚嶇О" style="width: 200px"></el-input>
- <el-input placeholder="闇�姹傛暟閲�" style="width: 200px"></el-input>
- <el-button type="primary">娣诲姞</el-button>
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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 #state="{ row}">
- <el-checkbox checked/>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/SelectBOM.vue b/UI-Project/src/views/pp/BOM/SelectBOM.vue
deleted file mode 100644
index 31ecdfa..0000000
--- a/UI-Project/src/views/pp/BOM/SelectBOM.vue
+++ /dev/null
@@ -1,249 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/BOM/StandardBOMDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 80, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- { slots: { default: 'state' }, title: '鍩哄噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '鏍囧噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '瀹℃牳', width: 80 },
- {field: '瀹㈡埛缂栧彿', width: 120, title: '瀹㈡埛缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '瀹㈡埛鍚嶇О',width: 120, title: '瀹㈡埛鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧缂栧彿', width: 130,title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鐜荤拑闀�', width: 100,title: '鐜荤拑闀�', sortable: true,showOverflow:"ellipsis"},
- {field: '鐜荤拑瀹�', width: 100,title: '鐜荤拑瀹�', sortable: true},
- {field: '鍘氬害',width: 100, title: '鍘氬害', sortable: true},
- {field: '褰㈢姸',width: 120, title: '褰㈢姸', sortable: true,showOverflow:"ellipsis"},
- {field: '澶囨敞', width: 120,title: '澶囨敞', sortable: true},
- {field: '浜у搧鍒涘缓浜�',width: 120, title: '浜у搧鍒涘缓浜�', sortable: true},
- {field: 'BOM鍒涘缓浜�',width: 120, title: 'BOM鍒涘缓浜�', sortable: true},
- {field: '瀹℃牳鍛�',width: 120, title: '瀹℃牳鍛�', sortable: true}
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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 #state="{ row}">
- <el-checkbox checked/>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/StandardBOM.vue b/UI-Project/src/views/pp/BOM/StandardBOM.vue
deleted file mode 100644
index 4ba9d06..0000000
--- a/UI-Project/src/views/pp/BOM/StandardBOM.vue
+++ /dev/null
@@ -1,235 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/BOM/StandardBOMDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑瀹℃牳鐘舵��')
- break
- }
- }
-}
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 80, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- { slots: { default: 'state' }, title: '鍩哄噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '鏍囧噯BOM', width: 110 },
- { slots: { default: 'state' }, title: '瀹℃牳', width: 80 },
- {field: '瀹㈡埛缂栧彿', width: 120, title: '瀹㈡埛缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '瀹㈡埛鍚嶇О',width: 120, title: '瀹㈡埛鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧缂栧彿', width: 130,title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鐜荤拑闀�', width: 100,title: '鐜荤拑闀�', sortable: true,showOverflow:"ellipsis"},
- {field: '鐜荤拑瀹�', width: 100,title: '鐜荤拑瀹�', sortable: true},
- {field: '鍘氬害',width: 100, title: '鍘氬害', sortable: true},
- {field: '褰㈢姸',width: 120, title: '褰㈢姸', sortable: true,showOverflow:"ellipsis"},
- {field: '澶囨敞', width: 120,title: '澶囨敞', sortable: true},
- {field: '浜у搧鍒涘缓浜�',width: 120, title: '浜у搧鍒涘缓浜�', sortable: true},
- {field: 'BOM鍒涘缓浜�',width: 120, title: 'BOM鍒涘缓浜�', sortable: true},
- {field: '瀹℃牳鍛�',width: 120, title: '瀹℃牳鍛�', sortable: true}
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- {
- 瀹㈡埛缂栧彿: 'D123123',
- 瀹㈡埛鍚嶇О: 'XXXX鍏徃',
- 浜у搧缂栧彿: '06040000022',
- 浜у搧鍚嶇О:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鐜荤拑闀�:'1440',
- 鐜荤拑瀹�:'3660',
- 鍘氬害:'30',
- 褰㈢姸:'鏅舰',
- 澶囨敞:'111',
- 浜у搧鍒涘缓浜�:'寮犱笁',
- BOM鍒涘缓浜�:'鏉庡洓',
- 瀹℃牳鍛�:'鐜嬩簲',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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 #state="{ row}">
- <el-checkbox checked/>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/BOM/StandardBOMDetail.vue b/UI-Project/src/views/pp/BOM/StandardBOMDetail.vue
deleted file mode 100644
index 2409504..0000000
--- a/UI-Project/src/views/pp/BOM/StandardBOMDetail.vue
+++ /dev/null
@@ -1,259 +0,0 @@
-<script setup>
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '鐗╂枡缂栫爜', title: '鐗╂枡缂栫爜',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '鏁伴噺',title: '鏁伴噺', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '棰嗘枡宸ュ簭', title: '棰嗘枡宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '涓诲崟浣�',title: '涓诲崟浣�', sortable: true,showOverflow:"ellipsis"},
- {field: '鎹㈢畻鐜�', title: '鎹㈢畻鐜�', sortable: true},
- {field: '鍓崟浣�', title: '鍓崟浣�', sortable: true},
- {field: '浜у湴', title: '浜у湴', sortable: true,showOverflow:"ellipsis"},
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
-
- {code: 'print_lck', name: '娣诲姞涓�琛�' },
- {code: 'print_lck', name: '鍑忓皯涓�琛�' },
- {code: 'print_lck', name: '瀹℃牳',status:'primary' },
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
-
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- 鏁伴噺: '4',
- 棰嗘枡宸ュ簭: '鍒堕暅',
- 涓诲崟浣�:'L',
- 鎹㈢畻鐜�:'0.001000',
- 鍓崟浣�:'ml',
- 浜у湴:'鍥涘窛',
- },
- {
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- 鏁伴噺: '4',
- 棰嗘枡宸ュ簭: '鍒堕暅',
- 涓诲崟浣�:'L',
- 鎹㈢畻鐜�:'0.001000',
- 鍓崟浣�:'ml',
- 浜у湴:'鍥涘窛',
- },
- {
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- 鏁伴噺: '4',
- 棰嗘枡宸ュ簭: '鍒堕暅',
- 涓诲崟浣�:'L',
- 鎹㈢畻鐜�:'0.001000',
- 鍓崟浣�:'ml',
- 浜у湴:'鍥涘窛',
- },
- {
- 鐗╂枡缂栫爜: '70020000000000000000000004',
- 鐗╂枡鍚嶇О: '棰勬礂鍓�7600TRO-DS',
- 鏁伴噺: '4',
- 棰嗘枡宸ュ簭: '鍒堕暅',
- 涓诲崟浣�:'L',
- 鎹㈢畻鐜�:'0.001000',
- 鍓崟浣�:'ml',
- 浜у湴:'鍥涘窛',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鏁伴噺']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-const form = reactive({
- name: '',
- id:'',
- length:'',
- width:'',
-
- region: '1',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div>
- <div style="text-align: center">
- <el-input placeholder="浜у搧缂栧彿" style="width: 140px" v-model="form.id"></el-input>
-
- <el-input placeholder="浜у搧鍚嶇О" style="width: 180px" v-model="form.name"></el-input>
-
- <el-input placeholder="闀�" style="width: 60px" v-model="form.length"></el-input>
-
- <el-input placeholder="瀹�" style="width: 60px" v-model="form.width"></el-input>
-
- <label>鍩烘暟:</label>
- <el-input placeholder="鍩烘暟" style="width: 40px" v-model="form.region">1</el-input>
-
- <div id="tab_div">
- <table class="tab_bfl" style="border: 1px solid black;">
- <tr>
- <td>棰嗘枡宸ュ簭</td>
- <td>鍒囧壊</td>
- <td>纾ㄨ竟</td>
- <td>閽㈠寲</td>
- </tr>
- <tr>
- <td>鎶ュ簾鐜�%</td>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- </table>
- </div>
- </div>
- <div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
- </div>
-</template>
-
-<style scoped>
-#tab_div{
- text-align: center;
- margin: 0 auto;
- width: 50%;
-}
-.tab_bfl{
- text-align: center;
- width: 100%;
-border-collapse: collapse;
-}
-
-.tab_bfl td{
- border: 1px solid black;
-}
-
-.tab_bfl tr{
- border: 1px;
- height: 30px;
-}
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/Replenish/AddReplenish.vue b/UI-Project/src/views/pp/Replenish/AddReplenish.vue
deleted file mode 100644
index 42b0bc3..0000000
--- a/UI-Project/src/views/pp/Replenish/AddReplenish.vue
+++ /dev/null
@@ -1,308 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '鎶ュ伐鏃堕棿', width: 120,title: '鎶ュ伐鏃堕棿', sortable: true},
- {field: '閿�鍞崟鍙�', width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '娴佺▼鍗″彿',width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '椤圭洰鍚嶇О', width: 130,title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鎶ュ伐缂栧彿', width: 100,title: '鎶ュ伐缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: '搴忓彿', width: 70,title: '搴忓彿', sortable: true},
- {field: '鍗曠墖鍚嶇О',width: 100, title: '鍗曠墖鍚嶇О', sortable: true},
- {field: '妤煎眰缂栧彿',width: 120, title: '妤煎眰缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: '鏍囪', width: 80,title: '鏍囪', sortable: true},
- {field: '鐗囨爣璁�',width: 90, title: '鐗囨爣璁�', sortable: true},
- {field: '娴佺▼鍗℃暟閲�',width: 120, title: '娴佺▼鍗℃暟閲�', sortable: true},
- {field: '瀹�',width: 80, title: '瀹�', sortable: true},
- {field: '楂�',width: 80, title: '楂�', sortable: true},
- {field: '闈㈢Н',width: 80, title: '闈㈢Н', sortable: true},
- {field: '褰㈢姸',width: 80, title: '褰㈢姸', sortable: true},
- {field: '娆$牬鏁伴噺',width: 120, title: '娆$牬鏁伴噺', sortable: true},
- {field: '娆$牬绫诲瀷',width: 120, title: '娆$牬绫诲瀷', sortable: true},
- {field: '娆$牬鍘熷洜',width: 120, title: '娆$牬鍘熷洜', sortable: true},
- {field: '璐d换璁惧',width: 120, title: '璐d换璁惧', sortable: true},
- {field: '鎶ュ伐宸ュ簭',width: 120, title: '鎶ュ伐宸ュ簭', sortable: true},
- {field: '璐d换宸ュ簭',width: 120, title: '璐d换宸ュ簭', sortable: true},
- {field: '璐d换鐝粍',width: 120, title: '璐d换鐝粍', sortable: true},
- {field: '璐d换浜哄憳',width: 120, title: '璐d换浜哄憳', sortable: true},
- {field: '璐ㄦ鍛�',width: 100, title: '璐ㄦ鍛�', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 鎶ュ伐鏃堕棿:'2021-01-01',
- 閿�鍞崟鍙�:'NG23010101',
- 娴佺▼鍗″彿:'NG23010101A01',
- 椤圭洰鍚嶇О:'xxxx',
- 浜у搧鍚嶇О:"xxxxxxxxx",
- 鎶ュ伐缂栧彿:"BG2301010001",
- 妤煎眰缂栧彿:"D4-010-01",
- 闈㈢Н:'23.11',
- 鎶ュ伐宸ュ簭:'閽㈠寲',
- 璐ㄦ鍛�:"寮犱笁",
- 搴忓彿:'1',
- 鍗曠墖鍚嶇О: '6mm鐧界幓骞抽挗(澶�)',
- 鏍囪: '1',
- 鐗囨爣璁�: '(澶�)',
- 娴佺▼鍗℃暟閲�: '11',
- 瀹�: '575',
- 楂�:"2241",
- 褰㈢姸: '鏅舰',
- 娆$牬鏁伴噺: '12',
- 娆$牬绫诲瀷: '鏈哄櫒',
- 娆$牬鍘熷洜:'姘旀场瓒呮爣',
- 璐d换宸ュ簭:'涓┖',
- 璐d换鐝粍:'涓┖涓�鐝�',
- 璐d换浜哄憳:'',
- 璐d换璁惧:'涓┖3#绾�',
- },
- {
- 鎶ュ伐鏃堕棿:'2021-01-01',
- 閿�鍞崟鍙�:'NG23010101',
- 娴佺▼鍗″彿:'NG23010101A01',
- 椤圭洰鍚嶇О:'xxxx',
- 浜у搧鍚嶇О:"xxxxxxxxx",
- 鎶ュ伐缂栧彿:"BG2301010001",
- 妤煎眰缂栧彿:"D4-010-01",
- 闈㈢Н:'23.11',
- 鎶ュ伐宸ュ簭:'閽㈠寲',
- 璐ㄦ鍛�:"寮犱笁",
- 搴忓彿:'1',
- 鍗曠墖鍚嶇О: '6mm鐧界幓骞抽挗(澶�)',
- 鏍囪: '1',
- 鐗囨爣璁�: '(澶�)',
- 娴佺▼鍗℃暟閲�: '11',
- 瀹�: '575',
- 楂�:"2241",
- 褰㈢姸: '鏅舰',
- 娆$牬鏁伴噺: '12',
- 娆$牬绫诲瀷: '鏈哄櫒',
- 娆$牬鍘熷洜:'姘旀场瓒呮爣',
- 璐d换宸ュ簭:'涓┖',
- 璐d换鐝粍:'涓┖涓�鐝�',
- 璐d换浜哄憳:'',
- 璐d换璁惧:'涓┖3#绾�',
- },
- {
- 鎶ュ伐鏃堕棿:'2021-01-01',
- 閿�鍞崟鍙�:'NG23010101',
- 娴佺▼鍗″彿:'NG23010101A01',
- 椤圭洰鍚嶇О:'xxxx',
- 浜у搧鍚嶇О:"xxxxxxxxx",
- 鎶ュ伐缂栧彿:"BG2301010001",
- 妤煎眰缂栧彿:"D4-010-01",
- 闈㈢Н:'23.11',
- 鎶ュ伐宸ュ簭:'閽㈠寲',
- 璐ㄦ鍛�:"寮犱笁",
- 搴忓彿:'1',
- 鍗曠墖鍚嶇О: '6mm鐧界幓骞抽挗(澶�)',
- 鏍囪: '1',
- 鐗囨爣璁�: '(澶�)',
- 娴佺▼鍗℃暟閲�: '11',
- 瀹�: '575',
- 楂�:"2241",
- 褰㈢姸: '鏅舰',
- 娆$牬鏁伴噺: '12',
- 娆$牬绫诲瀷: '鏈哄櫒',
- 娆$牬鍘熷洜:'姘旀场瓒呮爣',
- 璐d换宸ュ簭:'涓┖',
- 璐d换鐝粍:'涓┖涓�鐝�',
- 璐d换浜哄憳:'',
- 璐d换璁惧:'涓┖3#绾�',
- },
- {
- 鎶ュ伐鏃堕棿:'2021-01-01',
- 閿�鍞崟鍙�:'NG23010101',
- 娴佺▼鍗″彿:'NG23010101A01',
- 椤圭洰鍚嶇О:'xxxx',
- 浜у搧鍚嶇О:"xxxxxxxxx",
- 鎶ュ伐缂栧彿:"BG2301010001",
- 妤煎眰缂栧彿:"D4-010-01",
- 闈㈢Н:'23.11',
- 鎶ュ伐宸ュ簭:'閽㈠寲',
- 璐ㄦ鍛�:"寮犱笁",
- 搴忓彿:'1',
- 鍗曠墖鍚嶇О: '6mm鐧界幓骞抽挗(澶�)',
- 鏍囪: '1',
- 鐗囨爣璁�: '(澶�)',
- 娴佺▼鍗℃暟閲�: '11',
- 瀹�: '575',
- 楂�:"2241",
- 褰㈢姸: '鏅舰',
- 娆$牬鏁伴噺: '12',
- 娆$牬绫诲瀷: '鏈哄櫒',
- 娆$牬鍘熷洜:'姘旀场瓒呮爣',
- 璐d换宸ュ簭:'涓┖',
- 璐d换鐝粍:'涓┖涓�鐝�',
- 璐d换浜哄憳:'',
- 璐d换璁惧:'涓┖3#绾�',
- },
- {
- 鎶ュ伐鏃堕棿:'2021-01-01',
- 閿�鍞崟鍙�:'NG23010101',
- 娴佺▼鍗″彿:'NG23010101A01',
- 椤圭洰鍚嶇О:'xxxx',
- 浜у搧鍚嶇О:"xxxxxxxxx",
- 鎶ュ伐缂栧彿:"BG2301010001",
- 妤煎眰缂栧彿:"D4-010-01",
- 闈㈢Н:'23.11',
- 鎶ュ伐宸ュ簭:'閽㈠寲',
- 璐ㄦ鍛�:"寮犱笁",
- 搴忓彿:'1',
- 鍗曠墖鍚嶇О: '6mm鐧界幓骞抽挗(澶�)',
- 鏍囪: '1',
- 鐗囨爣璁�: '(澶�)',
- 娴佺▼鍗℃暟閲�: '11',
- 瀹�: '575',
- 楂�:"2241",
- 褰㈢姸: '鏅舰',
- 娆$牬鏁伴噺: '12',
- 娆$牬绫诲瀷: '鏈哄櫒',
- 娆$牬鍘熷洜:'姘旀场瓒呮爣',
- 璐d换宸ュ簭:'涓┖',
- 璐d换鐝粍:'涓┖涓�鐝�',
- 璐d换浜哄憳:'',
- 璐d换璁惧:'涓┖3#绾�',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['娴佺▼鍗℃暟閲�','闈㈢Н','娆$牬鏁伴噺']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/Replenish/PrintReplenishFlowCard.vue b/UI-Project/src/views/pp/Replenish/PrintReplenishFlowCard.vue
deleted file mode 100644
index be817fe..0000000
--- a/UI-Project/src/views/pp/Replenish/PrintReplenishFlowCard.vue
+++ /dev/null
@@ -1,257 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/PrintFlowCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- // {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
- {field: 'salesOrderNo',width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'productionOrderNo',width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'customerName',width: 120, title: '瀹㈡埛鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'entryName',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'sliceMarking',width: 90, title: '鐗囨爣璁�', sortable: true,showOverflow:"ellipsis"},
- {field: 'marking',width: 80, title: '鏍囪', sortable: true},
- {field: 'pieces',width: 80, title: '鐗囨暟', sortable: true},
- {field: 'area',width: 80, title: '闈㈢Н', sortable: true,showOverflow:"ellipsis"},
- {field: 'productName',width: 120, title: '浜у搧鍚嶇О', sortable: true},
- {field: 'floorNumber',width: 120, title: '妤煎眰缂栧彿', sortable: true},
- {field: 'divider', width: 120,title: '鍒嗘灦鍛�', sortable: true},
- {field: 'splittingTime',width: 120, title: '鍒嗘灦鏃堕棿', sortable: true},
- {field: 'notes',width: 120, title: '澶囨敞', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {
- name:'瀹ゅ唴闈�',
- dropdowns: [
- { code: 'other1', name: '瀹ゅ唴闈�', type: 'text', },
- { code: 'other2', name: '瀹ゅ闈�', type: 'text', },
- ]
- },
- {
- name:'鎴愬搧鏍囩',
- dropdowns: [
- { code: 'other1', name: '鎴愬搧鏍囩', type: 'text', },
- { code: 'other2', name: '鍗曠墖鏍囩', type: 'text',},
- ]
- },
- {code: 'print_lck', name: '鎵撳嵃娴佺▼鍗�',status:'primary' },
- {code: 'print_bq', name: '鎵撳嵃鏍囩',status:'primary' },
- {code: 'print_qx', name: '涓嶅彲鎺掔増' ,status:'primary'},
- {code: 'print_pb', name: '璁″垝鎺掔増',status:'primary' }
- ],
-
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- salesOrderNo: 'NG231201',
- productionOrderNo:'NG231201A',
- processCard: 'NG231201A01',
- customerName:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- entryName:'閾堕殕骞垮満',
- sliceMarking:'(澶�)',
- marking:'1',
- pieces:'16',
- area:'24.14',
- productName: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- singlePieceName: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- floorNumber: '16-BSGB05',
- divider: '鏅舰',
- splittingTime: '2023-01-11',
- notes: '',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo:'NG231201A',
- processCard: 'NG231201A01',
- customerName:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- entryName:'閾堕殕骞垮満',
- sliceMarking:'(鍐�)',
- marking:'2',
- pieces:'16',
- area:'24.14',
- productName: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- singlePieceName: '10mm瓒呯櫧骞抽挗(鍐�)',
- floorNumber: '16-BSGB05',
- divider: '鏅舰',
- splittingTime: '2023-01-11',
- notes: '',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo:'NG231201A',
- processCard: 'NG231201A02',
- customerName:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- entryName:'閾堕殕骞垮満',
- sliceMarking:'(澶�)',
- marking:'1',
- pieces:'6',
- area:'24.14',
- productName: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- singlePieceName: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- floorNumber: '16-BSGB05',
- divider: '鏅舰',
- splittingTime: '2023-01-11',
- notes: '',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo:'NG231201A',
- processCard: 'NG231201A02',
- customerName:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- entryName:'閾堕殕骞垮満',
- sliceMarking:'(鍐�)',
- marking:'2',
- pieces:'6',
- area:'24.14',
- productName: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- singlePieceName: '10mm瓒呯櫧骞抽挗(鍐�)',
- floorNumber: '16-BSGB05',
- divider: '鏅舰',
- splittingTime: '2023-01-11',
- notes: '',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['pieces','area']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鎺掔増</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-
-.stnw{
- height: 33px;
- width: 80px;
- background-color: #409eff;
- color: white;
- border: none;
- border-radius: 5px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/Replenish/Replenish.vue b/UI-Project/src/views/pp/Replenish/Replenish.vue
deleted file mode 100644
index c5a29d7..0000000
--- a/UI-Project/src/views/pp/Replenish/Replenish.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/Replenish/SelectReplenish' }">琛ョ墖绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/Replenish/AddReplenish' }">琛ョ墖鏂板</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/Replenish/PrintReplenishFlowCard' }">琛ョ墖鎵撳嵃</el-breadcrumb-item>
- <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/Replenish/SelectReplenish.vue b/UI-Project/src/views/pp/Replenish/SelectReplenish.vue
deleted file mode 100644
index f8a96f2..0000000
--- a/UI-Project/src/views/pp/Replenish/SelectReplenish.vue
+++ /dev/null
@@ -1,332 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 80, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
-
- {field: 'salesOrderNo', width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'processCardNo',width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'entryName', width: 130,title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'productName',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'reportingWorkNo', width: 100,title: '鎶ュ伐缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'serialNumber', width: 70,title: '搴忓彿', sortable: true},
- {field: 'singlePieceName',width: 100, title: '鍗曠墖鍚嶇О', sortable: true},
- {field: 'floorNumber',width: 120, title: '妤煎眰缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: 'marking', width: 80,title: '鏍囪', sortable: true},
- {field: 'pieces',width: 90, title: '鐗囨爣璁�', sortable: true},
- {field: 'processCardNumber',width: 120, title: '娴佺▼鍗℃暟閲�', sortable: true},
- {field: 'width',width: 80, title: '瀹�', sortable: true},
- {field: 'height',width: 80, title: '楂�', sortable: true},
- {field: 'area',width: 80, title: '闈㈢Н', sortable: true},
- {field: 'shape',width: 80, title: '褰㈢姸', sortable: true},
- {field: 'numberBroken',width: 120, title: '娆$牬鏁伴噺', sortable: true},
- {field: 'reasonType',width: 120, title: '娆$牬绫诲瀷', sortable: true},
- {field: 'reasonDamage',width: 120, title: '娆$牬鍘熷洜', sortable: true},
- {field: 'responsibilityDevice',width: 120, title: '璐d换璁惧', sortable: true},
- {field: 'reportingProcess',width: 120, title: '鎶ュ伐宸ュ簭', sortable: true},
- {field: 'responsibilityProcess',width: 120, title: '璐d换宸ュ簭', sortable: true},
- {field: 'responsibilityTeams',width: 120, title: '璐d换鐝粍', sortable: true},
- {field: 'responsibilityPersonnel',width: 120, title: '璐d换浜哄憳', sortable: true},
- {field: 'qualityInspector',width: 100, title: '璐ㄦ鍛�', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- reportingWorkTime:'2021-01-01',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- productName:"xxxxxxxxx",
- reportingWorkNo:"BG2301010001",
- floorNumber:"D4-010-01",
- area:'23.11',
- reportingProcess:'閽㈠寲',
- qualityInspector:"寮犱笁",
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'2',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- reportingWorkTime:'2021-01-01',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- productName:"xxxxxxxxx",
- reportingWorkNo:"BG2301010001",
- floorNumber:"D4-010-01",
- area:'23.11',
- reportingProcess:'閽㈠寲',
- qualityInspector:"寮犱笁",
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'2',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- reportingWorkTime:'2021-01-01',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- productName:"xxxxxxxxx",
- reportingWorkNo:"BG2301010001",
- floorNumber:"D4-010-01",
- area:'23.11',
- reportingProcess:'閽㈠寲',
- qualityInspector:"寮犱笁",
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'2',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- reportingWorkTime:'2021-01-01',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- productName:"xxxxxxxxx",
- reportingWorkNo:"BG2301010001",
- floorNumber:"D4-010-01",
- area:'23.11',
- reportingProcess:'閽㈠寲',
- qualityInspector:"寮犱笁",
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'2',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['processCardNumber','numberBroken']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="head" >
- <el-row :gutter="0">
- <el-date-picker
- v-model="value"
- type="daterange"
- start-placeholder="鎶ュ伐寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
- </div>
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#head{
- width:40%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/machine/AddMachine.vue b/UI-Project/src/views/pp/machine/AddMachine.vue
deleted file mode 100644
index a1aa829..0000000
--- a/UI-Project/src/views/pp/machine/AddMachine.vue
+++ /dev/null
@@ -1,214 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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 },
-
- {field: 'standardName', title: '鏍囧噯鍚嶇О',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'deviceName', title: '璁惧鍚嶇О',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'buyingTime', title: '璐拱鏃堕棿',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'installationTime',title: '瀹夎鏃堕棿',editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'serviceInterval', title: '淇濆吇鍛ㄦ湡',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'process', title: '鎵�鍦ㄥ伐鑹�', editRender: { name: 'input', attrs: { placeholder: '' } }},
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- {
- standardName: '',
- deviceName: '',
- buyingTime: '',
- installationTime: '',
- serviceInterval:'',
- process:'',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['maintenanceFrequency','MaintenancesFrequency']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const size = ref<'default' | 'large' | 'small'>('default')
-
-const value1 = ref('')
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/machine/AddMaintenanceAndRepair.vue b/UI-Project/src/views/pp/machine/AddMaintenanceAndRepair.vue
deleted file mode 100644
index 9855cd1..0000000
--- a/UI-Project/src/views/pp/machine/AddMaintenanceAndRepair.vue
+++ /dev/null
@@ -1,243 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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 },
- {field: 'deviceName', width: 100,title: '璁惧鍚嶇О', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'types',width: 80, title: '绫诲瀷',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'faultDate', width: 100,title: '鏁呴殰鏃ユ湡',editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'failureCause', width: 100,title: '鏁呴殰鍘熷洜', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'maintenanceDate',width: 100, title: '淇濆吇鏃ユ湡', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'maintenanceInstructions',width: 110, title: '淇濆吇璇存槑', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'RepairMaintenanceStartTime', width: 160,title: '缁翠慨/淇濆吇寮�濮嬫椂闂�', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'RepairMaintenanceEndTime',width: 160, title: '缁翠慨/淇濆吇缁撴潫鏃堕棿', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'process',width: 100, title: '鎵�鍦ㄥ伐鑹�', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'RepairMaintenancePersonnel',width: 150, title: '缁翠慨/淇濆吇浜哄憳', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'cost', title: '璐圭敤', editRender: { name: 'input', attrs: { placeholder: '' } }},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- deviceName: '',
- types: '',
- faultDate: '',
- failureCause: '',
- maintenanceDate:'',
- maintenanceInstructions:'',
- RepairMaintenanceStartTime:'',
- RepairMaintenanceEndTime:'',
- process:'',
- RepairMaintenancePersonnel:'',
- cost:'',
-
- },
- {
- deviceName: '',
- types: '',
- faultDate: '',
- failureCause: '',
- maintenanceDate:'',
- maintenanceInstructions:'',
- RepairMaintenanceStartTime:'',
- RepairMaintenanceEndTime:'',
- process:'',
- RepairMaintenancePersonnel:'',
- cost:'',
-
- },
- {
- deviceName: '',
- types: '',
- faultDate: '',
- failureCause: '',
- maintenanceDate:'',
- maintenanceInstructions:'',
- RepairMaintenanceStartTime:'',
- RepairMaintenanceEndTime:'',
- process:'',
- RepairMaintenancePersonnel:'',
- cost:'',
-
- },
- {
- deviceName: '',
- types: '',
- faultDate: '',
- failureCause: '',
- maintenanceDate:'',
- maintenanceInstructions:'',
- RepairMaintenanceStartTime:'',
- RepairMaintenanceEndTime:'',
- process:'',
- RepairMaintenancePersonnel:'',
- cost:'',
-
- },
- {
- deviceName: '',
- types: '',
- faultDate: '',
- failureCause: '',
- maintenanceDate:'',
- maintenanceInstructions:'',
- RepairMaintenanceStartTime:'',
- RepairMaintenanceEndTime:'',
- process:'',
- RepairMaintenancePersonnel:'',
- cost:'',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['maintenanceFrequency','MaintenancesFrequency']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const size = ref<'default' | 'large' | 'small'>('default')
-
-const value1 = ref('')
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/machine/Machine.vue b/UI-Project/src/views/pp/machine/Machine.vue
deleted file mode 100644
index 069dbcd..0000000
--- a/UI-Project/src/views/pp/machine/Machine.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/machine/SelectMachine' }">璁惧绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/machine/AddMachine' }">璁惧鏂板</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/machine/MaintenanceAndRepair' }">淇濆吇涓庣淮淇�</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/machine/AddMaintenanceAndRepair' }">淇濆吇涓庣淮淇柊澧�</el-breadcrumb-item>
- <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/machine/MaintenanceAndRepair.vue b/UI-Project/src/views/pp/machine/MaintenanceAndRepair.vue
deleted file mode 100644
index 76916e1..0000000
--- a/UI-Project/src/views/pp/machine/MaintenanceAndRepair.vue
+++ /dev/null
@@ -1,316 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
-
- {field: '璁惧鍚嶇О', width: 130,title: '璁惧鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '绫诲瀷',width: 120, title: '绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鏁呴殰鏃ユ湡', width: 100,title: '鏁呴殰鏃ユ湡', sortable: true,showOverflow:"ellipsis"},
- {field: '鏁呴殰鍘熷洜', width: 100,title: '鏁呴殰鍘熷洜', sortable: true},
- {field: '淇濆吇鏃ユ湡',width: 100, title: '淇濆吇鏃ユ湡', sortable: true},
- {field: '淇濆吇璇存槑',width: 120, title: '淇濆吇璇存槑', sortable: true,showOverflow:"ellipsis"},
- {field: '缁翠慨淇濆吇寮�濮嬫椂闂�', width: 160,title: '缁翠慨/淇濆吇寮�濮嬫椂闂�', sortable: true},
- {field: '缁翠慨淇濆吇缁撴潫鏃堕棿',width: 160, title: '缁翠慨/淇濆吇缁撴潫鏃堕棿', sortable: true},
- {field: '鎵�鍦ㄥ伐鑹�',width: 120, title: '鎵�鍦ㄥ伐鑹�', sortable: true},
- {field: '缁翠慨淇濆吇浜哄憳',width: 150, title: '缁翠慨/淇濆吇浜哄憳', sortable: true},
- {field: '璐圭敤',width: 120, title: '璐圭敤', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 璁惧鍚嶇О: '閽㈠寲鐐�(22E)',
- 绫诲瀷: '缁翠慨',
- 鏁呴殰鏃ユ湡: '2022-03-16',
- 鏁呴殰鍘熷洜: '鍧忎簡',
- 淇濆吇鏃ユ湡:'',
- 淇濆吇璇存槑:'',
- 缁翠慨淇濆吇寮�濮嬫椂闂�:'2022-03-16',
- 缁翠慨淇濆吇缁撴潫鏃堕棿:'2022-03-16',
- 鎵�鍦ㄥ伐鑹�:'閽㈠寲',
- 缁翠慨淇濆吇浜哄憳:'SSS',
- 璐圭敤:'112',
- },
- {
- 璁惧鍚嶇О: '閽㈠寲鐐�(22E)',
- 绫诲瀷: '缁翠慨',
- 鏁呴殰鏃ユ湡: '2022-03-16',
- 鏁呴殰鍘熷洜: '鍧忎簡',
- 淇濆吇鏃ユ湡:'',
- 淇濆吇璇存槑:'',
- 缁翠慨淇濆吇寮�濮嬫椂闂�:'2022-03-16',
- 缁翠慨淇濆吇缁撴潫鏃堕棿:'2022-03-16',
- 鎵�鍦ㄥ伐鑹�:'閽㈠寲',
- 缁翠慨淇濆吇浜哄憳:'SSS',
- 璐圭敤:'112',
- },
- {
- 璁惧鍚嶇О: '閽㈠寲鐐�(22E)',
- 绫诲瀷: '缁翠慨',
- 鏁呴殰鏃ユ湡: '2022-03-16',
- 鏁呴殰鍘熷洜: '鍧忎簡',
- 淇濆吇鏃ユ湡:'',
- 淇濆吇璇存槑:'',
- 缁翠慨淇濆吇寮�濮嬫椂闂�:'2022-03-16',
- 缁翠慨淇濆吇缁撴潫鏃堕棿:'2022-03-16',
- 鎵�鍦ㄥ伐鑹�:'閽㈠寲',
- 缁翠慨淇濆吇浜哄憳:'SSS',
- 璐圭敤:'112',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['璐圭敤']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const size = ref<'default' | 'large' | 'small'>('default')
-
-const value1 = ref('')
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'delete')" 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-dialog v-model="dialogFormVisible" title="淇濆吇涓庣淮淇紪杈�">
-
- <el-form :model="form">
- <el-row>
- <el-col :span="12">
- <el-form-item label="璁惧鍚嶇О" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="绫诲瀷" :label-width="formLabelWidth">
- <el-select v-model="form.region" placeholder="缁翠慨" style="width: 220px">
- <el-option label="淇濆吇" value="shanghai" />
- <el-option label="缁翠慨" value="mobian" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="鏁呴殰鏃ユ湡" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-01-01"
- :size="size"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鏁呴殰鍘熷洜" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="淇濆吇鏃ユ湡" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-02-01"
- :size="size"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="淇濆吇璇存槑" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="淇濆吇/缁翠慨寮�濮嬫椂闂�" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-02-01"
- :size="size"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="淇濆吇/缁翠慨瀹屾垚鏃堕棿" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-02-01"
- :size="size"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="鎵�鍦ㄥ伐鑹�" :label-width="formLabelWidth">
- <el-select v-model="form.region" placeholder="閽㈠寲" style="width: 220px">
- <el-option label="鍒囧壊" value="shanghai" />
- <el-option label="纾ㄨ竟" value="mobian" />
- <el-option label="閽㈠寲" value="ganghua" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12"><el-form-item label="淇濆吇/缁翠慨浜哄憳" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item></el-col>
- </el-row>
- <el-form-item label="璐圭敤" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
- <el-button type="primary" @click="dialogFormVisible = false">
- 纭
- </el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<style scoped>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/machine/SelectMachine.vue b/UI-Project/src/views/pp/machine/SelectMachine.vue
deleted file mode 100644
index 8583b81..0000000
--- a/UI-Project/src/views/pp/machine/SelectMachine.vue
+++ /dev/null
@@ -1,274 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '璁惧缂栧彿', width: 120, title: '璁惧缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '鏍囧噯鍚嶇О',width: 120, title: '鏍囧噯鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '璁惧鍚嶇О', width: 130,title: '璁惧鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '璐拱鏃堕棿',width: 120, title: '璐拱鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '瀹夎鏃堕棿', width: 100,title: '瀹夎鏃堕棿', sortable: true,showOverflow:"ellipsis"},
- {field: '浣跨敤鍛ㄦ湡', width: 100,title: '浣跨敤鍛ㄦ湡(骞�)', sortable: true},
- {field: '浣跨敤鐘舵��',width: 100, title: '浣跨敤鐘舵��', sortable: true},
- {field: '缁翠慨娆℃暟',width: 120, title: '缁翠慨娆℃暟', sortable: true,showOverflow:"ellipsis"},
- {field: '淇濆吇娆℃暟', width: 120,title: '淇濆吇娆℃暟', sortable: true},
- {field: '鏈�鍚庣淮淇椂闂�',width: 120, title: '鏈�鍚庣淮淇椂闂�', sortable: true},
- {field: '鏈�鍚庝繚鍏绘椂闂�',width: 120, title: '鏈�鍚庝繚鍏绘椂闂�', sortable: true},
- {field: '缁翠慨璐圭敤',width: 120, title: '缁翠慨璐圭敤', sortable: true},
- {field: '淇濆吇璐圭敤',width: 120, title: '淇濆吇璐圭敤', sortable: true},
- {field: '鎵�鍦ㄥ伐鑹�',width: 120, title: '鎵�鍦ㄥ伐鑹�', sortable: true},
- {field: '浣滃簾鐘舵��',width: 120, title: '浣滃簾鐘舵��', sortable: true},
- ],
- //琛ㄥご鎸夐挳
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- "璁惧缂栧彿": 'SB2209211',
- '鏍囧噯鍚嶇О': '閽㈠寲鐐�(22E)',
- '璁惧鍚嶇О': '閽㈠寲鐐�(22E)',
- '璐拱鏃堕棿': '2022-03-16',
- '瀹夎鏃堕棿':'2022-03-16',
- '浣跨敤鍛ㄦ湡':'313',
- '浣跨敤鐘舵��':'浣跨敤涓�',
- '缁翠慨娆℃暟':'0',
- '淇濆吇娆℃暟':'0',
- '鏈�鍚庣淮淇椂闂�':'',
- '鏈�鍚庝繚鍏绘椂闂�':'',
- '缁翠慨璐圭敤':'',
- '淇濆吇璐圭敤':'',
- '鎵�鍦ㄥ伐鑹�':'閽㈠寲',
- '浣滃簾鐘舵��':'姝e父',
- },
- {
- "璁惧缂栧彿": 'SB2209211',
- '鏍囧噯鍚嶇О': '閽㈠寲鐐�(22E)',
- '璁惧鍚嶇О': '閽㈠寲鐐�(22E)',
- '璐拱鏃堕棿': '2022-03-16',
- '瀹夎鏃堕棿':'2022-03-16',
- '浣跨敤鍛ㄦ湡':'313',
- '浣跨敤鐘舵��':'浣跨敤涓�',
- '缁翠慨娆℃暟':'0',
- '淇濆吇娆℃暟':'0',
- '鏈�鍚庣淮淇椂闂�':'',
- '鏈�鍚庝繚鍏绘椂闂�':'',
- '缁翠慨璐圭敤':'',
- '淇濆吇璐圭敤':'',
- '鎵�鍦ㄥ伐鑹�':'閽㈠寲',
- '浣滃簾鐘舵��':'姝e父',
- },
- {
- "璁惧缂栧彿": 'SB2209211',
- '鏍囧噯鍚嶇О': '閽㈠寲鐐�(22E)',
- '璁惧鍚嶇О': '閽㈠寲鐐�(22E)',
- '璐拱鏃堕棿': '2022-03-16',
- '瀹夎鏃堕棿':'2022-03-16',
- '浣跨敤鍛ㄦ湡':'313',
- '浣跨敤鐘舵��':'浣跨敤涓�',
- '缁翠慨娆℃暟':'0',
- '淇濆吇娆℃暟':'0',
- '鏈�鍚庣淮淇椂闂�':'',
- '鏈�鍚庝繚鍏绘椂闂�':'',
- '缁翠慨璐圭敤':'',
- '淇濆吇璐圭敤':'',
- '鎵�鍦ㄥ伐鑹�':'閽㈠寲',
- '浣滃簾鐘舵��':'姝e父',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['缁翠慨娆℃暟','淇濆吇娆℃暟','缁翠慨璐圭敤','淇濆吇璐圭敤']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const size = ref<'default' | 'large' | 'small'>('default')
-
-const value1 = ref('')
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'delete')" 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-dialog v-model="dialogFormVisible" title="璁惧缂栬緫">
- <el-form :model="form">
- <el-form-item label="鏍囧噯鍚嶇О" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- <el-form-item label="璁惧鍚嶇О" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- <el-form-item label="璐拱鏃堕棿" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-01-01"
- :size="size"
- />
- </el-form-item>
- <el-form-item label="瀹夎鏃堕棿" :label-width="formLabelWidth">
- <el-date-picker
- v-model="value1"
- type="date"
- placeholder="2023-02-01"
- :size="size"
- />
- </el-form-item>
- <el-form-item label="淇濆吇鍛ㄦ湡" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off" style="width: 220px"/>
- </el-form-item>
- <el-form-item label="鎵�鍦ㄥ伐鑹�" :label-width="formLabelWidth">
- <el-select v-model="form.region" placeholder="閽㈠寲" style="width: 220px">
- <el-option label="鍒囧壊" value="shanghai" />
- <el-option label="纾ㄨ竟" value="mobian" />
- <el-option label="閽㈠寲" value="ganghua" />
- </el-select>
- </el-form-item>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
- <el-button type="primary" @click="dialogFormVisible = false">
- 纭
- </el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<style scoped>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/AddProcessCard.vue b/UI-Project/src/views/pp/processCard/AddProcessCard.vue
deleted file mode 100644
index 94408ab..0000000
--- a/UI-Project/src/views/pp/processCard/AddProcessCard.vue
+++ /dev/null
@@ -1,172 +0,0 @@
-<script setup>
-import {ArrowLeftBold} from "@element-plus/icons-vue";
-import {useRouter} from "vue-router";
-const router = useRouter()
-let flag = $ref(true)
-function intoCreateProduct(){
- if(flag){
- router.push('/main/processCard/SplittingDetails')
- }else {
- router.push('/main/processCard/SplittingDetails')
- }
- flag=!flag
-}
-const tableData = [
- {
- processCard: 'NG231201A01',
- orderSequence: '1',
- landingSequence: '1',
- floorNumber: '14-BSGB05',
- shape: '鏅舰',
- longSide: '5000',
- shortSide: '4400',
- total: '24',
- totalThickness: '26',
- },
- {
- processCard: 'NG231201A01',
- orderSequence: '2',
- landingSequence: '2',
- floorNumber: '15-BSGB05',
- shape: '鏅舰',
- longSide: '5000',
- shortSide: '4400',
- total: '24',
- totalThickness: '26',
- },
- {
- processCard: 'NG231201A02',
- orderSequence: '3',
- landingSequence: '3',
- floorNumber: '16-BSGB05',
- shape: '鏅舰',
- longSide: '5000',
- shortSide: '4400',
- total: '24',
- totalThickness: '26',
- },
-]
-const tableData2 = [
- {
- orderSequence: '4',
- floorNumber: '17-BSGB08',
- shape: '鏅舰',
- longSide: '4600',
- shortSide: '3880',
- undividedQuantity: '15',
- undividedArea: '99.84',
- totalThickness:'28',
- glassThickness:'24',
- undividedWeight:'111'
- },
- {
- orderSequence: '5',
- floorNumber: '18-BSGB08',
- shape: '鏅舰',
- longSide: '4600',
- shortSide: '3880',
- undividedQuantity: '15',
- undividedArea: '99.84',
- totalThickness:'28',
- glassThickness:'24',
- undividedWeight:'111'
- },
- {
- orderSequence: '6',
- floorNumber: '19-BSGB08',
- shape: '鏅舰',
- longSide: '4600',
- shortSide: '3880',
- undividedQuantity: '15',
- undividedArea: '99.84',
- totalThickness:'28',
- glassThickness:'24',
- undividedWeight:'111'
- },
-]
-</script>
-
-<template>
- <div>
- <div class="header">
-
- <el-button
- style="float: left"
- @click="intoCreateProduct"
- id="searchButton1"
- type="primary"
- :icon="ArrowLeftBold"
- round >
- {{flag?'杩斿洖':'杩斿洖'}}
- </el-button>
- <el-button type="primary">淇濆瓨鍒嗘灦</el-button>
- <el-button type="primary">鍒嗘灦姹囨��</el-button>
- <el-button type="primary">宸︿晶鍏ㄩ��</el-button>
- <el-button type="primary">鍙充晶鍏ㄩ��</el-button>
- </div>
- <div class="common-layout">
- <el-container height="100%">
- <el-aside width="44%" style="">
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column sortable prop="processCard" label="娴佺▼鍗″彿" width="120" />
- <el-table-column prop="orderSequence" label="璁㈠簭" width="60" />
- <el-table-column prop="landingSequence" label="钀芥灦椤哄簭" width="85" />
- <el-table-column prop="floorNumber" label="妤煎眰缂栧彿" :show-overflow-tooltip='true' width="120" />
- <el-table-column prop="shape" label="褰㈢姸" width="65" />
- <el-table-column prop="longSide" label="闀胯竟" width="65" />
- <el-table-column prop="shortSide" label="鐭竟" width="65" />
- <el-table-column prop="total" label="鎬绘暟閲�" width="75" />
- <el-table-column prop="totalThickness" label="鎬诲帤搴�" width="75" />
- </el-table><!-- <h1>{{msg}}</h1> -->
- </el-aside>
-
- <el-main width="12%" style="">
- <span>鏈垎鏁伴噺:45</span><br>
- <span>鏈垎閲嶉噺:333</span><br>
- <span>閫変腑鏁伴噺:</span><br>
- <el-button type="primary"> 鈫� </el-button>
- <br>
- <br>
- <el-button type="primary"> 鈫� </el-button>
- <br>
- <br>
- <el-button type="primary">寤虹珛娴佺▼鍗�</el-button>
- </el-main>
-
- <el-aside width="44%" style="">
- <el-table :data="tableData2" border style="width: 100%" height="100%">
- <el-table-column prop="orderSequence" label="璁㈠簭" width="60" />
- <el-table-column prop="floorNumber" label="妤煎眰缂栧彿" :show-overflow-tooltip='true' width="100" />
- <el-table-column prop="shape" label="褰㈢姸" width="65" />
- <el-table-column prop="longSide" label="闀胯竟" width="60" />
- <el-table-column prop="shortSide" label="鐭竟" width="60" />
- <el-table-column prop="undividedQuantity" label="寰呭垎鏁伴噺" width="85" />
- <el-table-column prop="undividedArea" label="寰呭垎闈㈢Н" width="85" />
- <el-table-column prop="totalThickness" label="鎬诲帤搴�" width="75" />
- <el-table-column prop="glassThickness" label="鐜荤拑鍘氬害" width="85" />
- <el-table-column prop="undividedWeight" label="寰呭垎閲嶉噺" width="85" />
-
- </el-table><!-- <h1>{{msg}}</h1> -->
- </el-aside>
- </el-container>
- </div>
- </div>
-</template>
-
-<style scoped>
-.common-layout{
- height: 100%;
-}
-
-.el-aside{
- height: 100%;
-}
-
-.el-main{
- height: 100%;
- text-align: center;
-}
-
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/PrintFlowCard.vue b/UI-Project/src/views/pp/processCard/PrintFlowCard.vue
deleted file mode 100644
index 7f5d48c..0000000
--- a/UI-Project/src/views/pp/processCard/PrintFlowCard.vue
+++ /dev/null
@@ -1,256 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/PrintFlowCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '閿�鍞崟鍙�',width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '鐢熶骇璁㈠崟鍙�',width: 140, title: '鐢熶骇璁㈠崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '娴佺▼鍗″彿',width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '瀹㈡埛鍚嶇О',width: 120, title: '瀹㈡埛鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '椤圭洰鍚嶇О',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鐗囨爣璁�',width: 90, title: '鐗囨爣璁�', sortable: true,showOverflow:"ellipsis"},
- {field: '鏍囪',width: 80, title: '鏍囪', sortable: true},
- {field: '鐗囨暟',width: 80, title: '鐗囨暟', sortable: true},
- {field: '闈㈢Н',width: 80, title: '闈㈢Н', sortable: true,showOverflow:"ellipsis"},
- {field: '浜у搧鍚嶇О',width: 120, title: '浜у搧鍚嶇О', sortable: true},
- {field: '鍗曠墖鍚嶇О',width: 120, title: '鍗曠墖鍚嶇О', sortable: true},
- {field: '妤煎眰缂栧彿',width: 120, title: '妤煎眰缂栧彿', sortable: true},
- {field: '鍒嗘灦鍛�', width: 120,title: '鍒嗘灦鍛�', sortable: true},
- {field: '鍒嗘灦鏃堕棿',width: 120, title: '鍒嗘灦鏃堕棿', sortable: true},
- {field: '澶囨敞',width: 120, title: '澶囨敞', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {
- name:'瀹ゅ唴闈�',
- dropdowns: [
- { code: 'other1', name: '瀹ゅ唴闈�', type: 'text', },
- { code: 'other2', name: '瀹ゅ闈�', type: 'text', },
- ]
- },
- {
- name:'鎴愬搧鏍囩',
- dropdowns: [
- { code: 'other1', name: '鎴愬搧鏍囩', type: 'text', },
- { code: 'other2', name: '鍗曠墖鏍囩', type: 'text',},
- ]
- },
- {code: 'print_lck', name: '鎵撳嵃娴佺▼鍗�',status:'primary' },
- {code: 'print_bq', name: '鎵撳嵃鏍囩',status:'primary' }
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�:'NG231201A',
- 娴佺▼鍗″彿: 'NG231201A01',
- 瀹㈡埛鍚嶇О:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- 椤圭洰鍚嶇О:'閾堕殕骞垮満',
- 鐗囨爣璁�:'(澶�)',
- 鏍囪:'1',
- 鐗囨暟:'16',
- 闈㈢Н:'24.14',
- 浜у搧鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鍗曠墖鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- 妤煎眰缂栧彿: '16-BSGB05',
- 鍒嗘灦鍛�: '寮犱笁',
- 鍒嗘灦鏃堕棿: '2023-01-11',
- 澶囨敞: '',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�:'NG231201A',
- 娴佺▼鍗″彿: 'NG231201A01',
- 瀹㈡埛鍚嶇О:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- 椤圭洰鍚嶇О:'閾堕殕骞垮満',
- 鐗囨爣璁�:'(澶�)',
- 鏍囪:'1',
- 鐗囨暟:'16',
- 闈㈢Н:'24.14',
- 浜у搧鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鍗曠墖鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- 妤煎眰缂栧彿: '16-BSGB05',
- 鍒嗘灦鍛�: '寮犱笁',
- 鍒嗘灦鏃堕棿: '2023-01-11',
- 澶囨敞: '',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�:'NG231201A',
- 娴佺▼鍗″彿: 'NG231201A01',
- 瀹㈡埛鍚嶇О:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- 椤圭洰鍚嶇О:'閾堕殕骞垮満',
- 鐗囨爣璁�:'(澶�)',
- 鏍囪:'1',
- 鐗囨暟:'16',
- 闈㈢Н:'24.14',
- 浜у搧鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鍗曠墖鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- 妤煎眰缂栧彿: '16-BSGB05',
- 鍒嗘灦鍛�: '寮犱笁',
- 鍒嗘灦鏃堕棿: '2023-01-11',
- 澶囨敞: '',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�:'NG231201A',
- 娴佺▼鍗″彿: 'NG231201A01',
- 瀹㈡埛鍚嶇О:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃',
- 椤圭洰鍚嶇О:'閾堕殕骞垮満',
- 鐗囨爣璁�:'(澶�)',
- 鏍囪:'1',
- 鐗囨暟:'16',
- 闈㈢Н:'24.14',
- 浜у搧鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 鍗曠墖鍚嶇О: '10mm瓒呯櫧UD60骞抽挗(澶�)',
- 妤煎眰缂栧彿: '16-BSGB05',
- 鍒嗘灦鍛�: '寮犱笁',
- 鍒嗘灦鏃堕棿: '2023-01-11',
- 澶囨敞: '',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鐗囨暟','闈㈢Н']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鎺掔増</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-
-.stnw{
- height: 33px;
- width: 80px;
- background-color: #409eff;
- color: white;
- border: none;
- border-radius: 5px;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/PrintProcess.vue b/UI-Project/src/views/pp/processCard/PrintProcess.vue
deleted file mode 100644
index a52f279..0000000
--- a/UI-Project/src/views/pp/processCard/PrintProcess.vue
+++ /dev/null
@@ -1,954 +0,0 @@
-<script setup>
-
-</script>
-
-<template>
- <div class="shu" style="height:0px;"></div>
- <div id="big" class="big">
- <div id="content">
- <table id="tab" border="1">
- <thead>
- <tr>
- <td colspan="22">
- <div class="bj">1</div>
- <h1>娲涢槼鍖楁柟鐜荤拑鎶�鏈偂浠芥湁闄愬叕鍙�</h1>
- <h1>鐢熶骇娴佺▼鍗�</h1>
- <div id="top">
- <span>鍖呰鏂瑰紡锛氶搧鏋�</span><span
- style="float: right;position: relative;right: 5px;">娴佺▼鍗″彿锛�<label class="liuchengka"
- for="">NG23120401A01</label>/1鍏�2鏋�</span></div>
- </td>
- </tr>
- <tr style="height:25px;">
- <td style="min-width:70px;">瀹㈡埛鍚嶇О锛�</td>
- <td style="min-width:200px;">閽㈠寲璁惧浜嬩笟閮�</td>
- <td style="min-width:200px;" colspan="2">椤圭洰鍚嶇О锛氶挗鍖栬澶囦簨涓氶儴(23-12-1-01)</td>
- <td style="min-width:75px;">宸ヨ壓娴佺▼锛�</td>
- <td style="min-width:550px;" colspan="17">鍒囧壊->纾ㄨ竟->鎵撳瓟->閽㈠寲->鍖呰</td>
- </tr>
- <tr style="height:25px;">
- <td>纾� 杈癸細</td>
- <td>绮炬姏</td>
- <td colspan="2" style="word-wrap: break-word;">鍗曠墖鍚嶇О:<span class="dpmc">5mm娆ф床鐏板钩閽�</span></td>
- <td>鎴愬搧鍚嶇О锛�</td>
- <td class="chengpinmingcheng" colspan="17" style="word-wrap: break-word;">5mm娆ф床鐏板钩閽�</td>
- </tr>
- <tr>
- <td colspan="22">
- <table border="1" style="border-collapse: collapse;" frame="below">
- <tbody>
- <tr>
- <td rowspan="2" style="min-width:70px;">搴忓彿</td>
- <td rowspan="2" style="min-width:200px;">缂栧彿</td>
- <td rowspan="2" style="min-width:100px;">瀹斤紙寮ч暱锛�*楂�</td>
- <td rowspan="2" style="min-width:49px;">鏁伴噺</td>
- <td rowspan="2" style="min-width:49px;">闈㈢Н</td>
- <td rowspan="2" style="min-width:49px;">鍛ㄩ暱</td>
- <td rowspan="2" style="min-width:73px;">鍗婂緞</td>
- <td rowspan="2" style="min-width:73px;">澶囨敞</td>
- <td style="min-width:59px;" colspan="2">鍒囧壊</td>
- <td style="min-width:59px;" colspan="2">纾ㄨ竟</td>
- <td style="min-width:59px;" colspan="2">鎵撳瓟</td>
- <td style="min-width:59px;" colspan="2">閽㈠寲</td>
- <td style="min-width:59px;" colspan="2">鍖呰</td>
- <td style="min-width:59px;" colspan="2"></td>
- <td style="min-width:59px;" colspan="2"></td>
- <td style="min-width:59px;" colspan="2"></td>
- </tr>
- <tr>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td colspan="22">
- <table class="tab" border="1" frame="below">
- <tbody>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">2</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1瑙嗙獥鐜荤拑ACB50.10.02-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1698</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.15</td>
- <td style="min-width:49px;height:35.5px;">8.15</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">1</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1瑙嗙獥鐜荤拑ACB50.10.01-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1428</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.45</td>
- <td style="min-width:49px;height:35.5px;">10.6</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">3</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2瑙嗙獥鐜荤拑ACB50.10.01-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1428</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.45</td>
- <td style="min-width:49px;height:35.5px;">10.6</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">5</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3瑙嗙獥鐜荤拑ACB50.10.01-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1428</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.45</td>
- <td style="min-width:49px;height:35.5px;">10.6</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">4</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2瑙嗙獥鐜荤拑ACB50.10.03-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1338</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.91</td>
- <td style="min-width:49px;height:35.5px;">6.71</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">6</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3瑙嗙獥鐜荤拑ACB50.10.03-003</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1338</span>*339</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.91</td>
- <td style="min-width:49px;height:35.5px;">6.71</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">瑙佸浘A,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- <tfoot>
- <tr style="height: 20px;line-height: 20px;">
- <td colspan="22">鏁伴噺锛�<label class="zsl" for="">15鐗�</label> 閲嶉噺锛�<label class="zzl"
- for="">91.50kg</label> 闈㈢Н锛�<label class="zmj" for="">7.32m虏</label></td>
- </tr>
- <tr>
- <td width="50%" style="word-wrap: break-word;;" colspan="5" rowspan="7"><textarea
- style="width: 100%; height: 90%; overflow: hidden; border: 0px;font-size:12px;">1)鎸変紒鏍囥��
-2)鍚勫伐搴忥細鎴愬搧鐜荤拑璐寸紪鍙峰強灏哄鏍囩銆�
-3)纾ㄨ竟锛氭鍗曞锛岄珮灏哄鍏樊鍧囦负锛�0~-1锛夈��
-4)閽㈠寲锛氬寳鐜诲晢鏍囷紝浣嶇疆濡傚浘銆�
-
-</textarea></td>
- </tr>
- <tr>
- <td width="70px" height="23px;">瀹屽伐绛惧悕</td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- </tr>
- <tr>
- <td>鎺ユ敹绛惧悕</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>鐢熶骇鏃ユ湡</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>璐ㄦ绛惧悕</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>鏋跺瓙缂栧彿</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr height="65px">
- <td colspan="22"><span id="qrcode1" class="qr" title="NG23120401A01/1"><canvas width="60" height="60"
- style="display: none;"></canvas><img alt="Scan me!"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAulJREFUaEPtmuFywyAMg5P3f+jsmjU7cG1/AtLrErqfLSwIW5bsdF2WZVs6/rbtd9u6rtXu6PNj0fF9ttce53gG/W8FxuO0cwIubz67KXvbx9roc/X7MuJq9rSeeX/GEeHWzXb9ZQFbTlrutQKj9V5kVQ4Tp73vXyL8Bfy8bntbrbfrrScaqfVCDZLLYXXztICJby0VX+G7Us2junNKhC8PmNwKRSGiROa0IomzZ4nqiHrmU3XYGozoEJ61/AhguiX1tiPfm1VpdQ8VSgXDaV6aZOvfAN5IDJVrc7omcVu1rNWu9jxjnR6w2ntSR6PIFVX8qBBGSUnObK/SNsK3B2zbwxYdLV2Pp7NllJVotl62zQAl6+RuKQIUjXiUlKY15Ou7AB8prWph5lO9qpm5o955GHE10+s/Dk8HmNKD5JpSu4fDZFeJsx4l5Cp9G8DREI/4pVrJKHPKCk8emZqLlrOEU8vbAlaNB/nc1qL3iPAZ/W35fyKZq/zAdIB7ORzpMfGpvO1RbipDBusGuzn8Bfx8i3iZCFMzTemn7i+rP8lRa0MimRv1dentAKsS0WrcM4dGdjTKmpEWNmwPe6cK6sW19NKKvqrVH2daquMiDlMj4B2YOKmanWoWTkO82wEm43FWsfIiTO1dL4ezbEPjcTvAdsRDsysyFtQ3e7ev0qaHsy/WcjrANKZVU5pckxd5VYdJd2mwWFXp6QCTLJG+Eq+yEQ9VYdXEUKaU36PxuB1gtXmwwMl6Eq+UEU9v9c6s6PALcfK5WTGjlH0rYFU/Rznr9cMRz4mbkT/PLnL4x6Vqu5hZy48CjjSPHFbrjMtrD6M6oeowucT9maTDKhB1XWUCzK/pLwGYtDS69cxTUzapLwW8Zw9HeDrAxPmokpY6TNJGHkCdjLyFw0rhoDSnIkUpLRmPXh0eSWnKDlXyIm8gcTgCEGnlZQET0F4eZfyi1KXUVw1LefbTvLSaftXDQYe/gIM0JA6X234ACjSUFgdqRbsAAAAASUVORK5CYII="
- style="display: block;"><span class="ma">NG23120401A01/1</span></span></td>
- </tr>
- </tfoot>
- </table>
- </div>
- </div>
- <div class="shu" style="height:0px;"></div>
- <div id="big" class="big">
- <div id="content">
- <table id="tab" border="1">
- <thead>
- <tr>
- <td colspan="22">
- <div class="bj">1</div>
- <h1>娲涢槼鍖楁柟鐜荤拑鎶�鏈偂浠芥湁闄愬叕鍙�</h1>
- <h1>鐢熶骇娴佺▼鍗�</h1>
- <div id="top">
- <span>鍖呰鏂瑰紡锛氶搧鏋�</span><span
- style="float: right;position: relative;right: 5px;">娴佺▼鍗″彿锛�<label class="liuchengka"
- for="">NG23120401B02</label>/1鍏�2鏋�</span></div>
- </td>
- </tr>
- <tr style="height:25px;">
- <td style="min-width:70px;">瀹㈡埛鍚嶇О锛�</td>
- <td style="min-width:200px;">閽㈠寲璁惧浜嬩笟閮�</td>
- <td style="min-width:200px;" colspan="2">椤圭洰鍚嶇О锛氶挗鍖栬澶囦簨涓氶儴(23-12-1-01)</td>
- <td style="min-width:75px;">宸ヨ壓娴佺▼锛�</td>
- <td style="min-width:550px;" colspan="17">鍒囧壊->纾ㄨ竟->閽㈠寲->鍖呰</td>
- </tr>
- <tr style="height:25px;">
- <td>纾� 杈癸細</td>
- <td>绮炬姏</td>
- <td colspan="2" style="word-wrap: break-word;">鍗曠墖鍚嶇О:<span class="dpmc">5mm娆ф床鐏板钩閽�</span></td>
- <td>鎴愬搧鍚嶇О锛�</td>
- <td class="chengpinmingcheng" colspan="17" style="word-wrap: break-word;">5mm娆ф床鐏板钩閽�</td>
- </tr>
- <tr>
- <td colspan="22">
- <table border="1" style="border-collapse: collapse;" frame="below">
- <tbody>
- <tr>
- <td rowspan="2" style="min-width:70px;">搴忓彿</td>
- <td rowspan="2" style="min-width:200px;">缂栧彿</td>
- <td rowspan="2" style="min-width:100px;">瀹斤紙寮ч暱锛�*楂�</td>
- <td rowspan="2" style="min-width:49px;">鏁伴噺</td>
- <td rowspan="2" style="min-width:49px;">闈㈢Н</td>
- <td rowspan="2" style="min-width:49px;">鍛ㄩ暱</td>
- <td rowspan="2" style="min-width:73px;">鍗婂緞</td>
- <td rowspan="2" style="min-width:73px;">澶囨敞</td>
- <td style="min-width:59px;" colspan="2">鍒囧壊</td>
- <td style="min-width:59px;" colspan="2">纾ㄨ竟</td>
- <td style="min-width:59px;" colspan="2">閽㈠寲</td>
- <td style="min-width:59px;" colspan="2">鍖呰</td>
- <td style="min-width:59px;" colspan="2"></td>
- <td style="min-width:59px;" colspan="2"></td>
- <td style="min-width:59px;" colspan="2"></td>
- <td style="min-width:59px;" colspan="2"></td>
- </tr>
- <tr>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- <td>姝e搧</td>
- <td>娆″搧</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td colspan="22">
- <table class="tab" border="1" frame="below">
- <tbody>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">11</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1閽㈠寲5</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1852</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.53</td>
- <td style="min-width:49px;height:35.5px;">7.98</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">9</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1閽㈠寲3</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1835</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">6</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.57</td>
- <td style="min-width:49px;height:35.5px;">23.74</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">14</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2閽㈠寲3</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1835</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">4</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.05</td>
- <td style="min-width:49px;height:35.5px;">15.82</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">19</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3閽㈠寲3</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1835</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">6</td>
- <td style="min-width:49px;height:35.5px;" class="mj">1.57</td>
- <td style="min-width:49px;height:35.5px;">23.74</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">13</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2閽㈠寲2</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1732</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.5</td>
- <td style="min-width:49px;height:35.5px;">7.5</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">12</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2閽㈠寲1</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1692</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.48</td>
- <td style="min-width:49px;height:35.5px;">7.34</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">16</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2閽㈠寲5</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1492</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.43</td>
- <td style="min-width:49px;height:35.5px;">6.54</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">21</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3閽㈠寲5</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1492</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.43</td>
- <td style="min-width:49px;height:35.5px;">6.54</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">10</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1閽㈠寲4</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1435</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.62</td>
- <td style="min-width:49px;height:35.5px;">9.47</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">15</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-2閽㈠寲4</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1435</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.62</td>
- <td style="min-width:49px;height:35.5px;">9.47</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">20</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3閽㈠寲4</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1435</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">3</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.62</td>
- <td style="min-width:49px;height:35.5px;">9.47</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">8</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1閽㈠寲2</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1387</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.4</td>
- <td style="min-width:49px;height:35.5px;">6.12</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">18</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3閽㈠寲2</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1387</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.4</td>
- <td style="min-width:49px;height:35.5px;">6.12</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">7</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-1閽㈠寲1</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1347</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.39</td>
- <td style="min-width:49px;height:35.5px;">5.96</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- <tr class="tr">
- <td style="min-width:70px;height:35.5px;" class="tab_td1">17</td>
- <td style="min-width:200px;height:35.5px;" class="tab_td2">01-3閽㈠寲1</td>
- <td style="min-width:100px;height:35.5px;" class="kg"><span class="kuan">1347</span>*143</td>
- <td style="min-width:49px;height:35.5px;" class="sl">2</td>
- <td style="min-width:49px;height:35.5px;" class="mj">0.39</td>
- <td style="min-width:49px;height:35.5px;">5.96</td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3 banjin"></td>
- <td style="min-width:73px;height:35.5px;" class="tab_td3">涓嶆墦鍟嗘爣,</td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td style="min-width:29px;height:35.5px;"></td>
- <td class="xh" style="display:none;">1</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- <tfoot>
- <tr style="height: 20px;line-height: 20px;">
- <td colspan="22">鏁伴噺锛�<label class="zsl" for="">43鐗�</label> 閲嶉噺锛�<label class="zzl"
- for="">125.00kg</label> 闈㈢Н锛�<label class="zmj" for="">10.00m虏</label></td>
- </tr>
- <tr>
- <td width="50%" style="word-wrap: break-word;;" colspan="5" rowspan="7">
- <textarea style="width: 100%; height: 90%; overflow: hidden; border: 0px;font-size:12px;">1)鎸変紒鏍囥��
-2)鍚勫伐搴忥細鎴愬搧鐜荤拑璐寸紪鍙峰強灏哄鏍囩銆�
-3)纾ㄨ竟锛氭鍗曞锛岄珮灏哄鍏樊鍧囦负锛�0~-1锛夈��
-4)閽㈠寲锛氬寳鐜诲晢鏍囷紝浣嶇疆濡傚浘銆�
-</textarea>
- </td>
- </tr>
- <tr>
- <td width="70px" height="23px;">瀹屽伐绛惧悕</td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- <td width="56px;" height="23px;" colspan="2"></td>
- </tr>
- <tr>
- <td>鎺ユ敹绛惧悕</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>鐢熶骇鏃ユ湡</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>璐ㄦ绛惧悕</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr>
- <td>鏋跺瓙缂栧彿</td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- <td colspan="2"></td>
- </tr>
- <tr height="65px">
- <td colspan="22"><span id="qrcode2" class="qr" title="NG23120401B02/1"><canvas width="60" height="60"
- style="display: none;"></canvas><img alt="Scan me!"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAxBJREFUaEPtmuFyhDAIhPX9H9rO2dpJOOBboh2rXn9W47GBXZboPE3TMg38Lcv3snmeB1b7S7Zn2qvbbxzxm69onwk42l3a7Wp6vYqgzG6/YTNcjXmtyC3D1cXq/dGGtf8/FXDESdpdy7MNkMI/CzhaE8WgxuxmWF1MQd4WsLpBloetwlNJ0+ZWYnjjsLqYWkR0vQ0+okFUHZWqed3rxbAbsA3CilSUHU+0aAM+gMH8SBmmvkpZIIVtn2/pU6WJ2hrb3zm8D18GMGU24iYBzPow9VW6Xo2568PVxRQMXfdUlNZQySsY5kUlgvK05h7FYamKfmSIH8BqZqi8qDy9giHH5bk1T/Wz3v+W4dsDjg4AyBqq0xE5MUW8qlyP+nuq0o8FbHe3mtlM3OlZau+veOzwTIsEhEY2pYudAtj2YRItAlpZTyee1U5gVdx7flmlLw/YHuKNTjBUwjRleevVkqee3x06PB5wpMrkclQ1p0pQrmd9Npu3uz5MqnwbwJtKE8focC/qhVQxntOK1JZUO0pKd+LxAfxzMKZkps3O5TJMokMlP7JBZFJIN9TjpU7IohMPehipqcL5UwFXpZ4O2BXVjwzD6GYOiVa1jCx31fWeOqtnV6oH92ILvbTaGkbn5tUEiJ9LULWUrGU0Ld0WsPoFQJXjtGFthqtcVivD0wL5VcttAJPTOmpE88RMHUVVjiqx/ooW3ay2Ieqt3WxqRKsqgKpX6Lw0zcMRFyvtJxsQWp5RJqk/04atuvE4wHtfphEPFQWm0iQfT4LqjodULtH1ywHe+62lOmVVVJrsKlVENrnt/rj0soCrxl3hZuamVOX2VDzLIA0lstOyZXYbwDS4E39UEfOyT5uqCmv6Qny0D6smIasE1d1Vh4U/BVwVrYyT1epSK6L0qkUZ81oQ5KUvD1jNCnlvUnRlo+hkZJeXprcAipEfpQO9spWMx2gfHnVFlT5MAIlGKYdJ+klZifMtBahKIhqMtsaupAmovU4VQUFlnFVNjarSnagePTxQEN6JB/X00c31knj48PDfAX8Bd8KdHJuN7HEAAAAASUVORK5CYII="
- style="display: block;"><span class="ma">NG23120401B02/1</span></span></td>
- </tr>
- </tfoot>
- </table>
- </div>
- </div>
-</template>
-
-<style scoped>
-.JColResizer {
- table-layout: fixed;
-}
-
-.JColResizer>tbody>tr>td,
-.JColResizer>tbody>tr>th {
- overflow: hidden;
- padding-left: 0 !important;
- padding-right: 0 !important;
-}
-
-.JCLRgrips {
- height: 0px;
- position: relative;
-}
-
-.JCLRgrip {
- margin-left: -5px;
- position: absolute;
- z-index: 5;
-}
-
-.JCLRgrip .JColResizer {
- position: absolute;
- background-color: red;
- filter: alpha(opacity=1);
- opacity: 0;
- width: 10px;
- height: 100%;
- cursor: e-resize;
- top: 0px
-}
-
-.JCLRLastGrip {
- position: absolute;
- width: 1px;
-}
-
-.JCLRgripDrag {
- border-left: 1px dotted black;
-}
-
-.JCLRFlex {
- width: auto !important;
-}
-
-.JCLRgrip.JCLRdisabledGrip .JColResizer {
- cursor: default;
- display: none;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/ProcessCard.vue b/UI-Project/src/views/pp/processCard/ProcessCard.vue
deleted file mode 100644
index 08c3379..0000000
--- a/UI-Project/src/views/pp/processCard/ProcessCard.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/processCard/SelectProcessCard' }">娴佺▼鍗$鐞�</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/processCard/SelectAddProcess' }">鍒嗘灦</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/processCard/ProductionScheduling' }">鎺掍骇</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/ProcessCardDetails.vue b/UI-Project/src/views/pp/processCard/ProcessCardDetails.vue
deleted file mode 100644
index ba5cb98..0000000
--- a/UI-Project/src/views/pp/processCard/ProcessCardDetails.vue
+++ /dev/null
@@ -1,146 +0,0 @@
-<script lang="ts" setup>
-import {ref} from "vue";
-import { reactive } from 'vue'
-import {ArrowLeftBold} from "@element-plus/icons-vue";
-import {useRouter} from "vue-router";
-const router = useRouter()
-let flag = $ref(true)
-function intoCreateProduct(){
- if(flag){
- router.push('/main/processCard/SelectProcessCard')
- }else {
- router.push('/main/processCard/SelectProcessCard')
- }
- flag=!flag
-}
-// do not use same name with ref
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const tableData = [
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207A',
- processCard: 'NG231207A01',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207A',
- processCard: 'NG231207A02',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207A',
- processCard: 'NG231207A03',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207A',
- processCard: 'NG231207A04',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207B',
- processCard: 'NG231207B01',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231207',
- productionOrderNo: 'NG231207B',
- processCard: 'NG231207B02',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- productID:"9001010203000008",
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- Divider: 'xxx',
- splittingTime: '2023-01-01',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
-]
-</script>
-
-<template>
- <div>
- <el-button
- style="float: left"
- @click="intoCreateProduct"
- id="searchButton1"
- type="primary"
- :icon="ArrowLeftBold"
- round >
- {{flag?'杩斿洖':'杩斿洖'}}
- </el-button>
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column fixed label="鎿嶄綔" width="100" >
- <el-button link type="primary" size="small">鍏抽棴</el-button>
- <el-button link type="primary" size="small">淇敼</el-button>
- </el-table-column>
- <el-table-column sortable prop="salesOrderNo" label="閿�鍞崟鍙�" width="110" />
- <el-table-column prop="productionOrderNo" label="鐢熶骇璁㈠崟鍙�" width="125" />
- <el-table-column prop="processCard" label="娴佺▼鍗″彿" width="125" />
- <el-table-column prop="entryName" label="椤圭洰鍚嶇О" width="155" />
- <el-table-column prop="total" label="鎬绘暟閲�" width="80" />
- <el-table-column prop="dowTotal" label="绂佺敤鏁伴噺" width="90">
- <el-input></el-input>
- </el-table-column>
- <el-table-column prop="TotalArea" label="鎬婚潰绉�" width="80" />
- <el-table-column prop="productID" label="浜у搧缂栧彿" width="155" />
- <el-table-column prop="productName" label="浜у搧鍚嶇О" :show-overflow-tooltip='true' width="180" />
- <el-table-column prop="divider" label="鍒嗘灦鍛�" width="70" />
- <el-table-column prop="splittingTime" label="鍒嗘灦鏃堕棿" width="100" />
- <el-table-column prop="notes" label="澶囨敞" :show-overflow-tooltip='true' width="350" />
- </el-table><!-- <h1>{{msg}}</h1> -->
- </div>
-</template>
-
-<style scoped>
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/ProductionScheduling.vue b/UI-Project/src/views/pp/processCard/ProductionScheduling.vue
deleted file mode 100644
index e5ca6ad..0000000
--- a/UI-Project/src/views/pp/processCard/ProductionScheduling.vue
+++ /dev/null
@@ -1,284 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/PrintFlowCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '鎺掍骇缂栧彿', title: '鎺掍骇缂栧彿', sortable: true, width: 120 },
- {field: '閿�鍞崟鍙�', title: '閿�鍞崟鍙�',slots: { filter: 'num1_filter' }, sortable: true, width: 100 },
- {field: '瀹㈡埛鍚嶇О', title: '瀹㈡埛鍚嶇О', sortable: true, width: 110},
- {field: '椤圭洰鍚嶇О', title: '椤圭洰鍚嶇О', sortable: true , width: 100},
- {field: '搴忓彿', title: '搴忓彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90},
- {field: '浜у搧鍚嶇О', title: '浜у搧鍚嶇О', sortable: true, width: 140},
- {field: '瀹�', title: '瀹�', sortable: true , width: 70},
- {field: '楂�', title: '楂�', sortable: true , width: 70},
- {field: '鏁伴噺', title: '鏁伴噺', sortable: true , width: 70},
- {field: '闈㈢Н', title: '闈㈢Н', sortable: true , width: 90},
- {field: '鎺掍骇鏁伴噺' , width: 120,editRender: { name: 'input', attrs: { placeholder: '' } }, title: '鎺掍骇鏁伴噺', sortable: true},
- {field: '宸叉帓浜ф暟閲�', title: '宸叉帓浜ф暟閲�', sortable: true , width: 120},
- {field: '宸叉帓浜ч潰绉�', title: '宸叉帓浜ч潰绉�', sortable: true , width: 120},
- {field: '鏈帓浜ф暟閲�', title: '鏈帓浜ф暟閲�', sortable: true , width: 120},
- {field: '鏈帓浜ч潰绉�', title: '鏈帓浜ч潰绉�', sortable: true , width: 120},
- {field: '褰㈢姸', title: '褰㈢姸', sortable: true , width: 80},
- {field: '澶囨敞', title: '澶囨敞', sortable: true , width: 120},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '鍒犻櫎',status:'primary' },
- {code: 'print_lck', name: '鎺掍骇',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 鎺掍骇缂栧彿:"PC20230100001",
- 閿�鍞崟鍙�: 'NG231207',
- 瀹㈡埛鍚嶇О:'XXX鍏徃',
- 椤圭洰鍚嶇О:"XXXX鍏洯",
- 搴忓彿: '1',
- 浜у搧鍚嶇О: '6mm瓒呯櫧Low-E(澶�)+A12+6mm瓒呯櫧骞抽挗(鍐�)',
- 瀹�: '2000',
- 楂�: '1000',
- 鏁伴噺: '10',
- 闈㈢Н: '20000',
- 鎺掍骇鏁伴噺: '',
- 宸叉帓浜ф暟閲�: '10000',
- 宸叉帓浜ч潰绉�: '10000',
- 鏈帓浜ф暟閲�: '',
- 鏈帓浜ч潰绉�: '',
- 褰㈢姸: '鐭╁舰',
- 澶囨敞: '澶囨敞'
- },
- {
- 鎺掍骇缂栧彿:"PC20230100001",
- 閿�鍞崟鍙�: 'NG231207',
- 瀹㈡埛鍚嶇О:'XXX鍏徃',
- 椤圭洰鍚嶇О:"XXXX鍏洯",
- 搴忓彿: '1',
- 浜у搧鍚嶇О: '6mm瓒呯櫧Low-E(澶�)+A12+6mm瓒呯櫧骞抽挗(鍐�)',
- 瀹�: '2000',
- 楂�: '1000',
- 鏁伴噺: '10',
- 闈㈢Н: '20000',
- 鎺掍骇鏁伴噺: '',
- 宸叉帓浜ф暟閲�: '10000',
- 宸叉帓浜ч潰绉�: '10000',
- 鏈帓浜ф暟閲�: '',
- 鏈帓浜ч潰绉�: '',
- 褰㈢姸: '鐭╁舰',
- 澶囨敞: '澶囨敞'
- },
- {
- 鎺掍骇缂栧彿:"PC20230100001",
- 閿�鍞崟鍙�: 'NG231207',
- 瀹㈡埛鍚嶇О:'XXX鍏徃',
- 椤圭洰鍚嶇О:"XXXX鍏洯",
- 搴忓彿: '1',
- 浜у搧鍚嶇О: '6mm瓒呯櫧Low-E(澶�)+A12+6mm瓒呯櫧骞抽挗(鍐�)',
- 瀹�: '2000',
- 楂�: '1000',
- 鏁伴噺: '10',
- 闈㈢Н: '20000',
- 鎺掍骇鏁伴噺: '',
- 宸叉帓浜ф暟閲�: '10000',
- 宸叉帓浜ч潰绉�: '10000',
- 鏈帓浜ф暟閲�: '',
- 鏈帓浜ч潰绉�: '',
- 褰㈢姸: '鐭╁舰',
- 澶囨敞: '澶囨敞'
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鏁伴噺','闈㈢Н','鎺掍骇鏁伴噺','宸叉帓浜ф暟閲�','宸叉帓浜ч潰绉�','鏈帓浜ф暟閲�','鏈帓浜ч潰绉�']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-select v-model="value" class="m-2" placeholder="宸ュ簭">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-select v-model="value" class="m-2" placeholder="鏄惁鎺掍骇">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鎺掔増</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 70%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/SelectAddProcess.vue b/UI-Project/src/views/pp/processCard/SelectAddProcess.vue
deleted file mode 100644
index 756c9eb..0000000
--- a/UI-Project/src/views/pp/processCard/SelectAddProcess.vue
+++ /dev/null
@@ -1,249 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/SplittingDetails', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 80, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '閿�鍞崟鍙�', title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '瀹㈡埛鍚嶇О', title: '瀹㈡埛鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '椤圭洰鍚嶇О', title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '鎵规', title: '鎵规',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鍘熺墖瑕佹眰', title: '鍘熺墖瑕佹眰', sortable: true,showOverflow:"ellipsis"},
- {field: '鍟嗘爣閫夐」', title: '鍟嗘爣閫夐」', sortable: true},
- {field: '璁㈠崟绫诲瀷', title: '璁㈠崟绫诲瀷', sortable: true},
- {field: '涓氬姟鍛�', title: '涓氬姟鍛�', sortable: true},
- {field: '鍔犲伐瑕佹眰', title: '鍔犲伐瑕佹眰', sortable: true,showOverflow:"ellipsis"},
- {field: '閫佽揣鍦板潃', title: '閫佽揣鍦板潃', sortable: true},
- {field: '浜よ揣鏃ユ湡', title: '浜よ揣鏃ユ湡', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 瀹㈡埛鍚嶇О:"鎱曞鍏徃",
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎵规: '23鎵�',
- 鍘熺墖瑕佹眰: '2022/5/24XFPO202205202',
- 鍟嗘爣閫夐」:'鍖楃幓鍟嗘爣',
- 璁㈠崟绫诲瀷: '鏅�氳鍗�',
- 涓氬姟鍛�: 'XXX',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- 閫佽揣鍦板潃:'宸ュ湴',
- 浜よ揣鏃ユ湡:'2024-01-12'
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['total','TotalArea','Cases']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- // if (footList.includes(column.field)) {
- // return sumNum(data, column.field)
- // }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/SelectPrintFlowCard.vue b/UI-Project/src/views/pp/processCard/SelectPrintFlowCard.vue
deleted file mode 100644
index 4f0ef09..0000000
--- a/UI-Project/src/views/pp/processCard/SelectPrintFlowCard.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-<script lang="ts" setup>
-import {reactive, ref} from 'vue'
-
-// do not use same name with ref
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const defaultTime = ref<[Date, Date]>([
- new Date(2000, 1, 1, 0, 0, 0),
- new Date(2000, 2, 1, 23, 59, 59),
-])
-const tableData = [
- {
- salesOrderNo: 'NG231201',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231202',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231203',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231204',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231205',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231206',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
- {
- salesOrderNo: 'NG231207',
- entryName: '淇″悎鏄ュぉ閲�',
- total: '169',
- TotalArea: '175.31',
- },
-]
-</script>
-
-<template>
- <div>
- <div id="selectForm">
- <el-row :gutter="0">
-<!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 200px"/>-->
-<!-- -->
-<!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.region" style="width: 200px"/>-->
-<!-- -->
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column sortable prop="salesOrderNo" label="閿�鍞崟鍙�" width="110" >
- <template v-slot="scope">
- <router-link :to="{path:'PrintFlowCard'}" >{{scope.row.salesOrderNo}}</router-link>
- </template>
- </el-table-column>
- <el-table-column prop="entryName" label="椤圭洰鍚嶇О" width="155" />
- <el-table-column prop="total" label="鎬荤墖鏁�" width="75" />
- <el-table-column prop="TotalArea" label="鎬婚潰绉�" width="100" />
- </el-table><!-- <h1>{{msg}}</h1> -->
- </div>
-</template>
-
-<style scoped>
-#selectForm {
- width: 40%;
- height: 100%;
- text-align: center;
-}
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/SelectProcessCard.vue b/UI-Project/src/views/pp/processCard/SelectProcessCard.vue
deleted file mode 100644
index f298d8b..0000000
--- a/UI-Project/src/views/pp/processCard/SelectProcessCard.vue
+++ /dev/null
@@ -1,270 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/PrintFlowCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '閿�鍞崟鍙�', title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '娴佺▼鍗″彿', width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧缂栧彿', title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О', title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '椤圭洰鍚嶇О', title: '椤圭洰鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: '鎬绘暟閲�', title: '鎬绘暟閲�', sortable: true},
- {field: '鎬婚潰绉�', title: '鎬婚潰绉�', sortable: true},
- {field: '鍒嗙鏁�', title: '鍒嗙鏁�', sortable: true,showOverflow:"ellipsis"},
- {field: '鍒嗘灦鍛�', title: '鍒嗘灦鍛�', sortable: true},
- {field: '鍔犲伐瑕佹眰', title: '鍔犲伐瑕佹眰', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 娴佺▼鍗″彿: 'NG231201A01 ',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 椤圭洰鍚嶇О: '淇″悎鏄ュぉ閲�',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍒嗙鏁�: '3',
- 鍒嗘灦鍛�: 'xxx',
- 鍔犲伐瑕佹眰: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鎬绘暟閲�','鎬婚潰绉�','鍒嗙鏁�']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鎺掔増</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/processCard/SplittingDetails.vue b/UI-Project/src/views/pp/processCard/SplittingDetails.vue
deleted file mode 100644
index 838d370..0000000
--- a/UI-Project/src/views/pp/processCard/SplittingDetails.vue
+++ /dev/null
@@ -1,191 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/AddProcessCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 80, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '閿�鍞崟鍙�', title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '鐢熶骇璁㈠崟鍙�', title: '鐢熶骇璁㈠崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧缂栧彿', title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '浜у搧鍚嶇О', title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '鎬绘暟閲�', title: '鎬绘暟閲�', sortable: true,showOverflow:"ellipsis"},
- {field: '鎬婚潰绉�', title: '鎬婚潰绉�', sortable: true},
- {field: '鍛ㄩ暱', title: '鍛ㄩ暱', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�: 'NG231201A',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍛ㄩ暱: '99.84',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�: 'NG231201A',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍛ㄩ暱: '99.84',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�: 'NG231201A',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍛ㄩ暱: '99.84',
- },
- {
- 閿�鍞崟鍙�: 'NG231201',
- 鐢熶骇璁㈠崟鍙�: 'NG231201A',
- 浜у搧缂栧彿: '9001010203000008',
- 浜у搧鍚嶇О: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- 鎬绘暟閲�: '169',
- 鎬婚潰绉�: '175.31',
- 鍛ㄩ暱: '99.84',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['鎬绘暟閲�','鎬婚潰绉�']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
-
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/DamageReport.vue b/UI-Project/src/views/pp/report/DamageReport.vue
deleted file mode 100644
index 108b31e..0000000
--- a/UI-Project/src/views/pp/report/DamageReport.vue
+++ /dev/null
@@ -1,281 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '鎶ュ伐鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '宸ュ簭', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '璐d换鐝粍', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '璐d换璁惧',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '娆$牬鍘熷洜', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '娆$牬鏁伴噺', sortable: true},
- {field: '7',width: 100, title: '娆$牬闈㈢Н', sortable: true},
- {field: '8',width: 120, title: '鎴愬搧鐜�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '椤圭洰鍚嶇О', sortable: true},
- {field: '10', width: 120,title: '鎵规', sortable: true},
- {field: '11',width: 120, title: '閿�鍞崟鍙�', sortable: true},
- {field: '12',width: 120, title: '鍗曞搧鍚嶇О', sortable: true},
- {field: '13',width: 120, title: '浜у湴', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'榛戦噾鍒�',
- 5:'鏈哄櫒',
- 6:'1 ',
- 7:'3.14',
- 8:'89',
- 9:'濂斿悜骞曞',
- 10:'涓�鎵�',
- 11:'NG20010101',
- 12:'6mm瓒呯櫧骞抽挗',
- 13:'鍖楁柟',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'榛戦噾鍒�',
- 5:'鏈哄櫒',
- 6:'1 ',
- 7:'3.14',
- 8:'89',
- 9:'濂斿悜骞曞',
- 10:'涓�鎵�',
- 11:'NG20010101',
- 12:'6mm瓒呯櫧骞抽挗',
- 13:'鍖楁柟',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'榛戦噾鍒�',
- 5:'鏈哄櫒',
- 6:'1 ',
- 7:'3.14',
- 8:'89',
- 9:'濂斿悜骞曞',
- 10:'涓�鎵�',
- 11:'NG20010101',
- 12:'6mm瓒呯櫧骞抽挗',
- 13:'鍖楁柟',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'榛戦噾鍒�',
- 5:'鏈哄櫒',
- 6:'1 ',
- 7:'3.14',
- 8:'89',
- 9:'濂斿悜骞曞',
- 10:'涓�鎵�',
- 11:'NG20010101',
- 12:'6mm瓒呯櫧骞抽挗',
- 13:'鍖楁柟',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['6','7']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/EquipmentOutput.vue b/UI-Project/src/views/pp/report/EquipmentOutput.vue
deleted file mode 100644
index d310bed..0000000
--- a/UI-Project/src/views/pp/report/EquipmentOutput.vue
+++ /dev/null
@@ -1,256 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', title: '宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2', title: '鍔犲伐璁惧', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', title: '閿�鍞崟鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4', title: '鐢熶骇璁㈠崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5',title: '浜у搧鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: '6', title: '瀹屽伐鏁伴噺', sortable: true},
- {field: '7', title: '瀹屽伐闈㈢Н', sortable: true},
- {field: '8', title: '鎶ュ伐鏃堕棿', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'鍒囧壊',
- 2:'澶ф捣鍒╁畞',
- 3:'NG23010102',
- 4:'NG23010102A',
- 5:'6mm瓒呯櫧LYE-80骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 6:'133',
- 7:'123.14',
- 8:'2023-01-02',
-
- },
- {
- 1:'鍒囧壊',
- 2:'澶ф捣鍒╁畞',
- 3:'NG23010102',
- 4:'NG23010102A',
- 5:'6mm瓒呯櫧LYE-80骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 6:'133',
- 7:'123.14',
- 8:'2023-01-02',
-
- },
- {
- 1:'鍒囧壊',
- 2:'澶ф捣鍒╁畞',
- 3:'NG23010102',
- 4:'NG23010102A',
- 5:'6mm瓒呯櫧LYE-80骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 6:'133',
- 7:'123.14',
- 8:'2023-01-02',
-
- },
- {
- 1:'鍒囧壊',
- 2:'澶ф捣鍒╁畞',
- 3:'NG23010102',
- 4:'NG23010102A',
- 5:'6mm瓒呯櫧LYE-80骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 6:'133',
- 7:'123.14',
- 8:'2023-01-02',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['6','7']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/OrderBOMOutside.vue b/UI-Project/src/views/pp/report/OrderBOMOutside.vue
deleted file mode 100644
index 9244833..0000000
--- a/UI-Project/src/views/pp/report/OrderBOMOutside.vue
+++ /dev/null
@@ -1,277 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '瀹㈡埛缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '浜у搧缂栧彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '璁㈠崟鏁伴噺', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '棰嗘枡宸ュ簭', sortable: true},
- {field: '7',width: 100, title: '鐗╂枡缂栫爜', sortable: true},
- {field: '8',width: 120, title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '鍗曚綅', sortable: true},
- {field: '10', width: 120,title: '浜у湴', sortable: true},
- {field: '11',width: 120, title: '鐗╂枡鏁伴噺', sortable: true},
- {field: '12',width: 120, title: '閲囪喘鏁伴噺', sortable: true},
- {field: '13',width: 120, title: '鏄惁瀹℃牳', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'NG230101',
- 2:'24',
- 3:'06045001',
- 4:'3mm鐧藉潯/PE绮楃(/鍒囪9*9mm/TG/鎸夊浘[KD10059406-7-20002] 1011* 374(鍖呰 : 320鐗�/绠憋紝鐢ㄧ儹闅擣SC绾�)',
- 5:'1300',
- 6:'涓�绾胯绠�',
- 7:'70030201000010400410000002',
- 8:'FSC鏃犲皹绾�',
- 9:'寮�',
- 10:'涓滆帪甯傞敠鑽g焊涓�',
- 11:'1304.00',
- 12:'1000.0000',
- 13:'宸插鏍�',
- },
- {
- 1:'NG230101',
- 2:'24',
- 3:'06045001',
- 4:'3mm鐧藉潯/PE绮楃(/鍒囪9*9mm/TG/鎸夊浘[KD10059406-7-20002] 1011* 374(鍖呰 : 320鐗�/绠憋紝鐢ㄧ儹闅擣SC绾�)',
- 5:'1300',
- 6:'涓�绾胯绠�',
- 7:'70030201000010400410000002',
- 8:'FSC鏃犲皹绾�',
- 9:'寮�',
- 10:'涓滆帪甯傞敠鑽g焊涓�',
- 11:'1304.00',
- 12:'1000.0000',
- 13:'宸插鏍�',
- },
- {
- 1:'NG230101',
- 2:'24',
- 3:'06045001',
- 4:'3mm鐧藉潯/PE绮楃(/鍒囪9*9mm/TG/鎸夊浘[KD10059406-7-20002] 1011* 374(鍖呰 : 320鐗�/绠憋紝鐢ㄧ儹闅擣SC绾�)',
- 5:'1300',
- 6:'涓�绾胯绠�',
- 7:'70030201000010400410000002',
- 8:'FSC鏃犲皹绾�',
- 9:'寮�',
- 10:'涓滆帪甯傞敠鑽g焊涓�',
- 11:'1304.00',
- 12:'1000.0000',
- 13:'宸插鏍�',
- },
- {
- 1:'NG230101',
- 2:'24',
- 3:'06045001',
- 4:'3mm鐧藉潯/PE绮楃(/鍒囪9*9mm/TG/鎸夊浘[KD10059406-7-20002] 1011* 374(鍖呰 : 320鐗�/绠憋紝鐢ㄧ儹闅擣SC绾�)',
- 5:'1300',
- 6:'涓�绾胯绠�',
- 7:'70030201000010400410000002',
- 8:'FSC鏃犲皹绾�',
- 9:'寮�',
- 10:'涓滆帪甯傞敠鑽g焊涓�',
- 11:'1304.00',
- 12:'1000.0000',
- 13:'宸插鏍�',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['5','11','12']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/OrderPlanDecomposition.vue b/UI-Project/src/views/pp/report/OrderPlanDecomposition.vue
deleted file mode 100644
index 38a20fd..0000000
--- a/UI-Project/src/views/pp/report/OrderPlanDecomposition.vue
+++ /dev/null
@@ -1,282 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '瀹㈡埛鎵规', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '鎵规', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '鏁伴噺',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '闈㈢Н', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '璁㈠崟浜ゆ帴鏃堕棿', sortable: true},
- {field: '7',width: 100, title: '閿�鍞崟鍙�', sortable: true},
- {field: '8',width: 120, title: '寮�濮嬪垏鍓叉椂闂�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '娴佽浆宸ュ簭', sortable: true},
- {field: '10', width: 120,title: '瀹屽伐鏁伴噺', sortable: true},
- {field: '11',width: 120, title: '宸插叆搴撴暟閲�', sortable: true},
- {field: '12',width: 120, title: '鏈叆搴撴暟閲�', sortable: true},
- {field: '13',width: 120, title: '娓呭崟鏃堕棿', sortable: true},
- {field: '14',width: 120, title: '鐢熶骇鐢ㄦ椂(澶�)', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'1#瀹胯垗妤煎',
- 3:'1#琛ョ墖',
- 4:'8',
- 5:'9.82',
- 6:'2023-12-01 11:06:10',
- 7:'NG23113003',
- 8:'2023-12-03 23:19:11',
- 9:'鍒囧壊',
- 10:'2',
- 11:'0',
- 12:'9',
- 13:'宸插鏍�',
- 14:'4',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'1#瀹胯垗妤煎',
- 3:'1#琛ョ墖',
- 4:'8',
- 5:'9.82',
- 6:'2023-12-01 11:06:10',
- 7:'NG23113003',
- 8:'2023-12-03 23:19:11',
- 9:'鍒囧壊',
- 10:'2',
- 11:'0',
- 12:'9',
- 13:'宸插鏍�',
- 14:'4',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'1#瀹胯垗妤煎',
- 3:'1#琛ョ墖',
- 4:'8',
- 5:'9.82',
- 6:'2023-12-01 11:06:10',
- 7:'NG23113003',
- 8:'2023-12-03 23:19:11',
- 9:'鍒囧壊',
- 10:'2',
- 11:'0',
- 12:'9',
- 13:'宸插鏍�',
- 14:'4',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'1#瀹胯垗妤煎',
- 3:'1#琛ョ墖',
- 4:'8',
- 5:'9.82',
- 6:'2023-12-01 11:06:10',
- 7:'NG23113003',
- 8:'2023-12-03 23:19:11',
- 9:'鍒囧壊',
- 10:'2',
- 11:'0',
- 12:'9',
- 13:'宸插鏍�',
- 14:'4',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['4','5','10','11','12']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/ProcessCardProgress.vue b/UI-Project/src/views/pp/report/ProcessCardProgress.vue
deleted file mode 100644
index f2b4c5b..0000000
--- a/UI-Project/src/views/pp/report/ProcessCardProgress.vue
+++ /dev/null
@@ -1,245 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- 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',fixed:"left",slots: { content:'content' },width: 50},
- {field: '1', width: 150, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 130, title: '鍗曠墖鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 120,title: '璁㈠崟绫诲瀷', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 110, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 90,title: '鏍囪', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 90,title: '鏁伴噺', sortable: true},
- {field: '7',width: 90, title: '娆$牬鏁伴噺', sortable: true},
- {field: '8',width: 120, title: '鍒囧壊', sortable: true},
- {field: '9',width: 120, title: '纾ㄨ竟', sortable: true},
- {field: '10',width: 120, title: '閽㈠寲', sortable: true},
- {field: '11',width: 120, title: '鍏ュ簱闈㈢Н', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 2:'10mm瓒呯櫧UD60骞抽挗(澶�)',
- 3:'鏅�氳鍗�',
- 4:'NG23052602A01/1',
- 5:'1',
- 6:'33',
- 7:'1',
- 8:'22',
- 9:'22',
- 10:'22',
- 11:'314.13',
- },
- {
- 1:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 2:'10mm瓒呯櫧骞抽挗+12Ar(缁�)',
- 3:'鏅�氳鍗�',
- 4:'NG23052602A01/2',
- 5:'2',
- 6:'33',
- 7:'1',
- 8:'22',
- 9:'22',
- 10:'22',
- 11:'314.13',
- },
- {
- 1:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 2:'10mm瓒呯櫧骞抽挗(鍐�)',
- 3:'鏅�氳鍗�',
- 4:'NG23052602A01/3',
- 5:'3',
- 6:'33',
- 7:'1',
- 8:'22',
- 9:'22',
- 10:'22',
- 11:'314.13',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- // footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- // let footList=['7','8','9','10']
- // return[
- // columns.map((column, columnIndex) => {
- // if (columnIndex === 0) {
- // return '鍚堣:'
- // }
- // if (footList.includes(column.field)) {
- // return sumNum(data, column.field)
- // }
- // return ''
- // })
- // ]
- // }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-const mergeCells = ref([
- { row: 0, col: 1, rowspan: 3, colspan: 0},
- { row: 3, col: 1, rowspan: 3, colspan: 0},
-
- { row: 0, col: 6, rowspan: 3, colspan: 0},
- { row: 3, col: 6, rowspan: 3, colspan: 0},
-
-])
-
-</script>
-
-<template>
- <div class="main-div-customer" >
- <div id="selectForm">
- <el-row :gutter="0">
- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" value="NG23110102" style="width: 150px"/>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- height="400px"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- :merge-cells="mergeCells"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/ProcessToBeCompleted.vue b/UI-Project/src/views/pp/report/ProcessToBeCompleted.vue
deleted file mode 100644
index 556f38a..0000000
--- a/UI-Project/src/views/pp/report/ProcessToBeCompleted.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2', title: '鍗曠墖鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3',title: '鏈畬鏁�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4', title: '鏈畬闈㈢Н',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
-
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'19mm瓒呯櫧骞抽挗',
- 3:'1',
- 4:'3.11',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'19mm瓒呯櫧骞抽挗',
- 3:'1',
- 4:'3.11',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'19mm瓒呯櫧骞抽挗',
- 3:'1',
- 4:'3.11',
- },
- {
- 1:'鏂板畨鍖楃幓浜т笟鍥�',
- 2:'19mm瓒呯櫧骞抽挗',
- 3:'1',
- 4:'3.11',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/ProductionSchedule.vue b/UI-Project/src/views/pp/report/ProductionSchedule.vue
deleted file mode 100644
index 051e8c4..0000000
--- a/UI-Project/src/views/pp/report/ProductionSchedule.vue
+++ /dev/null
@@ -1,341 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {field: '1', width: 100, title: '搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '妤煎眰缂栧彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 100,title: '褰㈢姸', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '鎴愬搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 90,title: '瀹�', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 90,title: '楂�', sortable: true},
- {field: '7',width: 90, title: '鏁伴噺', sortable: true},
- {field: '8',width: 90, title: '鐗囨爣璁�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 80,title: '鏍囪', sortable: true},
- {field: '10', width: 120,title: '鍗曠墖鍚嶇О', sortable: true},
- {field: '11',width: 120, title: '鍒囧壊', sortable: true},
- {field: '12',width: 120, title: '纾ㄨ竟', sortable: true},
- {field: '13',width: 120, title: '閽㈠寲', sortable: true},
- {field: '14',width: 120, title: '鍏ュ簱鏁伴噺', sortable: true},
- {field: '15',width: 120, title: '鍏ュ簱闈㈢Н', sortable: true},
- {field: '16',width: 120, title: '鍙戣揣鏁伴噺', sortable: true},
- {field: '17',width: 120, title: '鍙戣揣闈㈢Н', sortable: true},
- {field: '17',width: 120, title: '缁撶畻鎬婚潰绉�', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'1',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(澶�)',
- 9:'1',
- 10:'10mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- {
- 1:'1',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(涓�)',
- 9:'2',
- 10:'10mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- {
- 1:'1',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'10mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+10mm瓒呯櫧骞抽挗+12Ar(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(鍐�)',
- 9:'3',
- 10:'10mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- {
- 1:'2',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'6mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(澶�)',
- 9:'1',
- 10:'6mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- {
- 1:'2',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'6mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(涓�)',
- 9:'2',
- 10:'6mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- {
- 1:'2',
- 2:'J8-B1-BD-BL1-001',
- 3:'鏅舰',
- 4:'6mm瓒呯櫧UD60骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- 5:'1114',
- 6:'1445',
- 7:'3',
- 8:'(鍐�)',
- 9:'3',
- 10:'6mm瓒呯櫧UD60骞抽挗(澶�)',
- 11:'1',
- 12:'1',
- 13:'1',
- 14:'0',
- 15:'0',
- 16:'0',
- 17:'0',
- 18:'4.11',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['11','12','13','14','15','16','17','18']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-const mergeCells = ref([
- { row: 0, col: 1, rowspan: 3, colspan: 0},
- { row: 3, col: 1, rowspan: 3, colspan: 0},
-
- { row: 0, col: 2, rowspan: 3, colspan: 0},
- { row: 3, col: 2, rowspan: 3, colspan: 0},
-
- { row: 0, col: 3, rowspan: 3, colspan: 0},
- { row: 3, col: 3, rowspan: 3, colspan: 0},
-
- { row: 0, col: 4, rowspan: 3, colspan: 0},
- { row: 3, col: 4, rowspan: 3, colspan: 0},
-
-
-])
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- :merge-cells="mergeCells"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/QualityReport.vue b/UI-Project/src/views/pp/report/QualityReport.vue
deleted file mode 100644
index 3fdbd62..0000000
--- a/UI-Project/src/views/pp/report/QualityReport.vue
+++ /dev/null
@@ -1,268 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '瀹㈡埛缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '璁㈠崟搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '浜у搧鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '璁㈠崟鏁伴噺', sortable: true},
- {field: '7',width: 100, title: '澶囩敤浠�', sortable: true},
- {field: '8',width: 120, title: '鎶曞叆鏁伴噺', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '娆$牬鏁伴噺', sortable: true},
- {field: '10', width: 120,title: '琛ョ墖鏁伴噺', sortable: true},
- {field: '11',width: 120, title: '鍏ュ簱鏁伴噺', sortable: true},
- {field: '12',width: 120, title: '鎶ュ簾鐜�', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'NG23022706',
- 2:'45',
- 3:'澶ф澘闀�',
- 4:'1',
- 5:'3mm 楂樻�ц兘鐜繚闀� 3660*2440',
- 6:'180 ',
- 7:'0',
- 8:'186',
- 9:'3',
- 10:'3',
- 11:'180',
- 12:'1.6129%',
-
- },
- {
- 1:'NG23022706',
- 2:'45',
- 3:'澶ф澘闀�',
- 4:'1',
- 5:'3mm 楂樻�ц兘鐜繚闀� 3660*2440',
- 6:'180 ',
- 7:'0',
- 8:'186',
- 9:'3',
- 10:'3',
- 11:'180',
- 12:'1.6129%',
-
- },
- {
- 1:'NG23022706',
- 2:'45',
- 3:'澶ф澘闀�',
- 4:'1',
- 5:'3mm 楂樻�ц兘鐜繚闀� 3660*2440',
- 6:'180 ',
- 7:'0',
- 8:'186',
- 9:'3',
- 10:'3',
- 11:'180',
- 12:'1.6129%',
-
- },
- {
- 1:'NG23022706',
- 2:'45',
- 3:'澶ф澘闀�',
- 4:'1',
- 5:'3mm 楂樻�ц兘鐜繚闀� 3660*2440',
- 6:'180 ',
- 7:'0',
- 8:'186',
- 9:'3',
- 10:'3',
- 11:'180',
- 12:'1.6129%',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['6','7','8','9','10','11']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 50%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/RawMaterialRequisition.vue b/UI-Project/src/views/pp/report/RawMaterialRequisition.vue
deleted file mode 100644
index c039857..0000000
--- a/UI-Project/src/views/pp/report/RawMaterialRequisition.vue
+++ /dev/null
@@ -1,264 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 100, title: '鎵规', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '閿�鍞崟鍙�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '浜у搧绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '鍘熺墖浜у湴', sortable: true},
- {field: '7',width: 90, title: '瀹�', sortable: true},
- {field: '8',width: 90, title: '楂�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '宸查鏁伴噺', sortable: true},
- {field: '10', width: 120,title: '宸查闈㈢Н', sortable: true},
- {field: '11',width: 120, title: '鍘熺墖鐢熶骇鏃ユ湡', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'姝︽眽瀹夐摥鍗庝鲸鍩�',
- 2:'23绗�1鎵�',
- 3:'N0231210',
- 4:'骞抽挗',
- 5:'10mm瓒呯櫧UD60',
- 6:'灞变笢鍏ㄥ搧',
- 7:'3360',
- 8:'4567',
- 9:'6',
- 10:'22.76',
- 11:'2023-10-22',
-
- },
- {
- 1:'姝︽眽瀹夐摥鍗庝鲸鍩�',
- 2:'23绗�1鎵�',
- 3:'N0231210',
- 4:'骞抽挗',
- 5:'10mm瓒呯櫧UD60',
- 6:'灞变笢鍏ㄥ搧',
- 7:'3360',
- 8:'4567',
- 9:'6',
- 10:'22.76',
- 11:'2023-10-22',
-
- },
- {
- 1:'姝︽眽瀹夐摥鍗庝鲸鍩�',
- 2:'23绗�1鎵�',
- 3:'N0231210',
- 4:'骞抽挗',
- 5:'10mm瓒呯櫧UD60',
- 6:'灞变笢鍏ㄥ搧',
- 7:'3360',
- 8:'4567',
- 9:'6',
- 10:'22.76',
- 11:'2023-10-22',
-
- },
- {
- 1:'姝︽眽瀹夐摥鍗庝鲸鍩�',
- 2:'23绗�1鎵�',
- 3:'N0231210',
- 4:'骞抽挗',
- 5:'10mm瓒呯櫧UD60',
- 6:'灞变笢鍏ㄥ搧',
- 7:'3360',
- 8:'4567',
- 9:'6',
- 10:'22.76',
- 11:'2023-10-22',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['9','10']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/Report.vue b/UI-Project/src/views/pp/report/Report.vue
deleted file mode 100644
index c5dc4ba..0000000
--- a/UI-Project/src/views/pp/report/Report.vue
+++ /dev/null
@@ -1,102 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-
-const router = useRouter()
-let flag = $ref(true)
-let flag1 = $ref(true)
-function intoRelease(){
- if(flag){
- router.push('/main/Replenish/AddReplenish')
- }else {
- router.push('/main/Replenish/SelectReplenish')
- }
- flag=!flag
-}
-function intoAddWorkOrder(){
- if(flag1){
- router.push('/main/Replenish/PrintReplenishFlowCard')
- }else {
- router.push('/main/Replenish/SelectReplenish')
- }
- flag1=!flag1
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-menu
- class="el-menu-demo"
- mode="horizontal"
- :default-active="$route.path"
- router
- background-color="#5CADFE"
- text-color="#000000"
- active-text-color="#ffffff"
-
- >
-
- <el-sub-menu index="1" >
- <template #title >鐢熶骇鎶ヨ〃</template>
- <el-menu-item index="/main/report/WorkInProgress">鍦ㄥ埗鍝佹姤琛�</el-menu-item>
- <el-menu-item index="/main/report/ProcessToBeCompleted">宸ュ簭寰呭畬鎴�</el-menu-item>
- <el-menu-item index="/main/report/ProductionSchedule">鐢熶骇鍙戣揣杩涘害</el-menu-item>
- <el-menu-item index="/main/report/ProcessCardProgress">娴佺▼鍗¤繘搴�</el-menu-item>
- <el-menu-item index="/main/report/OrderPlanDecomposition">璁㈠崟璁″垝鍒嗚В</el-menu-item>
- </el-sub-menu>
- <el-sub-menu index="2" popper-class="test">
- <template #title>浜ч噺鎶ヨ〃</template>
- <el-menu-item index="/main/report/TeamOutput">鐝粍浜ч噺</el-menu-item>
- <el-menu-item index="/main/report/EquipmentOutput">璁惧浜ч噺</el-menu-item>
- </el-sub-menu>
- <el-menu-item index="/main/report/DamageReport">娆$牬鎶ヨ〃</el-menu-item>
- <el-menu-item index="/main/report/SplittingDetailsOutside">鍒嗘灦鏄庣粏</el-menu-item>
- <el-menu-item index="/main/report/TaskCompletionStatus">浠诲姟瀹屾垚鎯呭喌</el-menu-item>
- <el-menu-item index="/main/report/RawMaterialRequisition">鍘熺墖棰嗘枡</el-menu-item>
- <el-menu-item index="/main/report/QualityReport">鍝佽川鎶ヨ〃</el-menu-item>
- <el-menu-item index="/main/report/Yield">鎴愬搧鐜囨姤琛�</el-menu-item>
- <el-menu-item index="/main/report/OrderBOMOutside">BOM鎶ヨ〃</el-menu-item>
- </el-menu>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- width: 100%;
- height: 100%;
-}
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-/*main-body鏍峰紡*/
-.el-menu-demo{
- height: 40px;
-}
-
-#div-title{
- height: 5%;
- width: 100%;
- //color: #ffd04b;
-}
-
-
-
-
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/SplittingDetailsOutside.vue b/UI-Project/src/views/pp/report/SplittingDetailsOutside.vue
deleted file mode 100644
index a675c4a..0000000
--- a/UI-Project/src/views/pp/report/SplittingDetailsOutside.vue
+++ /dev/null
@@ -1,258 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 130, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 100, title: '搴忓彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 100,title: '钀芥灦椤哄簭', sortable: true,},
- {field: '4',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '鎵规', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '妤煎眰缂栧彿', sortable: true},
- {field: '7',width: 90, title: '瀹�', sortable: true},
- {field: '8',width: 90, title: '楂�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 90,title: '鏁伴噺', sortable: true},
- {field: '10', width: 90,title: '闈㈢Н', sortable: true},
- {field: '11',width: 90, title: '褰㈢姸', sortable: true},
- {field: '12',width: 120, title: '澶囨敞', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'NG23120702A01',
- 2:'8',
- 3:'1',
- 4:'閾堕殕骞垮満',
- 5:'琛�8',
- 6:'J8-B1-BD-BL1-009 ',
- 7:'1764',
- 8:'2466',
- 9:'5',
- 10:'23.13',
- 11:'鏅舰',
- 12:'',
-
- },
- {
- 1:'NG23120702A01',
- 2:'8',
- 3:'1',
- 4:'閾堕殕骞垮満',
- 5:'琛�8',
- 6:'J8-B1-BD-BL1-009 ',
- 7:'1764',
- 8:'2466',
- 9:'5',
- 10:'23.13',
- 11:'鏅舰',
- 12:'',
-
- },
- {
- 1:'NG23120702A01',
- 2:'8',
- 3:'1',
- 4:'閾堕殕骞垮満',
- 5:'琛�8',
- 6:'J8-B1-BD-BL1-009 ',
- 7:'1764',
- 8:'2466',
- 9:'5',
- 10:'23.13',
- 11:'鏅舰',
- 12:'',
-
- },
- {
- 1:'NG23120702A01',
- 2:'8',
- 3:'1',
- 4:'閾堕殕骞垮満',
- 5:'琛�8',
- 6:'J8-B1-BD-BL1-009 ',
- 7:'1764',
- 8:'2466',
- 9:'5',
- 10:'23.13',
- 11:'鏅舰',
- 12:'',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['9','10']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 200px"/>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/TaskCompletionStatus.vue b/UI-Project/src/views/pp/report/TaskCompletionStatus.vue
deleted file mode 100644
index 0bc7cea..0000000
--- a/UI-Project/src/views/pp/report/TaskCompletionStatus.vue
+++ /dev/null
@@ -1,286 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '瀹㈡埛鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '椤圭洰鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 100,title: '鎵规', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '浜у搧澶х被', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '浜у搧灏忕被', sortable: true},
- {field: '7',width: 100, title: '璁㈠崟鏁�', sortable: true},
- {field: '8',width: 100, title: '鎬婚潰绉�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '鍙戣揣鏁伴噺', sortable: true},
- {field: '10', width: 120,title: '鍙戣揣闈㈢Н', sortable: true},
- {field: '11',width: 120, title: '鎶ヨ〃鏃ユ湡', sortable: true},
- {field: '12',width: 90, title: '鍒囧壊', sortable: true},
- {field: '13',width: 90, title: '纾ㄨ竟', sortable: true},
- {field: '14',width: 90, title: '閽㈠寲', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃 ',
- 2:'閾堕殕骞垮満',
- 3:'琛�8',
- 4:'NG23120702',
- 5:'涓┖鐜荤拑',
- 6:'鍙屽钩閽腑绌�',
- 7:'1',
- 8:'1.88',
- 9:'',
- 10:'',
- 11:'2023-12-17',
- 12:'5',
- 13:'5',
- 14:'5',
-
- },
- {
- 1:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃 ',
- 2:'閾堕殕骞垮満',
- 3:'琛�8',
- 4:'NG23120702',
- 5:'涓┖鐜荤拑',
- 6:'鍙屽钩閽腑绌�',
- 7:'1',
- 8:'1.88',
- 9:'',
- 10:'',
- 11:'2023-12-17',
- 12:'5',
- 13:'5',
- 14:'5',
-
- },
- {
- 1:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃 ',
- 2:'閾堕殕骞垮満',
- 3:'琛�8',
- 4:'NG23120702',
- 5:'涓┖鐜荤拑',
- 6:'鍙屽钩閽腑绌�',
- 7:'1',
- 8:'1.88',
- 9:'',
- 10:'',
- 11:'2023-12-17',
- 12:'5',
- 13:'5',
- 14:'5',
-
- },
- {
- 1:'瑗垮畨楂樼骞曞闂ㄧ獥鏈夐檺鍏徃 ',
- 2:'閾堕殕骞垮満',
- 3:'琛�8',
- 4:'NG23120702',
- 5:'涓┖鐜荤拑',
- 6:'鍙屽钩閽腑绌�',
- 7:'1',
- 8:'1.88',
- 9:'',
- 10:'',
- 11:'2023-12-17',
- 12:'5',
- 13:'5',
- 14:'5',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['7','8','9','10']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/TeamOutput.vue b/UI-Project/src/views/pp/report/TeamOutput.vue
deleted file mode 100644
index e07d22a..0000000
--- a/UI-Project/src/views/pp/report/TeamOutput.vue
+++ /dev/null
@@ -1,291 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '鎶ュ伐鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '宸ュ簭', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '鐝粍鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '浜у搧澶х被', sortable: true},
- {field: '7',width: 100, title: '浜у搧灏忕被', sortable: true},
- {field: '8',width: 120, title: '鍦ㄥ埗鍝佸悕绉�', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 110,title: '纾ㄨ竟绫诲瀷', sortable: true},
- {field: '10', width: 100,title: '褰㈢姸', sortable: true},
- {field: '11',width: 100, title: '鍘氬害', sortable: true},
- {field: '12',width: 110, title: '瀹屽伐鏁伴噺', sortable: true},
- {field: '13',width: 110, title: '瀹屽伐闈㈢Н', sortable: true},
- {field: '14',width: 110, title: '骞虫柟姣背(澶�)', sortable: true},
- {field: '15',width: 110, title: '鍖呰鏂瑰紡', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'閾跺窛澶фゼ',
- 5:'NG23010121A01',
- 6:'涓┖鐜荤拑',
- 7:'骞充腑绌哄す鑳�',
- 8:'5mmLYE-70骞抽挗(澶�)+20mmA(瀵�)+5mm瓒呯櫧骞抽挗(鍐�)',
- 9:'绮剧(',
- 10:'鏅瀷',
- 11:'5',
- 12:'11',
- 13:'41.14',
- 14:'123.33',
- 15:'',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'閾跺窛澶фゼ',
- 5:'NG23010121A01',
- 6:'涓┖鐜荤拑',
- 7:'骞充腑绌哄す鑳�',
- 8:'5mmLYE-70骞抽挗(澶�)+20mmA(瀵�)+5mm瓒呯櫧骞抽挗(鍐�)',
- 9:'绮剧(',
- 10:'鏅瀷',
- 11:'5',
- 12:'11',
- 13:'41.14',
- 14:'123.33',
- 15:'',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'閾跺窛澶фゼ',
- 5:'NG23010121A01',
- 6:'涓┖鐜荤拑',
- 7:'骞充腑绌哄す鑳�',
- 8:'5mmLYE-70骞抽挗(澶�)+20mmA(瀵�)+5mm瓒呯櫧骞抽挗(鍐�)',
- 9:'绮剧(',
- 10:'鏅瀷',
- 11:'5',
- 12:'11',
- 13:'41.14',
- 14:'123.33',
- 15:'',
-
- },
- {
- 1:'2023-01-01',
- 2:'閽㈠寲',
- 3:'閽㈠寲涓�鐝�',
- 4:'閾跺窛澶фゼ',
- 5:'NG23010121A01',
- 6:'涓┖鐜荤拑',
- 7:'骞充腑绌哄す鑳�',
- 8:'5mmLYE-70骞抽挗(澶�)+20mmA(瀵�)+5mm瓒呯櫧骞抽挗(鍐�)',
- 9:'绮剧(',
- 10:'鏅瀷',
- 11:'5',
- 12:'11',
- 13:'41.14',
- 14:'123.33',
- 15:'',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['12','13','14']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/WorkInProgress.vue b/UI-Project/src/views/pp/report/WorkInProgress.vue
deleted file mode 100644
index 710fd3c..0000000
--- a/UI-Project/src/views/pp/report/WorkInProgress.vue
+++ /dev/null
@@ -1,281 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', width: 120, title: '宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2',width: 120, title: '娴佺▼鍗″彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3', width: 130,title: '瀹㈡埛鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', width: 100,title: '鎵规', sortable: true,showOverflow:"ellipsis"},
- {field: '6', width: 100,title: '搴忓彿', sortable: true},
- {field: '7',width: 100, title: '褰㈢姸', sortable: true},
- {field: '8',width: 120, title: '妤煎眰缂栧彿', sortable: true,showOverflow:"ellipsis"},
- {field: '9', width: 120,title: '宸ヨ壓娴佺▼', sortable: true},
- {field: '10', width: 120,title: '璁㈠崟鏁�', sortable: true},
- {field: '11',width: 120, title: '瀹�', sortable: true},
- {field: '12',width: 120, title: '楂�', sortable: true},
- {field: '13',width: 120, title: '搴撳瓨鏁�', sortable: true},
- {field: '14',width: 120, title: '搴撳瓨闈㈢Н', sortable: true},
- {field: '15',width: 120, title: '鎴愬搧鍚嶇О', sortable: true},
- {field: '16',width: 120, title: '鍦ㄥ埗鍝佸悕绉�', sortable: true},
- {field: '17',width: 120, title: '寮挗鍗婂緞', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'纾ㄨ竟',
- 2:'NG22091906A02/1',
- 3:'涓浗寤虹瓚瑁呴グ闆嗗洟鏈夐檺鍏徃',
- 4:'閾跺窛缁垮湴涓績鍗楀(25鎵�2)',
- 5:'25鎵�2',
- 6:'褰㈢姸',
- 7:'2',
- 8:'25-BL19',
- 9:'鍒囧壊->闀�鑶�->纾ㄨ竟->閽㈠寲->鍖呰',
- 10:'40',
- 11:'1345',
- 12:'1556',
- 13:'1',
- 14:'1.99',
- 15:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 16:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 17:'0',
-
- },
- {
- 1:'纾ㄨ竟',
- 2:'NG22091906A02/1',
- 3:'涓浗寤虹瓚瑁呴グ闆嗗洟鏈夐檺鍏徃',
- 4:'閾跺窛缁垮湴涓績鍗楀(25鎵�2)',
- 5:'25鎵�2',
- 6:'褰㈢姸',
- 7:'2',
- 8:'25-BL19',
- 9:'鍒囧壊->闀�鑶�->纾ㄨ竟->閽㈠寲->鍖呰',
- 10:'40',
- 11:'1345',
- 12:'1556',
- 13:'1',
- 14:'1.99',
- 15:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 16:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 17:'0',
-
- },
- {
- 1:'纾ㄨ竟',
- 2:'NG22091906A02/1',
- 3:'涓浗寤虹瓚瑁呴グ闆嗗洟鏈夐檺鍏徃',
- 4:'閾跺窛缁垮湴涓績鍗楀(25鎵�2)',
- 5:'25鎵�2',
- 6:'褰㈢姸',
- 7:'2',
- 8:'25-BL19',
- 9:'鍒囧壊->闀�鑶�->纾ㄨ竟->閽㈠寲->鍖呰',
- 10:'40',
- 11:'1345',
- 12:'1556',
- 13:'1',
- 14:'1.99',
- 15:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 16:'8mm瓒呯櫧銆怢YTM-46銆戝钩閽�',
- 17:'0',
-
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/report/Yield.vue b/UI-Project/src/views/pp/report/Yield.vue
deleted file mode 100644
index 4952152..0000000
--- a/UI-Project/src/views/pp/report/Yield.vue
+++ /dev/null
@@ -1,257 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: '1', title: '宸ュ簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: '2', title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '3',title: '瀹㈡埛鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: '4', title: '鎴愬搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5',title: '瀹屽伐闈㈢Н', sortable: true,showOverflow:"ellipsis"},
- {field: '6',title: '娆$牬闈㈢Н', sortable: true},
- {field: '7', title: '鎬婚潰绉�', sortable: true},
- {field: '8', title: '鎴愬搧鐜�', sortable: true,},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- 1:'澶瑰眰',
- 2:'NG23103001',
- 3:'鎱曢潚鏂囧寲',
- 4:'10mmLYTM-140寮挗鍖�(澶�)+2.28PVB閫忔槑+10mm鐧界幓寮挗鍖�(鍐�)',
- 5:'256.67',
- 6:'7.94',
- 7:'264.61',
- 8:'97.0%',
-
- },
- {
- 1:'澶瑰眰',
- 2:'NG23103001',
- 3:'鎱曢潚鏂囧寲',
- 4:'10mmLYTM-140寮挗鍖�(澶�)+2.28PVB閫忔槑+10mm鐧界幓寮挗鍖�(鍐�)',
- 5:'256.67',
- 6:'7.94',
- 7:'264.61',
- 8:'97.0%',
-
- },
- {
- 1:'澶瑰眰',
- 2:'NG23103001',
- 3:'鎱曢潚鏂囧寲',
- 4:'10mmLYTM-140寮挗鍖�(澶�)+2.28PVB閫忔槑+10mm鐧界幓寮挗鍖�(鍐�)',
- 5:'256.67',
- 6:'7.94',
- 7:'264.61',
- 8:'97.0%',
-
- },
- {
- 1:'澶瑰眰',
- 2:'NG23103001',
- 3:'鎱曢潚鏂囧寲',
- 4:'10mmLYTM-140寮挗鍖�(澶�)+2.28PVB閫忔槑+10mm鐧界幓寮挗鍖�(鍐�)',
- 5:'256.67',
- 6:'7.94',
- 7:'264.61',
- 8:'97.0%',
-
- },
-
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['5','6','7']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-const value = ref('')
-const options = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- {
- value: 'Option3',
- label: 'Option3',
- },
-]
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-
-})
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <!-- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 150px"/>-->
- <!-- <el-input placeholder="椤圭洰鍚嶇О" v-model="form.name" style="width: 150px"/>-->
-
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- style="width: 100px"
- />
-
- <el-select v-model="value" class="m-2" placeholder="鏌ヨ绫诲瀷">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 60%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/AddReportingWork.vue b/UI-Project/src/views/pp/reportingWorks/AddReportingWork.vue
deleted file mode 100644
index f181f30..0000000
--- a/UI-Project/src/views/pp/reportingWorks/AddReportingWork.vue
+++ /dev/null
@@ -1,395 +0,0 @@
-<script setup>
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/processCard/PrintFlowCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-const form = reactive({
- lckh: 'NG23120801A01/1'
-})
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {field: 'serialNumber',width:90, title: '搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'singlePieceName',width:120, title: '鍗曠墖鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'marking',width:90, title: '鏍囪', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'pieces',width:100, title: '鐗囨爣璁�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'processCardNumber',width:110, title: '娴佺▼鍗℃暟閲�', sortable: true,showOverflow:"ellipsis"},
- {field: 'width',width:70, title: '瀹�', sortable: true},
- {field: 'height',width:70, title: '楂�', sortable: true},
- {field: 'shape',width:70, title: '褰㈢姸', sortable: true,showOverflow:"ellipsis"},
- {field: 'upCompletedQuantity',width:120, title: '涓婂伐瀹屽伐鏁伴噺', sortable: true},
- {field: 'completedQuantity',width:100, title: '瀹屽伐鏁伴噺', sortable: true},
- {field: 'numberBroken',width:100, title: '娆$牬鏁伴噺', sortable: true},
- {field: 'availableUse',width:80, title: '鍙埄鐢�', sortable: true},
- {field: 'returnProcess',width:100, title: '閫�鍥炲伐搴�', sortable: true},
- {field: 'reasonType',width:100, title: '娆$牬绫诲瀷', sortable: true},
- {field: 'reasonDamage',width:100, title: '娆$牬鍘熷洜', sortable: true},
- {field: 'responsibilityDevice',width:100, title: '璐d换璁惧', sortable: true},
- {field: 'responsibilityProcess',width:100, title: '璐d换宸ュ簭', sortable: true},
- {field: 'responsibilityTeams',width:100, title: '璐d换鐝粍', sortable: true},
- {field: 'responsibilityPersonnel',width:100, title: '璐d换浜哄憳', sortable: true},
- {field: 'completed', width:90,title: '宸插畬宸�', sortable: true},
- {field: 'onceBroken', width:90,title: '宸叉鐮�', sortable: true}
-
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- { code: 'empty', name: '娓呯┖鎶ュ伐鏁伴噺' },
- { code: 'sameCompletion', name: '瀹屽伐鐩稿悓' },
- { code: 'sameDamage', name: '娆$牬鐩稿悓' },
- { code: 'sameOneCompletion', name: '瀹屽伐涓�鍒楃浉鍚�' },
- { code: 'sameOneDamage', name: '娆$牬涓�鍒楃浉鍚�' },
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- {code: 'print_lck', name: '淇濆瓨骞跺鏍�',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '11',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(鍐�)',
- marking: '2',
- pieces: '(鍐�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '11',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'2',
- singlePieceName: '8mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '11',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'2',
- singlePieceName: '8mm鐧界幓骞抽挗(鍐�)',
- marking: '2',
- pieces: '(鍐�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '11',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['processCardNumber','upCompletedQuantity','completedQuantity','numberBroken','']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-</script>
-
-<template>
-<div>
- <div id="head">
- <el-input placeholder="娴佺▼鍗″彿" v-model="form.lckh" style="width: 200px"/>
-
-
- <select class="processesSt">
- <option>鎶ュ伐宸ュ簭</option>
- <option value="鍒囧壊">鍒囧壊</option>
- <option value="纾ㄨ竟">纾ㄨ竟</option>
- <option value="閽㈠寲">閽㈠寲</option>
- </select>
-
- <el-button type="primary">瀹℃牳閫氳繃</el-button>
- <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button>
-
- <label>娴佺▼鍗¢潰绉細xxx骞虫柟绫�</label>
- </div>
- <div>
- <table id="titleTable" style="border: 1px solid black;">
- <tr>
- <td>閿�鍞崟鍙�</td>
- <td>NG23120801</td>
- <td>鐢熶骇璁㈠崟鍙�</td>
- <td>NG23120801A</td>
- <td>瀹㈡埛缂栫爜</td>
- <td>123213</td>
- <td>瀹㈡埛鍚嶇О</td>
- <td>xxxx</td>
- <td>椤圭洰鍚嶇О</td>
- <td>xxxxxxx</td>
- </tr>
- <tr>
- <td>鎶ュ伐璁惧</td>
- <td>涓┖涓�绾�</td>
- <td>涓婂伐搴�</td>
- <td>閽㈠寲</td>
- <td>鍙姤宸ユ暟閲�</td>
- <td>12</td>
- <td>鏈伐搴忓畬宸�</td>
- <td>11</td>
- <td>鏈伐搴忔鐮�</td>
- <td>1</td>
- </tr>
- <tr>
- <td>鎶ュ伐鐝粍</td>
- <td>涓┖涓�鐝�</td>
- <td>鐝</td>
- <td>鏃╃彮</td>
- <td>涓嬪伐搴�</td>
- <td>鍖呰</td>
- <td>鎶ュ伐鏃堕棿</td>
- <td><input class="chaxun" id="bgsj" maxlength="255" type="datetime-local" name="bgsj"></td>
- <td>澶囨敞</td>
- <td>1</td>
- </tr>
- <tr>
- <td>鍗曠墖娆$牬</td>
- <td>
- <el-select v-model="value" placeholder="鍏佽" >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </td>
-
- <td></td>
- <td></td>
- <td></td>
-
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- </table>
- </div>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- min-height="100px"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- size="small"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鎺掔増</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-</div>
-</template>
-
-<style scoped>
-
-
-.processCard{
- width: 140px;
-}
-.processesSt{
- height: 33px;
- width: 80px;
- background-color: #409eff;
- color: white;
- border: none;
- border-radius: 5px;
-}
-#titleTable tr,#titleTable td{
- border: 1px solid #000;
-}
-#titleTable{
- border-collapse: collapse;
- text-align: center;
- width: 100%;
- height: 100%;
-}
-#titleTable td{
- width: 100px;
- height: 30px;
-}
-#titleTable td:nth-child(1){
- width: 100px;
- height: 30px;
-}
-#titleTable td:nth-child(2){
- width: 100px;
-}
-.chaxun{
- background-color:#D5EAFF;
- border: none;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/QualityInReviewDetail.vue b/UI-Project/src/views/pp/reportingWorks/QualityInReviewDetail.vue
deleted file mode 100644
index 16af99f..0000000
--- a/UI-Project/src/views/pp/reportingWorks/QualityInReviewDetail.vue
+++ /dev/null
@@ -1,274 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: 'serialNumber', width: 120, title: '搴忓彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'singlePieceName',width: 120, title: '鍗曠墖鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'marking', width: 130,title: '鏍囪', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'pieces',width: 120, title: '鐗囨爣璁�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'processCardNumber', width: 100,title: '娴佺▼鍗℃暟閲�', sortable: true,showOverflow:"ellipsis"},
- {field: 'width', width: 100,title: '瀹�', sortable: true},
- {field: 'height',width: 100, title: '楂�', sortable: true},
- {field: 'shape',width: 120, title: '褰㈢姸', sortable: true,showOverflow:"ellipsis"},
- {field: 'upCompletedQuantity', width: 120,title: '涓婂伐瀹屽伐鏁伴噺', sortable: true},
- {field: 'completedQuantity',width: 120, title: '瀹屽伐鏁伴噺', sortable: true},
- {field: 'numberBroken',width: 120, title: '娆$牬鏁伴噺', sortable: true},
- {field: 'availableUse',width: 120, title: '鍙埄鐢�', sortable: true},
- {field: 'returnProcess',width: 120, title: '閫�鍥炲伐搴�', sortable: true},
- {field: 'reasonType',width: 120, title: '娆$牬绫诲瀷', sortable: true},
- {field: 'reasonDamage',width: 120, title: '娆$牬鍘熷洜', sortable: true},
- {field: 'responsibilityDevice',width: 120, title: '璐d换璁惧', sortable: true},
- {field: 'responsibilityProcess',width: 120, title: '璐d换宸ュ簭', sortable: true},
- {field: 'responsibilityTeams',width: 120, title: '璐d换鐝粍', sortable: true},
- {field: 'responsibilityPersonnel',width: 120, title: '璐d换浜哄憳', sortable: true},
- {field: 'completed',width: 90, title: '宸插畬宸�', sortable: true},
- {field: 'onceBroken',width: 90, title: '宸叉鐮�', sortable: true},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '瀹℃牳閫氳繃',status:'primary' },
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(鍐�)',
- marking: '2',
- pieces: '(鍐�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'2',
- singlePieceName: '8mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- {
- serialNumber:'2',
- singlePieceName: '8mm鐧界幓骞抽挗(鍐�)',
- marking: '2',
- pieces: '(鍐�)',
- processCardNumber: '11',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- upCompletedQuantity: '12',
- completedQuantity: '1',
- numberBroken:'',
- availableUse:'',
- returnProcess:'',
-
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- completed:'',
- onceBroken:'',
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['processCardNumber','upCompletedQuantity','completedQuantity','numberBroken','completed','onceBroken']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/QualityInspectionReview.vue b/UI-Project/src/views/pp/reportingWorks/QualityInspectionReview.vue
deleted file mode 100644
index 51bcbe8..0000000
--- a/UI-Project/src/views/pp/reportingWorks/QualityInspectionReview.vue
+++ /dev/null
@@ -1,253 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/QualityInReviewDetail', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑瀹℃牳鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 120, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
-
- {field: 'reportingWorkNo',width: 120, title: '鎶ュ伐缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'reportingWorkTime',width: 120, title: '鎶ュ伐鏃堕棿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'entryName',width: 120, title: '椤圭洰鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'customerName',width: 120, title: '瀹㈡埛鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'thisProcess',width: 100, title: '鏈伐搴�', sortable: true,showOverflow:"ellipsis"},
- {field: 'teamName',width: 110, title: '鎶ュ伐鐝粍', sortable: true},
- {field: 'finishedNumber',width: 100, title: '瀹屽伐鏁伴噺', sortable: true},
- {field: 'wornNumber', width: 100,title: '娆$牬鏁伴噺', sortable: true},
- {field: 'responsibilityProcess',width: 100, title: '璐d换宸ュ簭', sortable: true},
- {field: 'previousProcess', width: 100,title: '涓婂伐搴�', sortable: true},
- {field: 'nextProcess',width: 100, title: '涓嬪伐搴�', sortable: true},
- {field: 'qualityInspector',width: 120, title: '璐ㄦ鍛�', sortable: true},
- {field: 'qualityState',width: 120, title: '璐ㄦ鐘舵��', sortable: true},
- {field: 'notes',width: 120, title: '澶囨敞', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- reportingWorkNo: 'BG2312070001',
- reportingWorkTime: '2023-12-01 08:01:22',
- processCard: 'NG231207A01',
- entryName: '淇″悎鏄ュぉ閲�',
- customerName: 'XXXX',
- thisProcess: '涓┖',
- teamName:"涓┖涓�鐝�",
- finishedNumber: '11',
- wornNumber: '1',
- responsibilityProcess: '閽㈠寲',
- previousProcess:'閽㈠寲',
- nextProcess:'鍖呰',
- qualityInspector: 'XXX',
- qualityState: '1',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- reportingWorkNo: 'BG2312070002',
- reportingWorkTime: '2023-12-01 08:01:22',
- processCard: 'NG231207A01',
- entryName: '淇″悎鏄ュぉ閲�',
- customerName: 'XXXX',
- thisProcess: '涓┖',
- teamName:"涓┖涓�鐝�",
- finishedNumber: '11',
- wornNumber: '1',
- responsibilityProcess: '閽㈠寲',
- previousProcess:'閽㈠寲',
- nextProcess:'鍖呰',
- qualityInspector: 'XXX',
- qualityState: '1',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- reportingWorkNo: 'BG2312070003',
- reportingWorkTime: '2023-12-01 08:01:22',
- processCard: 'NG231207A01',
- entryName: '淇″悎鏄ュぉ閲�',
- customerName: 'XXXX',
- thisProcess: '涓┖',
- teamName:"涓┖涓�鐝�",
- finishedNumber: '11',
- wornNumber: '1',
- responsibilityProcess: '閽㈠寲',
- previousProcess:'閽㈠寲',
- nextProcess:'鍖呰',
- qualityInspector: 'XXX',
- qualityState: '1',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- reportingWorkNo: 'BG2312070004',
- reportingWorkTime: '2023-12-01 08:01:22',
- processCard: 'NG231207A01',
- entryName: '淇″悎鏄ュぉ閲�',
- customerName: 'XXXX',
- thisProcess: '涓┖',
- teamName:"涓┖涓�鐝�",
- finishedNumber: '11',
- wornNumber: '1',
- responsibilityProcess: '閽㈠寲',
- previousProcess:'閽㈠寲',
- nextProcess:'鍖呰',
- qualityInspector: 'XXX',
- qualityState: '1',
- notes: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
-
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','wornNumber']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div style="width: 600px">
- <el-row :gutter="0">
- <!-- <el-input placeholder="娴佺▼鍗″彿" v-model="form.name" style="width: 200px"/>-->
- <!-- -->
-<!-- <select class="processesSt">-->
-<!-- <option value="鏈鏍�">鏈鏍�</option>-->
-<!-- <option value="宸插鏍�">宸插鏍�</option>-->
-<!-- </select>-->
-
- <el-date-picker
- v-model="value"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
-
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/ReportingWorkDetail.vue b/UI-Project/src/views/pp/reportingWorks/ReportingWorkDetail.vue
deleted file mode 100644
index b23fd28..0000000
--- a/UI-Project/src/views/pp/reportingWorks/ReportingWorkDetail.vue
+++ /dev/null
@@ -1,164 +0,0 @@
-<script lang="ts" setup>
-import { reactive } from 'vue'
-import {ArrowLeftBold} from "@element-plus/icons-vue";
-import {useRouter} from "vue-router";
-const router = useRouter()
-let flag = $ref(true)
-function intoCreateProduct(){
- if(flag){
- router.push('/main/reportingWorks/SelectReportingWorks')
- }else {
- router.push('/main/reportingWorks/SelectReportingWorks')
- }
- flag=!flag
-}
-// do not use same name with ref
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const tableData = [
-
- {
- serialNumber:'1',
- reportingWorkNo: 'BG23100112',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- floorNumber: '3#1灞�-4鎵嘙LC2025-10',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- finishedNumber: '11',
- wornNumber: '1',
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- qualityInspectionStatus:'',
- patchStatus:''
- },
- {
- serialNumber:'1',
- reportingWorkNo: 'BG23100112',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '2',
- pieces: '(鍐�)',
- floorNumber: '3#1灞�-4鎵嘙LC2025-10',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- finishedNumber: '11',
- wornNumber: '1',
- reasonType: '鏈哄櫒',
- reasonDamage:'姘旀场瓒呮爣',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'涓┖',
- responsibilityTeams:'涓┖涓�鐝�',
- responsibilityPersonnel:'',
- responsibilityDevice:'涓┖3#绾�',
- qualityInspectionStatus:'',
- patchStatus:''
- },
- {
- serialNumber:'2',
- reportingWorkNo: 'BG23100112',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- floorNumber: '3#1灞�-4鎵嘙LC2025-10',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- finishedNumber: '6',
- wornNumber: '',
- reasonType: '',
- reasonDamage:'',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'',
- responsibilityTeams:'',
- responsibilityPersonnel:'',
- responsibilityDevice:'',
- qualityInspectionStatus:'',
- patchStatus:''
- },
- {
- serialNumber:'2',
- reportingWorkNo: 'BG23100112',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '2',
- pieces: '(鍐�)',
- floorNumber: '3#1灞�-4鎵嘙LC2025-10',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- finishedNumber: '6',
- wornNumber: '',
- reasonType: '',
- reasonDamage:'',
- available:'',
- reworkProcess:'',
- responsibilityProcess:'',
- responsibilityTeams:'',
- responsibilityPersonnel:'',
- responsibilityDevice:'',
- qualityInspectionStatus:'',
- patchStatus:''
- },
-]
-</script>
-
-<template>
- <div>
-<!-- <el-button-->
-<!-- style="float: left"-->
-<!-- @click="intoCreateProduct"-->
-<!-- id="searchButton1"-->
-<!-- type="primary"-->
-<!-- :icon="ArrowLeftBold"-->
-<!-- round >-->
-<!-- {{flag?'杩斿洖':'杩斿洖'}}-->
-<!-- </el-button>-->
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column prop="serialNumber" label="搴忓彿" width="70" />
- <el-table-column sortable prop="reportingWorkNo" label="鎶ュ伐缂栧彿" width="120" />
- <el-table-column prop="singlePieceName" label="鍗曠墖鍚嶇О" width="150" />
- <el-table-column prop="marking" label="鏍囪" width="60" />
- <el-table-column prop="pieces" label="鐗囨爣璁�" width="70" />
- <el-table-column prop="floorNumber" label="妤煎眰缂栧彿" width="200" />
- <el-table-column prop="width" label="瀹�" width="80" />
- <el-table-column prop="height" label="楂�" width="155" />
- <el-table-column prop="shape" label="褰㈢姸" :show-overflow-tooltip='true' width="180" />
- <el-table-column prop="finishedNumber" label="瀹屽伐鏁伴噺" width="90" />
- <el-table-column prop="wornNumber" label="娆$牬鏁伴噺" width="100" />
- <el-table-column prop="reasonType" label="娆$牬绫诲瀷" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="reasonDamage" label="娆$牬鍘熷洜" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="available" label="鍙埄鐢�" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="reworkProcess" label="杩斿伐宸ュ簭" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="responsibilityProcess" label="璐d换宸ュ簭" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="responsibilityTeams" label="璐d换鐝粍" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="responsibilityPersonnel" label="璐d换浜哄憳" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="responsibilityDevice" label="璐d换璁惧" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="qualityInspectionStatus" label="璐ㄦ鐘舵��" :show-overflow-tooltip='true' width="125" />
- <el-table-column prop="patchStatus" label="琛ョ墖鐘舵��" :show-overflow-tooltip='true' width="125" />
-
- </el-table><!-- <h1>{{msg}}</h1> -->
- </div>
-</template>
-
-<style scoped>
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/ReportingWorks.vue b/UI-Project/src/views/pp/reportingWorks/ReportingWorks.vue
deleted file mode 100644
index 78ed72d..0000000
--- a/UI-Project/src/views/pp/reportingWorks/ReportingWorks.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/reportingWorks/SelectReportingWorks' }">鎶ュ伐绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/reportingWorks/AddReportingWork' }">鎶ュ伐鏂板</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/reportingWorks/QualityInspectionReview' }">璐ㄦ瀹℃牳</el-breadcrumb-item>
- <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
- margin-top: 1%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/reportingWorks/SelectReportingWorks.vue b/UI-Project/src/views/pp/reportingWorks/SelectReportingWorks.vue
deleted file mode 100644
index 3d58161..0000000
--- a/UI-Project/src/views/pp/reportingWorks/SelectReportingWorks.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/reportingWorks/AddReportingWork', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: 'reportingWorkNo', width: 120, title: '鎶ュ伐缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'reportingWorkTime',width: 120, title: '鎶ュ伐鏃堕棿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'processCard', width: 130,title: '娴佺▼鍗″彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'entryName',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'batch', width: 100,title: '鎵规', sortable: true,showOverflow:"ellipsis"},
- {field: 'device', width: 100,title: '璁惧', sortable: true},
- {field: 'thisProcess',width: 100, title: '鏈伐搴�', sortable: true},
- {field: 'finishedNumber',width: 120, title: '鏈伐搴忓畬宸�', sortable: true,showOverflow:"ellipsis"},
- {field: 'finishedArea', width: 120,title: '瀹屽伐闈㈢Н', sortable: true},
- {field: 'wornNumber',width: 120, title: '鏈伐搴忔鐮�', sortable: true},
- {field: 'wornArea',width: 120, title: '娆$牬闈㈢Н', sortable: true},
- {field: 'teamName',width: 120, title: '鐝粍鍚嶇О', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- reportingWorkNo: 'BG2312080011',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '鍥涙壒浜�',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- {
- reportingWorkNo: 'BG2312080013',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '涓�鎵逛簩',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- {
- reportingWorkNo: 'BG2311080025',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '涓�鎵逛簩',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- {
- reportingWorkNo: 'BG2303080025',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '涓�鎵逛簩',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- {
- reportingWorkNo: 'BG2312080001',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '涓�鎵逛簩',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- {
- reportingWorkNo: 'BG2312080015',
- reportingWorkTime: '2023-12-08 09:05:58',
- processCard: 'NG23120801A01',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '涓�鎵逛簩',
- device:'澶ф捣鍒╁畞',
- thisProcess: '鍒囧壊',
- finishedNumber: '13',
- finishedArea: '44.22',
- wornNumber: '',
- wornArea: '',
- teamName:'鍒囧壊涓�鐝�'
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
- />
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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,'setType')" link type="primary" size="small">鍙嶅</el-button>
- <el-button @click="getTableRow(row,'delete')" 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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-#selectForm {
- width: 40%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/rework/AddRework.vue b/UI-Project/src/views/pp/rework/AddRework.vue
deleted file mode 100644
index 9dc6fe7..0000000
--- a/UI-Project/src/views/pp/rework/AddRework.vue
+++ /dev/null
@@ -1,213 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- //router.push({path: '/main/processCard/AddProcessCard', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {title: '鎿嶄綔', width: 70, slots: { default: 'button_slot' },fixed:"left"},
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
-
- {field: 'reworkTeams',width: 90, title: '杩斿伐鐝粍', editRender: { name: 'input', attrs: { placeholder: '' } }},
- {field: 'salesOrderNo',width: 120, title: '閿�鍞崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'processCardNo',width: 120, title: '娴佺▼鍗″彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'entryName', width: 120,title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'batch',width: 80, title: '鎵规', sortable: true,showOverflow:"ellipsis"},
- {field: 'serialNumber',width: 80, title: '搴忓彿', sortable: true},
- {field: 'singlePieceName',width: 120, title: '鍗曠墖鍚嶇О', sortable: true},
- {field: 'marking',width: 80, title: '鏍囪', sortable: true,showOverflow:"ellipsis"},
- {field: 'pieces',width: 90, title: '鐗囨爣璁�', sortable: true},
- {field: 'number',width: 80, title: '鏁伴噺', sortable: true},
- {field: 'width',width: 80, title: '瀹�', sortable: true},
- {field: 'height',width: 80, title: '楂�', sortable: true},
- {field: 'shape',width: 80, title: '褰㈢姸', sortable: true},
- {field: 'type',width: 100, title: '杩斿伐宸ュ簭', sortable: true},
- {field: 'type',width: 100, title: '杩斿伐绫诲瀷', sortable: true},
- {field: 'damage',width: 120, title: '杩斿伐鍘熷洜', sortable: true},
- {field: 'device',width: 120, title: '璐d换璁惧', sortable: true},
- {field: 'teams',width: 120, title: '璐d换鐝粍', sortable: true},
- {field: 'area',width: 120, title: '杩斿伐闈㈢Н', sortable: true},
- {field: 'qualityInspector',width: 100, title: '璐ㄦ鍛�', sortable: true}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- // name:'淇濆瓨'
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
-
- reworkNumber:'FG20202020',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- batch:'浜屾壒涓�',
- serialNumber:'1',
- area:'23.11',
- qualityInspector:"寮犱笁",
- number:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- type: '鏈哄櫒',
- damage:'姘旀场瓒呮爣',
- device:'XXX',
- reworkProcess:'鍒囧壊',
- },
- {
-
- reworkNumber:'FG20203333',
- salesOrderNo:'NG23010101',
- processCardNo:'NG23010101A01',
- entryName:'xxxx',
- batch:'浜屾壒涓�',
- serialNumber:'1',
- area:'23.11',
- qualityInspector:"寮犱笁",
- number:'1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- width: '575',
- height:"2241",
- shape: '鏅舰',
- type: '鏈哄櫒',
- damage:'姘旀场瓒呮爣',
- reworkProcess:'纾ㄨ竟',
- device:'XXX'
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['total','TotalArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
-
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/rework/Rework.vue b/UI-Project/src/views/pp/rework/Rework.vue
deleted file mode 100644
index 1a1bea4..0000000
--- a/UI-Project/src/views/pp/rework/Rework.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/rework/SelectRework' }">杩斿伐绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/rework/AddRework' }">杩斿伐鏂板</el-breadcrumb-item>
- <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 100%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 95%;
- /*margin-top: 1%;*/
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/rework/SelectRework.vue b/UI-Project/src/views/pp/rework/SelectRework.vue
deleted file mode 100644
index f2a2195..0000000
--- a/UI-Project/src/views/pp/rework/SelectRework.vue
+++ /dev/null
@@ -1,436 +0,0 @@
-<script setup>
-
-import {reactive, ref} from "vue";
-import {useRouter} from 'vue-router'
-import request from "@/utils/request";
-import {ElMessage} from "element-plus";
-
-let router = useRouter()
-const dateValue = ref("");//鏌ヨ鏃ユ湡
-const dialogFormVisible = ref(false)
-const formLabelWidth = '140px'
-
-const form = reactive({
- name: 'FG20202020',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- console.log(type)
-
- // router.push({path: '/main/Rework/SelectRework', query: { id: row.id }})
- break
- }
- case 'delete': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- case 'setType': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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', fixed: "left", slots: {content: 'content'}, width: 50},
- {title: '鎿嶄綔', width: 110, slots: {default: 'button_slot'}, fixed: "left"},
- {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
- {
- field: 'reworkNumber',
- width: 120,
- title: '杩斿伐缂栧彿',
- filters: [{data: ''}],/*slots: { filter: 'num1_filter' } ,*/
- },
- {
- field: 'salesOrderNo',
- width: 120,
- title: '閿�鍞崟鍙�',
- showOverflow: "ellipsis",
- filters: [{data: ''}],
- slots: {filter: 'num1_filter'}
- },
- {field: 'processCardNo', width: 120, title: '娴佺▼鍗″彿', filters: [{data: ''}], slots: {filter: 'num1_filter'}},
- {field: 'entryName', width: 120, title: '椤圭洰鍚嶇О', filters: [{data: ''}], slots: {filter: 'num1_filter'}},
- {field: 'batch', width: 80, title: '鎵规', showOverflow: "ellipsis"},
- {field: 'serialNumber', width: 80, title: '搴忓彿'},
- {field: 'singlePieceName', width: 120, title: '鍗曠墖鍚嶇О'},
- {field: 'marking', width: 80, title: '鏍囪', showOverflow: "ellipsis"},
- {field: 'pieces', width: 90, title: '鐗囨爣璁�'},
- {field: 'number', width: 80, title: '鏁伴噺'},
- {field: 'width', width: 80, title: '瀹�'},
- {field: 'height', width: 80, title: '楂�'},
- {field: 'shape', width: 80, title: '褰㈢姸'},
- {field: 'type', width: 100, title: '杩斿伐绫诲瀷'},
- {field: 'damage', width: 120, title: '杩斿伐鍘熷洜'},
- {field: 'device', width: 120, title: '璐d换璁惧'},
- {field: 'teams', width: 120, title: '璐d换鐝粍'},
- {field: 'area', width: 120, title: '杩斿伐闈㈢Н'},
- {field: 'reworkProcess', width: 120, title: '杩斿伐宸ュ簭'},
- {field: 'reworkTeams', width: 120, title: '杩斿伐鐝粍'},
- {field: 'qualityInspector', width: 100, title: '璐ㄦ鍛�'}
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
-
- reworkNumber: 'FG20202020',
- salesOrderNo: 'NG23010101',
- processCardNo: 'NG23010101A01',
- entryName: 'xxxx',
- batch: '浜屾壒涓�',
- serialNumber: '1',
- area: '23.11',
- qualityInspector: "寮犱笁",
- number: '1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- width: '575',
- height: "2241",
- shape: '鏅舰',
- reworkTeams: 'XX浜岀彮',
- type: '鏈哄櫒',
- damage: '姘旀场瓒呮爣',
- reworkProcess: 'XXXX',
- device: 'XXX'
- },
- {
-
- reworkNumber: 'FG20203333',
- salesOrderNo: 'NG23010101',
- processCardNo: 'NG23010101A01',
- entryName: 'xxxx',
- batch: '浜屾壒涓�',
- serialNumber: '1',
- area: '23.11',
- qualityInspector: "寮犱笁",
- number: '1',
- singlePieceName: '6mm鐧界幓骞抽挗(澶�)',
- marking: '1',
- pieces: '(澶�)',
- width: '575',
- height: "2241",
- shape: '鏅舰',
- reworkTeams: 'XX浜岀彮',
- type: '鏈哄櫒',
- damage: '姘旀场瓒呮爣',
- reworkProcess: 'XXXX',
- device: 'XXX'
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod({columns, data}) {//椤佃剼鍑芥暟
- let footList = ['number', 'area']
- return [
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }, mergeFooterItems: [
- {row: 0, col: 0, rowspan: 1, colspan: 2}
- ],//鍚堝苟鑴�
-
-})
-
-
-/*鏌ヨ*/
-const queryData=()=>{
-
-/* if(dateValue.value===""){
- MessageShow("鏈�夋嫨鏃堕棿锛岃閫夋嫨鏃堕棿鍚庡啀娆¤繘琛屾煡璇�","warning");
- return;
- }*/
-
-
- /*else{
-
- MessageShow(dateValue);
- }
-
-
- console.log(filterData.value);*/
- //MessageShow(`/Rework/1/100/`+dateValue.value[0]+"/"+dateValue.value[1]+"\r\n"+filterData.value);
- /*console.log(`/Rework/1/100/`+dateValue.value);
- debugger*/
- request.post(`/rework/query/1/100/${dateValue.value[0]}/${dateValue.value[1]}`).then((res) => {
-
-
- console.log(res);
- MessageShow(res);
- if(res.code===200){
- pageTotal.value=res.data.total
- xGrid.value.loadData(res.data.data)
-
-
-
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })
-
-}
-
-//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
-let filterData = ref({
-
-})
-
-//瀹氫箟椤甸潰鎬婚〉鏁�
-let pageTotal=ref('')
-//瀹氫箟鏁版嵁杩斿洖缁撴灉
-let produceList = ref([])
-//瀹氫箟褰撳墠椤垫暟
-let pageNum=$ref(1)
-let pageState = null
-
-//瀹氫箟婊氬姩鏉¢珮搴�
-let scrollTop =ref(null)
-let scrollHeight =ref(null)
-let clientHeight =ref(null)
-const scrollEvnt = (row) => {
- // 鍐呭楂樺害
- scrollTop.value = row.$event.target.scrollTop
- scrollHeight.value = row.$event.target.scrollHeight
- clientHeight.value = row.$event.target.clientHeight
-}
-
-/*鏃堕棿妗嗗揩閫熼�夋嫨*/
-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]
- },
- },
-]
-
-const MessageShow = (content, type = 'success') => {
- ElMessage({
- message: content,
- type: type,
- showClose: true,
- })
-}
-
-
-/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-function filterChanged(column){
- /*gridOptions.loading=true
- //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
- let value = column.datas[0]!=undefined?column.datas[0]:''
- value = value.trim()
- //鍒ゆ柇鏄惁瀛樺湪澶栭敭
- if (column.property.indexOf('.')>-1){
- const columnArr = column.property.split('.')
- filterData.value[columnArr[0]] = {
- [columnArr[1]]:value
- }
- }else{
- filterData.value[column.property] = value
- }
-request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => {
- if(res.code==200){
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })*/
-}
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <el-header height="auto" style="padding: 0;margin:0">
- <el-row :gutter="0" 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"
- width:99%
- />
- </el-col>
-
- <el-col :span="2">
- <el-button type="primary" @click="queryData()">鏌ヨ</el-button>
- </el-col>
- </el-row>
- </el-header>
-
-
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- @scroll ="scrollEvnt"
-
- >
- <!-- @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="dialogFormVisible = true" link type="primary" size="small">缂栬緫</el-button>
- <el-button @click="getTableRow(row,'setType')" 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-dialog v-model="dialogFormVisible" title="杩斿伐缂栬緫">
- <el-form :model="form">
- <el-form-item label="杩斿伐缂栧彿" :label-width="formLabelWidth">
- <el-input v-model="form.name" disabled autocomplete="off" style="width: 200px"/>
- </el-form-item>
- <el-form-item label="杩斿伐鐝粍" :label-width="formLabelWidth">
- <el-select v-model="form.region" placeholder="鐝粍涓�" style="width: 200px">
- <el-option label="鐝粍涓�" value="shanghai"/>
- <el-option label="鐝粍浜�" value="beijing"/>
- </el-select>
- </el-form-item>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
- <el-button type="primary" @click="dialogFormVisible = false">
- 纭
- </el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-
-</template>
-
-<style scoped>
-.main-div-customer {
- width: 99%;
- height: 98%;
-}
-
-:deep(.el-col div) {
- font-weight: bold;
- width: 99%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/workOrder/AddWorkOrder.vue b/UI-Project/src/views/pp/workOrder/AddWorkOrder.vue
deleted file mode 100644
index d6a2423..0000000
--- a/UI-Project/src/views/pp/workOrder/AddWorkOrder.vue
+++ /dev/null
@@ -1,166 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/workOrder/addWorkOrder', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
- { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
- {field: 'salesOrderNo', title: '閿�鍞崟鍙�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
- {field: 'productID', title: '浜у搧缂栧彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'productName', title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'total', title: '鎬绘暟閲�', sortable: true},
- {field: 'totalArea', title: '鎬婚潰绉�', sortable: true},
- {field: 'perimeter', title: '鍛ㄩ暱', sortable: true,showOverflow:"ellipsis"},
- ],//琛ㄥご鎸夐挳
-
- toolbarConfig: {
- buttons: [
- {code: 'print_lck', name: '淇濆瓨',status:'primary' ,icon:'vxe-icon-save'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- salesOrderNo: 'NG231201',
- productID: '9001010208000021',
- productName: '6mm瓒呯櫧UD60骞抽挗(澶�)+12A(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- total:"123",
- totalArea:"1233.12",
- perimeter:"133"
- },
- {
- salesOrderNo: 'NG231201',
- productID: '9001010203000008',
- productName: '6mm瓒呯櫧LYDE-80骞抽挗(澶�)+12Ar(缁�)+6mm瓒呯櫧骞抽挗(鍐�)',
- total:"123",
- totalArea:"1233.12",
- perimeter:"133"
- },
- ],//table body瀹為檯鏁版嵁
- //鑴氶儴姹傚拰
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- let footList=['total','totalArea']
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/workOrder/ReleaseWorkOrder.vue b/UI-Project/src/views/pp/workOrder/ReleaseWorkOrder.vue
deleted file mode 100644
index aa83e63..0000000
--- a/UI-Project/src/views/pp/workOrder/ReleaseWorkOrder.vue
+++ /dev/null
@@ -1,146 +0,0 @@
-<script lang="ts" setup>
-import { reactive } from 'vue'
-
-// do not use same name with ref
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const tableData = [
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
- {
- salesOrderNo: 'NG231201',
- productionOrderNo: 'NG231201A',
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- productName: '5mm鐧界幓骞抽挗(澶�)+0.76PVB閫忔槑+5mm鐧界幓骞抽挗(鍐�)',
- monolithicTotalArea: '509.78',
- total: '169',
- productTotalArea: '175.31',
- perimeter: '99.84',
- radius: '0',
- createTime: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- },
-]
-</script>
-
-<template>
- <div>
- <div id="selectForm">
- <el-row :gutter="0">
- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 200px"/>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
-
- </div>
- <div>
-
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column fixed label="鎿嶄綔" width="100" >
- <el-button link type="primary" size="small">涓嬭揪</el-button>
- <el-button link type="primary" size="small">鍙栨秷</el-button>
- </el-table-column>
- <el-table-column sortable prop="salesOrderNo" label="閿�鍞崟鍙�" width="110" />
- <el-table-column prop="productionOrderNo" label="鐢熶骇璁㈠崟鍙�" :show-overflow-tooltip='true' width="110" />
- <el-table-column prop="entryName" label="椤圭洰鍚嶇О" width="155" />
- <el-table-column prop="batch" label="鎵规" width="80" />
- <el-table-column prop="productName" label="浜у搧鍚嶇О" :show-overflow-tooltip='true' width="180" />
- <el-table-column prop="monolithicTotalArea" label="鍗曠墖鎬婚潰绉�" width="100" />
- <el-table-column prop="total" label="鎬绘暟閲�" width="75" />
- <el-table-column prop="productTotalArea" label="鎴愬搧鎬婚潰绉�" width="100" />
- <el-table-column prop="perimeter" label="鍛ㄩ暱" width="100" />
- <el-table-column prop="radius" label="鍗婂緞" width="70" />
- <el-table-column prop="createTime" label="鍔犲伐瑕佹眰" :show-overflow-tooltip='true' width="350" />
- </el-table><!-- <h1>{{msg}}</h1> -->
- </div>
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/workOrder/SelectAddWorkOrder.vue b/UI-Project/src/views/pp/workOrder/SelectAddWorkOrder.vue
deleted file mode 100644
index 50318fa..0000000
--- a/UI-Project/src/views/pp/workOrder/SelectAddWorkOrder.vue
+++ /dev/null
@@ -1,136 +0,0 @@
- <script lang="ts" setup>
-import { reactive } from 'vue'
-
-// do not use same name with ref
-const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
-})
-const tableData = [
- {
- salesOrderNo: 'NG231201',
- customerName:"鎱曞鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231202',
- customerName:"澶ц崚寤烘潗鏈夐檺鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231203',
- customerName:"寤虹瓚宸ョ▼闆嗗洟鏈夐檺鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231204',
- customerName:"鎱曞鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231205',
- customerName:"鎱曞鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231206',
- customerName:"鎱曞鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
- {
- salesOrderNo: 'NG231207',
- customerName:"鎱曞鍏徃",
- entryName: '淇″悎鏄ュぉ閲�',
- batch: '23鎵�',
- originalFilmRequired: '2022/5/24XFPO202205202',
- orderType: '鏅�氳鍗�',
- salesman: 'XXX',
- processRequirements: '1)鎸変紒鏍�2)姣忕墖鐜荤拑鏍囩璐村澶栭潰銆傚唴鐗囩幓鐠冩墦鈥�3C鍟嗘爣鈥濓紝缁熶竴鎵撳湪鐜荤拑鈥滃搴︹�濇柟鍚戝彸涓嬭4)鎸夋壒娆″崟鐙惤鏋躲��',
- shipTo:'宸ュ湴',
-
- },
-]
-</script>
-
-<template>
- <div>
- <div id="selectForm">
- <el-row :gutter="0">
- <el-input placeholder="閿�鍞崟鍙�" v-model="form.name" style="width: 200px"/>
-
- <el-button type="primary">鏌ヨ</el-button>
- </el-row>
-
-
- </div>
- <div>
- <el-table :data="tableData" border style="width: 100%" height="100%">
- <el-table-column sortable prop="salesOrderNo" label="閿�鍞崟鍙�" width="110" >
- <template v-slot="scope">
- <router-link :to="{path:'addWorkOrder'}" >{{scope.row.salesOrderNo}}</router-link>
- </template>
- </el-table-column>
- <el-table-column prop="customerName" label="瀹㈡埛鍚嶇О" :show-overflow-tooltip='true' width="110" />
- <el-table-column prop="entryName" label="椤圭洰鍚嶇О" width="135" />
- <el-table-column prop="batch" label="鎵规" width="80" />
- <el-table-column prop="originalFilmRequired" :show-overflow-tooltip='true' label="鍘熺墖瑕佹眰" width="200" />
- <el-table-column prop="orderType" label="璁㈠崟绫诲瀷" width="100" />
- <el-table-column prop="salesman" label="涓氬姟鍛�" width="75" />
- <el-table-column prop="processRequirements" :show-overflow-tooltip='true' label="鍔犲伐瑕佹眰" width="400" />
- <el-table-column prop="shipTo" label="閫佽揣鍦板潃" width="100" />
- </el-table><!-- <h1>{{msg}}</h1> -->
- </div>
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/workOrder/SelectWorkOrder.vue b/UI-Project/src/views/pp/workOrder/SelectWorkOrder.vue
deleted file mode 100644
index 6bd8678..0000000
--- a/UI-Project/src/views/pp/workOrder/SelectWorkOrder.vue
+++ /dev/null
@@ -1,366 +0,0 @@
-<script setup>
-import request from "@/utils/request"
-import deepClone from "@/utils/deepClone"
-import {ElDatePicker, ElMessage} from "element-plus"
-import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
-import {Search} from "@element-plus/icons-vue"
-import GlassType from "@/components/sd/product/GlassType.vue"
-import {useRouter} from 'vue-router'
-import Sortable from 'sortablejs'
-import BasicTable from '@/components/basic/BasicTable.vue'
-import {VXETable} from "vxe-table";
-
-
-let productGlassTypeStore = useProductGlassTypeStore()
-let router = useRouter()
-const getTableRow = (row, type) => {
- switch (type) {
- case 'edit' : {
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/workOrder/addWorkOrder', query: {id: row.id}})
- break
- }
- case 'delete': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-function padLeftZero(str) {
- return ('00' + str).substr(str.length)
-}
-
-//瀹氫箟鏃堕棿
-const form = reactive({
- date1: '',
-})
-
-
-//瀹氫箟杞崟鐘舵��
-const optionVal = ref('0')
-const options = [
- {
- value: '0',
- label: '宸茶浆',
- },
- {
- value: '1',
- label: '鏈浆',
- },
-]
-
-
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
-}
-
-//瀹氫箟婊氬姩鏉¢珮搴�
-let scrollTop = ref(null)
-let scrollHeight = ref(null)
-let clientHeight = ref(null)
-const scrollEvnt = (row) => {
- // 鍐呭楂樺害
- scrollTop.value = row.$event.target.scrollTop
- scrollHeight.value = row.$event.target.scrollHeight
- clientHeight.value = row.$event.target.clientHeight
-}
-//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
-let filterData = ref({
- order: {
- batch: ''
- },
- orderDetail: {
- productName: '',
- computeArea: '',
- quantity: '',
- computeGrossArea: '',
- perimeter: '',
- bendRadius: '',
- processingNote: ''
- }
-
-})
-//瀹氫箟椤甸潰鎬婚〉鏁�
-let pageTotal = ref('')
-//瀹氫箟鏁版嵁杩斿洖缁撴灉
-let produceList = ref([])
-//瀹氫箟褰撳墠椤垫暟
-let pageNum = $ref(1)
-let pageState = null
-
-//鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿
-function getNowTime() {
- const start = new Date(new Date().getTime()- 3600 * 1000 * 24 * 7)
- .toISOString()
- .replace('T', ' ')
- .slice(0,10) //榛樿寮�濮嬫椂闂�7澶╁墠
- const end = new Date(new Date().getTime())
- .toISOString()
- .replace('T', ' ')
- .slice(0,10)//榛樿缁撴潫鏃堕棿褰撳墠鏃堕棿
- return [start, end]
-}
-
-
-//绗竴娆″姞杞借幏鍙栬繎涓冨ぉ鏃堕棿鍜岄粯璁ょ姸鎬�
-form.date1=getNowTime()
-let startTime = form.date1[0]
-let endTime = form.date1[1]
-let state = optionVal.value
-
-//绗竴娆″姞杞芥暟鎹�
-
-request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${state}`, filterData.value).then((res) => {
-
- if (res.code == 200) {
- console.log(res.data.data)
- pageTotal.value = res.data.total
- produceList = produceList.value.concat(deepClone(res.data.data))
- xGrid.value.reloadData(produceList)
- gridOptions.loading = false
- } else {
- ElMessage.warning(res.msg)
- }
-})
-
-//鐐瑰嚮鏌ヨ
-const getWorkOrder = () => {
-
- let startTime = form.date1[0]
- let endTime = form.date1[1]
- let selectState=optionVal.value
- request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${selectState}`, filterData.value).then((res) => {
- if (res.code == 200) {
-
- pageTotal.value = res.data.total
- xGrid.value.loadData(res.data.data)
- gridOptions.loading = false
- } else {
- ElMessage.warning(res.msg)
- }
- })
-}
-
-/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-
-function filterChanged(column) {
- gridOptions.loading = true
- //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
- let value = column.datas[0] != undefined ? column.datas[0] : ''
- value = value.trim()
- //鍒ゆ柇鏄惁瀛樺湪澶栭敭
- if (column.property.indexOf('.') > -1) {
- const columnArr = column.property.split('.')
- filterData.value[columnArr[0]] = {
- [columnArr[1]]: value
- }
- } else {
- filterData.value[column.property] = value
- }
-
-//鑾峰彇閫変腑鏃堕棿鍜屾槸鍚﹁浆鍗曠姸鎬�
- let startTime = form.date1[0]
- let endTime = form.date1[1]
- let selectState=optionVal.value
-
- request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${selectState}`, filterData.value).then((res) => {
- if(res.code==200){
- pageTotal.value=res.data.total
-
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })
-}
-
-/*鍚庣杩斿洖缁撴灉澶氬眰宓屽灞曠ず*/
-const hasDecimal = (value) => {
- const regex = /\./; // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
- return regex.test(value); // 杩斿洖true/false
-}
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-const xGrid = ref()
-const gridOptions = reactive({
- loading: true,
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe: true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true, height: 60, useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'demo_1',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollX: {enabled: true},
- scrollY: {enabled: true, gt: 0},//寮�鍚櫄鎷熸粴鍔�
- showOverflow: true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },//琛ㄥご鍙傛暟
- columns: [
- {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
- {title: '鎿嶄綔', width: 110, slots: {default: 'button_slot'}, fixed: "left"},
- {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
- {field: 'orderId', title: '閿�鍞崟鍙�', filters: [{data: ''}], slots: {filter: 'num1_filter'},},
- {
- field: 'productionId',
- title: '鐢熶骇璁㈠崟鍙�',
- showOverflow: "ellipsis",
- filters: [{data: ''}],
- slots: {filter: 'num1_filter'}
- },
- {field: 'order.batch', title: '鎵规', filters: [{data: ''}], slots: {filter: 'num1_filter'}},
- {field: 'orderDetail.productName', title: '浜у搧鍚嶇О', filters: [{data: ''}], slots: {filter: 'num1_filter'},},
- {field: 'orderDetail.computeArea', title: '鍗曠墖鎬婚潰绉�', showOverflow: "ellipsis"},
- {field: 'orderDetail.quantity', title: '鎬绘暟閲�',},
- {field: 'orderDetail.computeGrossArea', title: '鎴愬搧鎬婚潰绉�',},
- {field: 'orderDetail.perimeter', title: '鍛ㄩ暱', showOverflow: "ellipsis"},
- {field: 'orderDetail.bendRadius', title: '鍗婂緞',},
- {field: 'orderDetail.processingNote', title: '鍔犲伐瑕佹眰',}
- ],//琛ㄥご鎸夐挳
- data: null,//琛ㄦ牸鏁版嵁
- toolbarConfig: {
- // buttons: [{
- //
- // }],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- //鑴氶儴姹傚拰
- footerMethod({columns, data}) {//椤佃剼鍑芥暟
- let footList = ['', '', '']
- return [
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍚堣:'
- }
- if (footList.includes(column.field)) {
- return sumNum(data, column.field)
- }
- return ''
- })
- ]
- }
-
-})
-
-
-</script>
-
-<template>
- <div class="main-div-customer">
- <div id="selectForm">
- <el-row :gutter="0">
- <el-date-picker
- v-model="form.date1"
- type="daterange"
- format="YYYY/MM/DD"
- value-format="YYYY-MM-DD"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- :default-time="defaultTime"
-
- />
-
- <el-select :default-first-option="true" ref="getSelect" style="width: 120px" v-model="optionVal" class="m-2" placeholder="鏄惁杞伐鍗�">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
-
- <el-button
- @click="getWorkOrder"
- id="select"
- type="primary" :icon="Search">鏌ヨ
- </el-button>
- </el-row>
-
- </div>
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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 v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
- <span v-else>{{ 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>
- </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>
-.main-div-customer {
- width: 99%;
- height: 100%;
-}
-
-#selectForm {
- width: 50%;
- text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/pp/workOrder/WorkOrder.vue b/UI-Project/src/views/pp/workOrder/WorkOrder.vue
deleted file mode 100644
index 80dfdc4..0000000
--- a/UI-Project/src/views/pp/workOrder/WorkOrder.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/basic/product/GlassType.vue'
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/workOrder/SelectWorkOrder' }">宸ュ崟绠$悊</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-#main{
- width: 100%;
- height: 100%;
-}
-#div-title{
- height: 5%;
- width: 98%;
-}
-#searchButton{
- margin-top: -5px;
- margin-left: 1rem;
-}
-#searchButton1{
-//margin-left: 10rem;
-}
-/*main-body鏍峰紡*/
-#main-body{
- width: 99%;
- height: 92%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/customer/CreateCustomer.vue b/UI-Project/src/views/sd/customer/CreateCustomer.vue
deleted file mode 100644
index 424bd72..0000000
--- a/UI-Project/src/views/sd/customer/CreateCustomer.vue
+++ /dev/null
@@ -1,132 +0,0 @@
-<script lang="ts" setup>
-import { reactive, ref } from 'vue'
-import type { FormInstance, FormRules } from 'element-plus'
-
-const ruleFormRef = ref<FormInstance>()
-
-const checkAge = (rule: any, value: any, callback: any) => {
- if (!value) {
- return callback(new Error('Please input the age'))
- }
- setTimeout(() => {
- if (!Number.isInteger(value)) {
- callback(new Error('Please input digits'))
- } else {
- if (value < 18) {
- callback(new Error('Age must be greater than 18'))
- } else {
- callback()
- }
- }
- }, 1000)
-}
-
-const validatePass = (rule: any, value: any, callback: any) => {
- if (value === '') {
- callback(new Error('Please input the password'))
- } else {
- if (ruleForm.checkPass !== '') {
- if (!ruleFormRef.value) return
- ruleFormRef.value.validateField('checkPass', () => null)
- }
- callback()
- }
-}
-const validatePass2 = (rule: any, value: any, callback: any) => {
- if (value === '') {
- callback(new Error('Please input the password again'))
- } else if (value !== ruleForm.pass) {
- callback(new Error("Two inputs don't match!"))
- } else {
- callback()
- }
-}
-
-const ruleForm = reactive({
- pass: '',
- checkPass: '',
- age: '',
-})
-
-const rules = reactive<FormRules<typeof ruleForm>>({
- pass: [{ validator: validatePass, trigger: 'blur' }],
- checkPass: [{ validator: validatePass2, trigger: 'blur' }],
- age: [{ validator: checkAge, trigger: 'blur' }],
-})
-
-const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) return
- formEl.validate((valid) => {
- if (valid) {
- console.log('submit!')
- } else {
- console.log('error submit!')
- return false
- }
- })
-}
-
-const resetForm = (formEl: FormInstance | undefined) => {
- if (!formEl) return
- formEl.resetFields()
-}
-</script>
-
-<template>
- <div class="main-div">
- <div class="div-form">
- <el-form
- ref="ruleFormRef"
- :model="ruleForm"
- status-icon
- :rules="rules"
- label-width="120px"
- class="demo-ruleForm"
- >
- <el-form-item label="瀹㈡埛鍚嶇О" prop="pass">
- <el-input v-model="ruleForm.pass" type="text" autocomplete="off" />
- </el-form-item>
- <el-form-item label="瀹㈡埛绛夌骇" prop="checkPass">
- <el-input
- v-model="ruleForm.checkPass"
- type="text"
- autocomplete="off"
- />
- </el-form-item>
- <el-form-item label="淇$敤棰濆害" prop="age">
- <el-input v-model.number="ruleForm.age" />
- </el-form-item>
- <el-form-item label="鍦板潃" prop="age">
- <el-input v-model.number="ruleForm.age" />
- </el-form-item>
- <el-form-item label="鑱旂郴浜�" prop="age">
- <el-input v-model.number="ruleForm.age" />
- </el-form-item>
- <el-form-item label="鑱旂郴鐢佃瘽" prop="age">
- <el-input v-model.number="ruleForm.age" />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm(ruleFormRef)"
- >淇濆瓨</el-button
- >
- <el-button @click="resetForm(ruleFormRef)">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
- </div>
- </div>
-
-
-</template>
-
-
-<style scoped>
-.main-div{
- width: 100%;
- height: 100%;
-}
-
-.div-form{
- height:70%;
- width: 40%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/customer/SelectCustomer.vue b/UI-Project/src/views/sd/customer/SelectCustomer.vue
deleted file mode 100644
index 7ff59b8..0000000
--- a/UI-Project/src/views/sd/customer/SelectCustomer.vue
+++ /dev/null
@@ -1,159 +0,0 @@
-<script setup>
-
-import {reactive} from "vue";
-import {useRouter} from 'vue-router'
-let router=useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/customer/CreateCustomer', query: { id: row.id }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-
-
-
-//瀛愮粍浠舵帴鏀跺弬鏁�
-
-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',fixed:"left",slots: { content:'content' },width: 50},
- {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },fixed:"left"},
- {field: '0', title: '瀹㈡埛缂栫爜',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '1', title: '鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '2', title: '瀹㈡埛绛夌骇',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '3', title: '淇$敤棰濆害',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '4', title: '鍦板潃',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '5', title: '鑱旂郴浜�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: '6', 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':'澶粨鍗撻珮鐜荤拑鍒跺搧鏈夐檺鍏徃',
- '2':'A',
- '3':'100000',
- '4':'姹熻嫃澶粨xxxx琛楅亾',
- '5':'寮犱笁',
- '6':'139xxxxxxxx',
-
- },
- {
- '0':'1',
- '1':'灞辫タ鏌愭煇鍏徃',
- '2':'A',
- '3':'100000',
- '4':'姹熻嫃澶粨xxxx琛楅亾',
- '5':'寮犱笁',
- '6':'139xxxxxxxx',
-
- }
- ],//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-customer">
- <vxe-grid
- max-height="100%"
- @filter-change="filterChanged"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- @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>
- </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>
-.main-div-customer{
- width: 99%;
- height: 100%;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/delivery/CreateDelivery.vue b/UI-Project/src/views/sd/delivery/CreateDelivery.vue
deleted file mode 100644
index a77362d..0000000
--- a/UI-Project/src/views/sd/delivery/CreateDelivery.vue
+++ /dev/null
@@ -1,254 +0,0 @@
-<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: [
- {
- '0': 'NG23110102',
- '1': '20鎵�1',
- '2': '16',
- '3': '18',
- '4': '20',
- '5': '20',
- '6': 'A妤糱灞�',
- '7': '101',
- '8': '10mmLYTM-140寮挗鍖�',
- '9': '1008.38',
- '10': 'A鍙锋煴瀛�',
- '11': '100',
- '12': '3360',
- '13': '2440',
- '14': '鏅舰',
- '15': '1.11',
- '16': '100.1',
- '17': '1.22',
- '18': '11.11',
- '19': '杩欐槸鍔犲伐瑕佹眰',
- '20': '杩欐槸澶囨敞',
- '21': '杩欐槸纾ㄨ竟绫诲瀷',
- '22': '1.1'
- },
- {
- '0': 'NG23110102',
- '1': '20鎵�1',
- '2': '16',
- '3': '18',
- '4': '20',
- '5': '20',
- '6': 'A妤糱灞�',
- '7': '101',
- '8': '10mmLYTM-140寮挗鍖�',
- '9': '1008.38',
- '10': 'A鍙锋煴瀛�',
- '11': '100',
- '12': '3360',
- '13': '2440',
- '14': '鏅舰',
- '15': '1.11',
- '16': '100.1',
- '17': '1.22',
- '18': '11.11',
- '19': '杩欐槸鍔犲伐瑕佹眰',
- '20': '杩欐槸澶囨敞',
- '21': '杩欐槸纾ㄨ竟绫诲瀷',
- '22': '1.1'
- }
- ],//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-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-row>
- <el-row>
- <el-col :span="2"><el-text>鑱旂郴浜�:</el-text></el-col>
- <el-col :span="5"><el-input/></el-col>
- <el-col :span="2"><el-text>鑱旂郴鐢佃瘽:</el-text></el-col>
- <el-col :span="5"><el-input/></el-col>
- <el-col :span="2"><el-text>閫佽揣鍦板潃:</el-text></el-col>
- <el-col :span="5"><el-input/></el-col>
- </el-row>
- <el-row>
- <el-col :span="2"><el-text>澶囨敞:</el-text></el-col>
- <el-col :span="5"><el-input/></el-col>
- <el-col :span="2"><el-text>鎶ヨ〃鏃ユ湡:</el-text></el-col>
- <el-col :span="5"></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-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>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/delivery/Delivery.vue b/UI-Project/src/views/sd/delivery/Delivery.vue
deleted file mode 100644
index 21d677e..0000000
--- a/UI-Project/src/views/sd/delivery/Delivery.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-<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="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/delivery/selectDelivery' }">鍙戣揣棣栭〉</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/delivery/selectOrderList' }">璁㈠崟鍙戣揣</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/delivery/deliveryReport' }">鎶ヨ〃</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/delivery/deliveryReport' }">鎶ヨ〃</el-breadcrumb-item>
- </el-breadcrumb>
- </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: 99%;
- height: 95%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/delivery/DeliveryReport.vue b/UI-Project/src/views/sd/delivery/DeliveryReport.vue
deleted file mode 100644
index 7219aea..0000000
--- a/UI-Project/src/views/sd/delivery/DeliveryReport.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-<script setup>
-
-import {Folder, Search} from "@element-plus/icons-vue";
-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: '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>
- <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>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/delivery/SelectDelivery.vue b/UI-Project/src/views/sd/delivery/SelectDelivery.vue
deleted file mode 100644
index a3bdd65..0000000
--- a/UI-Project/src/views/sd/delivery/SelectDelivery.vue
+++ /dev/null
@@ -1,164 +0,0 @@
-<script setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
-import {useRouter} from "vue-router"
-const router = useRouter()
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/delivery/createDelivery', query: { deliveryID: 'JG24010101' }})
- 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: '鍑哄簱', width: 40, slots: { default: 'state' }},
- {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: [{
- '3': 'JG23120801',
- '4': '閮戠強鐝�',
- '5': '2023-12-08',
- '6': '310',
- '7': '涓婃捣閲岃寤虹瓚宸ョ▼鏈夐檺鍏徃',
- '8': '琛�1-2',
- '9': '瀹胯縼鏌愭煇椤圭洰',
- '10': 'NG23112304',
- '11': '鎸夊悎鍚�',
- '12': '',
- '13': '8',
- '14': '15.68',
- '15': '11912.05',
- '16': '2023-11-24',
- '17': '鐜嬮緳',
- '18': '瀹胯縼鏌愭煇鍦板潃',
- '19': '2023-12-08'
- }
- ],//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 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"
-
- >
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <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 #state="{ row}">
- <el-checkbox checked/>
- </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>
- </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>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/delivery/SelectOrderList.vue b/UI-Project/src/views/sd/delivery/SelectOrderList.vue
deleted file mode 100644
index 25cb3da..0000000
--- a/UI-Project/src/views/sd/delivery/SelectOrderList.vue
+++ /dev/null
@@ -1,213 +0,0 @@
-<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/delivery/createDelivery', 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"},
- {type:'checkbox',title: '閫夊垯', width: 80,fixed:"left"},
- {type: 'seq', title: '鑷簭', width: 80 ,fixed:"left"},
-
- {title: '涓嬪崟', width: 40, slots: { default: 'state' }},
- {title: '宸ヨ壓', width: 40, slots: { default: 'state' }},
- {title: '瀹℃牳', width: 40, slots: { default: 'state' }},
- {title: '鐢熶骇', width: 40, slots: { default: 'state' }},
- {title: '浜ゆ帴', width: 40, slots: { default: 'state' }},
- {title: '涓嬭揪', width: 40, slots: { default: 'state' }},
- {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: [
- {'code': 'add', 'name': '鍙戣揣',status: 'primary',icon: 'vxe-icon-add'}
- ],
- 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 #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 #state="{ row}">
- <el-checkbox checked/>
- </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>
- </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>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/order/CreateOrder.vue b/UI-Project/src/views/sd/order/CreateOrder.vue
deleted file mode 100644
index 84117ac..0000000
--- a/UI-Project/src/views/sd/order/CreateOrder.vue
+++ /dev/null
@@ -1,483 +0,0 @@
-<script lang="ts" setup>
-import {reactive, ref} from "vue"
-import {useRouter} from "vue-router"
-import * as XLXS from "xlsx"
-import {ElMessage} from "element-plus"
-import request from "@/utils/request"
-import deepClone from "@/utils/deepClone"
-
-const router = useRouter()
-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,
- menuConfig: {
- body: {
- options: [
- [
- { code: 'addRow', name: '娣诲姞', prefixIcon: 'vxe-icon-square-plus', visible: true, disabled: false }
- ]
- ]
- }
- },
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'cell',
- showStatus: true
- },//琛ㄥご鍙傛暟
- columns:[
- // {title: '鎿嶄綔', width: 110,fixed:"left",slots: { default: 'openProductList' }},
- {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {field: 'buildingNumber',width:120, title: '妤煎彿',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'productId',width:140, title: '浜у搧ID',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'productName',width:120, title: '浜у搧',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'price',width:140, title: '鍗曚环',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'quantity',width:120, title: '鏁伴噺',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'grossAmount',width:120, title: '鎬婚噾棰�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'width',width:120, title: '瀹�',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'height',width:120, title: '楂�',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'area',width:150, title: '瀹為檯鍗曠墖闈㈢Н',filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true},
- {field: 'grossArea',width:140, title: '瀹為檯鎬婚潰绉�',filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true},
- {field: 'computeArea',width:180, title: '缁撶畻鍗曠墖闈㈢Н',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'computeGrossArea',width:140, title: '缁撶畻鎬婚潰绉�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'shape',width:120, title: '褰㈢姸',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'bendRadius',width:140, title: '寮挗寮у害',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'edgingType',width:140, title: '纾ㄨ竟绫诲瀷',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'processingNote',width:140, title: '鍔犲伐瑕佹眰',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'remarks',width:120, title: '澶囨敞',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}
-
-
- ],
- //琛ㄥ崟楠岃瘉
- editRules: {
- buildingNumber: [
- { required: false},
- { min: 0, max: 255, message: '鍚嶇О闀垮害鍦� 0 鍒� 255 涓瓧绗�' }
- ],
- productId: [
- { required: true, message: '璇烽�夋嫨浜у搧' }
- ],
- price: [
- {
- validator ({ cellValue }) {
- const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
- if (cellValue && !regex.test(cellValue)) {
- return new Error('杈撳叆0.00~99999.99鐨勬暟瀛�')
- }
- }
- }
- ],
- computeArea: [
- {
- validator ({ cellValue }) {
- const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
- if (cellValue && !regex.test(cellValue)) {
- return new Error('杈撳叆0.00~99999.99鐨勬暟瀛�')
- }
- }
- }
- ],
- quantity: [
- { type: 'number', min: 0, message: '璇疯緭鍏ュぇ浜庣瓑浜�0鐨勬暟鍊�' }
- ],
- width:[
- {
- validator ({ cellValue }) {
- const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
- if (cellValue && !regex.test(cellValue)) {
- return new Error('杈撳叆0.00~99999.99鐨勬暟瀛�')
- }
- }
- }
- ],
- height:[
- {
- validator ({ cellValue }) {
- const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
- if (cellValue && !regex.test(cellValue)) {
- return new Error('杈撳叆0.00~99999.99鐨勬暟瀛�')
- }
- }
- }
- ]
- },
- toolbarConfig: {
- buttons: [
- {'code': 'remarks', 'name': '鍔犲伐瑕佹眰'},
- {'code': 'Craft', 'name': '宸ヨ壓',status: 'primary'},
- {'code': 'add', 'name': '瀹℃牳',status: 'primary',disabled: true},
- {'code': 'saveOrder', 'name': '淇濆瓨',status: 'primary',icon: 'vxe-icon-save'}
- ],
- slots: {
- tools: 'toolbar_buttons'
- },
- // import: false,
- // export: true,
- // print: true,
- zoom: true,
- custom: true
- }
- ,
- //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 = {
- async toolbarButtonClick({code}) {
- const $grid = xGrid.value
- if ($grid) {
- switch (code) {
- case 'Craft': {
- await router.push({path: '/main/order/updateOrderCraft', query: {orderID: 12123}})
- break
- }
- case 'saveOrder': {
- if ($grid.getTableData().tableData.length === 0){
- ElMessage.error('娌℃湁琛ㄦ牸鏁版嵁锛�')
- return
- }
- console.log($grid.getTableData().tableData)
- if ($grid) {
- const errMap = await $grid.validate(true)
- if (errMap) {
- ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣)
- return
- }
- let order ={
- title:titleUploadData.value,
- detail:$grid.getTableData().tableData
- }
- saveOrder(order)
- }
- break
- }
- }
- }
- },//澶撮儴鎸夐挳浜嬩欢
- menuClick ({ menu, row, column }) {
- const $grid = xGrid.value
- if ($grid) {
- switch (menu.code) {
- case 'deleteList': {
- $grid.removeCheckboxRow()
- break
- }
- case 'addRow': {
- if ($grid.getTableData().tableData.length >=240){
- ElMessage.error('琛ㄦ牸鏁版嵁宸茶揪鍒版渶澶у�硷紒')
- return
- }
- $grid.insert({})
- //console.log($grid.getRecordset().insertRecords)
- break
- }
- }
- }
- },
- cellDblclick (params) {//琛ㄦ牸鍐呭鍙屽嚮鎵撳紑浜у搧鐣岄潰
- const { row } = params
- //alert("鎴戞墦寮�浜嗕骇鍝佺晫闈�")
- }
-}
-
-// 瀹氫箟琛ㄥご涓婁紶鏁版嵁
-const titleUploadData = ref({
- project:'',
- orderType:'',
- alType:'',
- icon:'',
- orderClassify:'',
- packType:'',
- deliveryDate:''
-})
-
-//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
-const titleSelectJson = ref({
- orderType:[],
- alType:[],
- icon:[],
- orderClassify:[],
- packType:[],
-})
-//椤甸潰绗竴娆″姞杞芥墽琛�
-request.get(`/basicData/orderBasicData`).then((res) => {
- if(res.code==200){
- titleSelectJson.value=deepClone(res.data)
- titleUploadData.value.orderType = titleSelectJson.value.orderType[0].id
- titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].id
- titleUploadData.value.icon = titleSelectJson.value.icon[0].id
- titleUploadData.value.packType = titleSelectJson.value.packType[0].id
- titleUploadData.value.alType = titleSelectJson.value.alType[0].id
- const today = new Date
- today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
- titleUploadData.value.deliveryDate = today.getFullYear() +
- '-' + ("0" + (today.getMonth() + 1)).slice(-2)
- + '-' + ("0" + today.getDate()).slice(-2)
- }else{
- ElMessage.warning(res.msg)
- }
-})
-
-const saveOrder = (order) => {
- request.post(`/order/saveOrder`,order).then((res) => {
- if(res.code==200){
- ElMessage.success('淇濆瓨鎴愬姛')
- }else {
- ElMessage.warning(res.msg)
- }
- })
-}
-
-
-
-
-const countAmount = (row) => {
- return
-}
-const area = (row) => {
- return parseFloat((row.width * row.height/1000000).toFixed(2))
-}
-const countArea = (row) => {
- return parseFloat((row.width * row.height/1000000).toFixed(2))*row.quantity
-}
-
-
-//瀵煎叆鍔熻兘
-const impotEvent = async () => {
- const $grid = xGrid.value
- const { files } = await $grid.readFile({
- types: ['xls', 'xlsx']
- })
- const fileReader = new FileReader()
- fileReader.onload = (event) => {
- const data = event.target ? event.target.result : ''
- const workbook = XLXS.read(data, { type: 'binary' })
- let jsonData = XLXS.utils.sheet_to_json(workbook.Sheets.Sheet1).slice(1)
- if(jsonData.length>240){
- ElMessage.error('瀵煎叆鏁版嵁涓嶈兘瓒呰繃240鏉�,璇峰垎璁㈠崟瀵煎叆')
- return
- }
- jsonData.forEach((item,index) => {
- //item.computeArea
- //console.log()
- if(item.computeArea === undefined){
- item.computeArea = area(item)
- }
- item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toString())
- })
-
- xGrid.value.loadData(jsonData)
- }
- fileReader.readAsBinaryString(files[0])
-}
-
-//琛屽崟鍏冩牸淇敼淇敼瑙﹀彂姝や簨浠�
-const editClosedEvent = ({ row, column }) => {
- //鍒ゆ柇淇敼鐩稿簲鐨勬暟鍊间慨鏀归潰绉笌閲戦
- if (['width', 'height', 'quantity', 'price'].includes(column.property)) {
- row.area = area(row)
- row.grossArea = countArea(row)
- row.computeArea = row.area
- row.computeGrossArea = row.grossArea
- row.grossAmount=row.price * row.computeGrossArea
- }else if(column.property === 'computeArea'){
- row.computeGrossArea=parseFloat((row.computeArea*row.quantity).toString())
- row.grossAmount=row.price * row.computeGrossArea
- }
-}
-</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="2"><el-input/></el-col>
- <el-col :span="2"><el-text>*瀹㈡埛閫夋嫨锛�</el-text></el-col>
- <el-col :span="2">
- <el-select clearable placeholder=" " >
- <el-option/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>*璁㈠崟绫诲瀷锛�</el-text></el-col>
- <el-col :span="2">
- <el-select v-model="titleUploadData.orderType" clearable placeholder="" >
- <el-option
- v-for="item in titleSelectJson['orderType']"
- :key="item.id"
- :label="item.basicName"
- :value="item.id"
- />
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>璁㈠崟鍒嗙被锛�</el-text></el-col>
- <el-col :span="2">
- <el-select v-model="titleUploadData.orderClassify" clearable placeholder=" " >
- <el-option
- v-for="item in titleSelectJson['orderClassify']"
- :key="item.id"
- :label="item.basicName"
- :value="item.id"
- />
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>鍟嗘爣閫夐」锛�</el-text></el-col>
- <el-col :span="2">
- <el-select v-model="titleUploadData.icon" clearable placeholder=" " >
- <el-option v-for="item in titleSelectJson['icon']"
- :key="item.id"
- :label="item.basicName"
- :value="item.id"/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>鍖呰鏂瑰紡锛�</el-text></el-col>
- <el-col :span="2">
- <el-select v-model="titleUploadData.packType" clearable placeholder=" " >
- <el-option v-for="item in titleSelectJson['packType']"
- :key="item.id"
- :label="item.basicName"
- :value="item.id"/>
- </el-select>
- </el-col>
- <!-- <el-col :span="2"><el-text /></el-col>-->
- </el-row>
- <el-row>
- <el-col :span="2"><el-text>閿�鍞崟鍙凤細</el-text></el-col>
- <el-col :span="2"><el-text /></el-col>
- <el-col :span="2"><el-text>浜よ揣鏃ユ湡锛�</el-text></el-col>
- <el-col :span="2">
- <el-date-picker
- v-model="titleUploadData.deliveryDate"
- type="date"
- placeholder="Pick a day"
- />
- </el-col>
- <el-col :span="2"><el-text>鎵规锛�</el-text></el-col>
- <el-col :span="2"><el-input/></el-col>
- <el-col :span="2"><el-text>璁$畻鏂瑰紡锛�</el-text></el-col>
- <el-col :span="2">
- <el-select clearable placeholder=" " >
- <el-option/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>*涓氬姟鍛橈細</el-text></el-col>
- <el-col :span="2">
- <el-select clearable placeholder=" " >
- <el-option/>
- </el-select>
- </el-col>
- <el-col :span="2"><el-text>閾濇潯鏂瑰紡锛�</el-text></el-col>
- <el-col :span="2">
- <el-select v-model="titleUploadData.alType" clearable placeholder=" " >
- <el-option v-for="item in titleSelectJson['alType']"
- :key="item.id"
- :label="item.basicName"
- :value="item.id"/>
- </el-select>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="2"><el-text>鎬婚噾棰濓細</el-text></el-col>
- <el-col :span="2"><el-text /></el-col>
-
- <el-col :span="2"><el-text>鍚堝悓缂栧彿锛�</el-text></el-col>
- <el-col :span="2"><el-input/></el-col>
- <el-col :span="2"><el-text>瀹㈡埛鎵规锛�</el-text></el-col>
- <el-col :span="2"><el-text /></el-col>
- <el-col :span="2"><el-text>鑱旂郴浜猴細</el-text></el-col>
- <el-col :span="2"><el-input/></el-col>
- <el-col :span="2"><el-text>鑱旂郴鐢佃瘽锛�</el-text></el-col>
- <el-col :span="2"><el-input/></el-col>
- <el-col :span="2"><el-text>閫佽揣鍦板潃锛�</el-text></el-col>
- <el-col :span="2"><el-input/></el-col>
- </el-row>
- <el-row>
- <el-col :span="2"><el-text>鍏朵粬閲戦锛�</el-text></el-col>
- <el-col :span="2"><el-text /></el-col>
- <el-col :span="2"><el-text>鍏朵粬閲戦澶囨敞锛�</el-text></el-col>
- <el-col :span="2"><el-text /></el-col>
-
- </el-row>
- </div>
- <div class="order-detail">
- <vxe-grid
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- @edit-closed="editClosedEvent"
- >
- <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 #toolbar_buttons>
- <vxe-button @click="impotEvent">瀵煎叆</vxe-button>
- </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: 80%;
- }
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/order/Order.vue b/UI-Project/src/views/sd/order/Order.vue
deleted file mode 100644
index 78000a9..0000000
--- a/UI-Project/src/views/sd/order/Order.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-<script setup>
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
-import {useRouter} from "vue-router";
-
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-</script>
-
-<template>
- <div id="main-div">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/order/selectOrder' }">璁㈠崟棣栭〉</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/order/createOrder' }">鍒涘缓</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main-div{
- width: 99%;
- 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>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/order/OrderReport.vue b/UI-Project/src/views/sd/order/OrderReport.vue
deleted file mode 100644
index 51c8978..0000000
--- a/UI-Project/src/views/sd/order/OrderReport.vue
+++ /dev/null
@@ -1,179 +0,0 @@
-<script setup>
-
-import {Folder, Search} from "@element-plus/icons-vue";
-import BasicTable from "@/components/basic/BasicTable.vue";
-import {reactive} from "vue";
-
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderReport',
- 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',fixed:"left",slots: { content:'content' },width: 50},
- {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {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: 'prodID',width:120, title: '妤煎彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '瀹�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '楂�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鏁伴噺',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍗婂緞',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '瀹為檯闈㈢Н',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '缁撶畻鎬婚潰绉�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '褰㈢姸',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '纾ㄨ竟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '涓诲姞宸ヨ姹�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍔犲伐瑕佹眰',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '澶囨敞',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍟嗘爣閫夐」',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍖呰鏂瑰紡',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '宸ヨ壓娴佺▼',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍛ㄩ暱',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍗曚环',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '閲戦',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '閾濇潯鏂瑰紡',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '璁㈠崟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '涓氬姟鍛�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '閫佽揣鍦板潃',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鍒跺崟鍛�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '寤虹珛鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '鎬诲帤搴�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '浜у搧澶х被',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',width:120, title: '浜у搧灏忕被',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'prodID',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>
- <div class="order-detail">
- <vxe-grid
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- ></vxe-grid>
-<!-- <el-table
- :data="dataList"
- :header-cell-style="{ 'text-align': 'center' }"
- :cell-style="{ 'text-align': 'center' }"
- border
- >
-
- <el-table-column type="expand" fixed>
- <template #default="props" >
- <div m="4">
- <p m="t-0 b-2">: {{ props.row['2'] }}</p>
- </div>
- </template>
- </el-table-column>
-
-
- <el-table-column
- :prop="index.toString()"
- :show-overflow-tooltip='true'
- width="100" v-for="(item,index) in titleList"
- :label="item" />
- </el-table>-->
- </div>
- </div>
-</template>
-
-<style scoped>
-.main-div {
- width: 100%;
- height: 100%;
-}
-.el-col{
- border: #181818 1px solid;
-}
-:deep(.el-table .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: 90%;
-
-}
-
-
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/order/SelectOrder.vue b/UI-Project/src/views/sd/order/SelectOrder.vue
deleted file mode 100644
index 201e2c6..0000000
--- a/UI-Project/src/views/sd/order/SelectOrder.vue
+++ /dev/null
@@ -1,206 +0,0 @@
-<script setup>
- import {Search} from "@element-plus/icons-vue"
- import {useRouter} from "vue-router"
- import {reactive, ref} from "vue";
- const router = useRouter()
- import ProcessCardProgress from '@/views/pp/report/ProcessCardProgress.vue'
-
- const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/order/createOrder', query: { orderID: 'NG24010101' }})
- 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,fixed:"left",},
- {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },fixed:"left",},
- {type: 'seq', title: '鑷簭', width: 80 ,fixed:"left",},
-
- {title: '涓嬪崟', width: 40, slots: { default: 'state' }},
- {title: '宸ヨ壓', width: 40, slots: { default: 'state' }},
- {title: '瀹℃牳', width: 40, slots: { default: 'state' }},
- {title: '鐢熶骇', width: 40, slots: { default: 'state' }},
- {title: '浜ゆ帴', width: 40, slots: { default: 'state' }},
- {title: '涓嬭揪', width: 40, slots: { default: 'state' }},
- {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 dialogTableVisible = ref(false)
-
-const cellClickEvent =()=>{
- dialogTableVisible.value = true
-}
-
-
-
-</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
- @cell-dblclick="cellClickEvent"
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <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 #state="{ row}">
- <el-checkbox checked/>
- </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>
- </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-dialog v-model="dialogTableVisible" title="娴佺▼鍗¤繘搴�" style="width: 80%;height:75% ">
- <ProcessCardProgress style="width: 100%;height: 100%" />
- </el-dialog>
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/order/UpdateOrderCraft.vue b/UI-Project/src/views/sd/order/UpdateOrderCraft.vue
deleted file mode 100644
index a290769..0000000
--- a/UI-Project/src/views/sd/order/UpdateOrderCraft.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-<script setup>
-import {reactive, ref} from "vue"
-import {useRouter} from "vue-router"
-const router = useRouter()
-
-
-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:[
- {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },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}
- ],//琛ㄥご鎸夐挳
- mergeCells: [
- { row: 0, col: 1, rowspan: 2, colspan: 1 },
- { row: 0, col: 2, rowspan: 2, colspan: 1 },
- { row: 0, col: 3, rowspan: 2, colspan: 1 },
- { row: 0, col: 6, rowspan: 2, colspan: 1 },
- { row: 0, col: 7, rowspan: 2, colspan: 1 },
- ],
- toolbarConfig: {
- buttons: [
- {'code': 'remarks', 'name': '鍔犲伐瑕佹眰'},
- {'code': 'Craft', 'name': '璁㈠崟璇︽儏',status: 'primary'},
- {'code': 'Craft', 'name': '瀹℃牳',status: 'primary'},
- ],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- '0' : '1',
- '1' : 'JHH-T33-G-07A-01',
- '2' : '10mm瓒呯櫧UD60骞抽挗(澶�)+12A鏆�(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- '3' : '(澶�)',
- '4' : '10mm瓒呯櫧UD60骞抽挗(澶�)',
- '5' : '1427',
- '6' : '2696',
- '7' : '鏅舰',
- '8' : '42.32',
- '9' : '绮剧(',
- '10' : '1427',
- '11' : '1427',
- '12' : '42.32',
- '13' : '11',
- '14' : '鍒囧壊->纾ㄨ竟->閽㈠寲->鍧囪川->涓┖->鍖呰',
- '15' : '',
- '16' : '',
- '17':2
- },
- {
- '0' : '1',
- '1' : 'JHH-T33-G-07A-01',
- '2' : '10mm瓒呯櫧UD60骞抽挗(澶�)+12A鏆�(缁�)+10mm瓒呯櫧骞抽挗(鍐�)',
- '3' : '(鍐�)',
- '4' : '10mm瓒呯櫧骞抽挗(鍐�)',
- '5' : '1427',
- '6' : '2696',
- '7' : '鏅舰',
- '8' : '42.32',
- '9' : '绮剧(',
- '10' : '1427',
- '11' : '1427',
- '12' : '42.32',
- '13' : '11',
- '14' : '鍒囧壊->纾ㄨ竟->閽㈠寲->鍧囪川->涓┖->鍖呰',
- '15' : '',
- '16' : '',
- '17' : 0,
- }
- ],//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 'Craft': {
- router.push({path: '/main/order/createOrder', query: { orderID: 12123 }})
- break
- }
- }
- }
- }
-}
-
-
-
-</script>
-
-<template>
- <div class="main-div">
-
- <div class="order-primary" style="background-color: white">
- <el-row>
- <el-col :span="4"><el-text>閿�鍞崟鍙凤細</el-text></el-col>
- <el-col :span="4"><el-text>NG23120704</el-text></el-col>
- <el-col :span="4"><el-text>瀹㈡埛鍚嶇О锛�</el-text></el-col>
- <el-col :span="4"><el-text>澶粨楂樼幓鐠冨埗鍝佹湁闄愬叕鍙�</el-text></el-col>
- <el-col :span="4"><el-text>椤圭洰鍚嶇О锛�</el-text></el-col>
- <el-col :span="4"><el-text>澶粨鍗撻珮</el-text></el-col>
- </el-row>
- <el-row>
- <el-col :span="4"><el-text>璁㈠崟鎵规锛�</el-text></el-col>
- <el-col :span="4"><el-text>1鎵�1</el-text></el-col>
- <el-col :span="4"><el-text>璁㈠崟绫诲瀷锛�</el-text></el-col>
- <el-col :span="4"><el-text>鏅�氳鍗�</el-text></el-col>
- <el-col :span="4"><el-text>涓氬姟鍛�</el-text></el-col>
- <el-col :span="4"><el-text>寮犱笁</el-text></el-col>
- </el-row>
- <el-row>
- <el-col :span="4"><el-text>鍖呰鏂瑰紡锛�</el-text></el-col>
- <el-col :span="4"><el-text>鏈ㄧ</el-text></el-col>
- <el-col :span="4"><el-text>浜よ揣鏃ユ湡锛�</el-text></el-col>
- <el-col :span="4"><el-text>2023-11-11</el-text></el-col>
- </el-row>
- </div>
- <div class="order-detail">
-
- <vxe-grid
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
-
- >
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <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>
- </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>
- </div>
-</template>
-
-<style scoped>
-.main-div {
- width: 100%;
- height: 100%;
- text-align: center;
-}
-.el-col{
- border: #181818 1px solid;
-}
-.order-primary{
- width: 100%;
-}
-.order-detail{
- width: 100%;
- height: 80%;
-}
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/CreateProduct.vue b/UI-Project/src/views/sd/product/CreateProduct.vue
deleted file mode 100644
index 8d8982b..0000000
--- a/UI-Project/src/views/sd/product/CreateProduct.vue
+++ /dev/null
@@ -1,435 +0,0 @@
-<script setup>
-const disposeList = $ref([
- '褰╅噳',
- '钂欑爞',
- '闀�鑶�',
- '璐磋啘',
- '鍠风爞',
- '纾ㄨ竟'
-])
-let processList = $ref([
- '纾ㄨ竟',
- '闀�鑶�',
- '鍊掕',
- '娓呮礂',
- '鎵撳瓟',
- '鎸栫己',
- '鎸栨Ы',
- '姘村垏鍓�',
- '涓濆嵃',
- '鍗婇挗鍖�',
- '閽㈠寲',
- '澶瑰眰',
- '涓┖',
- '鍖呰'
-])
-
-</script>
-
-<template>
- <div id="main-div">
- <div class="glass-param inline-flex"
- :style="{
- boxShadow: `var(--el-box-shadow-lighter)`,
- }"
- >
- <div class="glass-type">
- <h5>鏉愭枡灞炴��</h5>
- <el-row :gutter="50">
-<!-- <el-col :span="6"></el-col>-->
- <el-col :span="4">
- <div class="grid-content ep-bg-purple" >
- <el-select size="small" clearable placeholder="*鍘氬害:" />
- </div>
- </el-col>
- <el-col :span="4">
- <div class="grid-content ep-bg-purple" >
- <el-select size="small" clearable placeholder="*棰滆壊:" />
- </div>
- </el-col>
- <el-col :span="6">
- <div class="grid-content ep-bg-purple" >
- <el-select size="small" clearable placeholder="*宸ヨ壓灞炴��:" />
- </div>
- </el-col>
- <el-col :span="4">
- <div class="grid-content ep-bg-purple" >
- <el-select size="small" clearable placeholder="浣嶇疆:" />
- </div>
- </el-col>
- <el-col :span="6">
- <div class="grid-content ep-bg-purple" >
- <el-select size="small" clearable placeholder="LOW-E闈�:" />
- </div>
- </el-col>
- </el-row>
- </div>
- <div class="line"/>
- <div class="glass-dispose">
- <h5>琛ㄩ潰澶勭悊</h5>
- <div class="glass-dispose-detail">
- <div v-for="n in 2" class="glass-dispose-detail-1">
- <p style="writing-mode: vertical-rl;">
- {{n===1?'绗竴闈�':'绗簩闈�'}}
- </p>
- <div class="glass-dispose-detail-list"
- v-for="(item,index) in disposeList"
- >
- <el-checkbox
- :label="item" size="large" />
- <el-input
- v-if="index==0 && n==1"
- class="dispose-input"
- size="small"
- clearable />
- </div>
-
- </div>
- </div>
-
- </div>
- <div class="line"/>
- <div class="glass-process">
- <h5>鏉愭枡灞炴��</h5>
- <el-checkbox
- v-for="item in processList"
- :label="item"
- class="glass-process-checkbox"
- size="small" />
- </div>
- <div class="line"/>
- <div class="glass-spacer">
- <div class="glass-spacer-jc">
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*涓┖鍘氬害:" />
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*鍏呮皵鏂瑰紡:" />
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*灏佽兌:" />
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*榛樿鑳舵繁:" />
- <el-button
- size="small"
- type="primary"
- round>涓┖闂撮殧鐗�</el-button>
-
- </div>
- <div class="glass-spacer-zk">
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*澶瑰眰鍘氬害:" />
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*绫诲瀷:" />
- <el-select
- size="small"
- style="width: 100px"
- clearable placeholder="*棰滆壊:" />
- <el-button
- size="small"
- type="primary"
- style="margin-left: 100px"
- round>澶瑰眰闂撮殧鐗�</el-button>
- </div>
- </div>
- <div class="line"/>
- <div class="glass-oneSlice">
- <div class="glass-oneSlice-type">
- <el-row :gutter="20">
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1" style="margin-left: 0.5rem" >鍗曠墖鐜荤拑灞炴�э細</el-text>
- </div>
- </el-col>
- <el-col :span="13">
- <div class="grid-content ep-bg-purple" >
- <el-input size="small" disabled />
- </div>
- </el-col>
- <el-col :span="3">
- <div class="grid-content ep-bg-purple" >
- <el-button
- size="small"
- type="primary"
- round>閲嶇疆</el-button>
- </div>
- </el-col>
- </el-row>
- </div>
- <div class="glass-oneSlice-type">
- <el-row :gutter="20">
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1" style="margin-left: 0.5rem" >宸ヨ壓娴佺▼灞炴�э細</el-text>
- </div>
- </el-col>
- <el-col :span="13">
- <div class="grid-content ep-bg-purple" >
- <el-input size="small" disabled />
- </div>
- </el-col>
- <el-col :span="3">
- <div class="grid-content ep-bg-purple" >
- <el-button
- size="small"
- type="primary"
- round>纭</el-button>
- </div>
- </el-col>
- </el-row>
- </div>
- </div>
- <div class="glass-other">
- <el-row :gutter="20">
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1"
- style="margin-left: 0.5rem;text-align: center">
- 蹇�熸煡璇細
- </el-text>
- <el-input size="small" disabled />
- </div>
- </el-col>
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1"
- style="margin-left: 0.5rem;text-align: center">
- 璁¢噸鍘氬害锛�
- </el-text>
- <el-input size="small" disabled />
- </div>
- </el-col>
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1"
- style="margin-left: 0.5rem;text-align: center">
- 鍘氬害锛�
- </el-text>
- <el-input size="small" disabled />
- </div>
- </el-col>
- <el-col :span="5">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1"
- style="margin-left: 0.5rem;text-align: center">
- 澶囨敞锛�
- </el-text>
- <el-input size="small" disabled />
- </div>
- </el-col>
- </el-row>
-
- </div>
- </div>
-
-
- <div class="glass-part inline-flex"
- :style="{
- boxShadow: `var(--el-box-shadow-lighter)`,
- }">
- <div class="glass-part-all">
- <el-row >
- <el-col :span="4">
- <div class="grid-content ep-bg-purple" >
- <el-text class="mx-1" size="large" >浜у搧鍚嶇О锛�</el-text>
- </div>
- </el-col>
- <el-col :span="20">
- <div class="grid-content ep-bg-purple" >
- <el-input size="large" disabled />
- </div>
- </el-col>
- </el-row>
- </div>
-
- <div class="glass-part-detail">
- <el-row style="width: 90%" >
- <el-col :span="4">
- <el-button
- size="small"
- type="primary"
- round>淇敼鐜荤拑</el-button>
- </el-col>
- <el-col :span="16">
- <el-input
- value="5mm鐧界幓"
- size="small"
- disabled />
- </el-col>
- </el-row>
- <el-row style="width: 90%" >
- <el-col :span="4">
- <el-button
- size="small"
- type="primary"
- round>淇敼澶瑰眰</el-button>
- </el-col>
- <el-col :span="16">
- <el-input
- value="5mmPVB閫忔槑"
- size="small"
- disabled />
- </el-col>
- </el-row>
- <el-row style="width: 90%" >
- <el-col :span="4">
- <el-button
- size="small"
- type="primary"
- round>淇敼鐜荤拑</el-button>
- </el-col>
- <el-col :span="16">
- <el-input
- value="5mm鐧界幓"
- size="small"
- disabled />
- </el-col>
- </el-row>
-
- </div>
- <el-button
- style="float: right;
- margin-right: 0.5rem;"
-
- size="large"
- type="primary"
- round>閲嶇疆</el-button>
- </div>
- </div>
-</template>
-
-<style scoped >
- #main-div{
- width: 100%;
- height: 100%;
- }
- .glass-param{
- height: 100%;
- width: 59.5%;
- float: left;
- }
- .glass-part{
- height: 100%;
- width: 39.5%;
- float: right;
- }
- .glass-type{
- width: 100%;
- height: 12%;
-
- }
- .glass-dispose{
- width: 100%;
- height: 20%;
- }
- .glass-dispose-detail{
- margin-top: 0.5rem;
- margin-left: 0.5rem;
-
- }
- .glass-dispose-detail-1{
- width:50%;
- height: 15vh;
- float: left;
- }
- .glass-dispose-detail-1 p{
- height: 80%;
- float: left;
- margin-top: 2%;
- }
- .glass-dispose-detail-list{
- width: 45%;
- float: left;
- height: 25px;
- }
- .dispose-input{
- width:70px;
- margin-left: 1rem;
- }
- .glass-process{
- width: 100%;
- height: 25%;
- }
- .glass-process-checkbox{
- margin-left: 0.5rem;
- float: left;
- }
- .glass-spacer{
- width: 100%;
- height: 15%;
- margin-bottom: 0;
- }
- .glass-spacer div{
- width: 100%;
- height: 50%;
- }
- .glass-oneSlice{
- width: 100%;
- height: 10%;
- //background-color: #1890FF;
- }
- .glass-oneSlice-type{
- width: 100%;
- height: 20%;
- }
- .glass-other{
- width: 100%;
- height: 10%;
- }
- .glass-part-all{
- margin-left: 2%;
- margin-top: 2%;
- width: 96%;
- height: 10%;
- }
- .glass-part-detail{
- margin-left: 2%;
- margin-top: 2%;
- width: 96%;
- height: 75%;
- }
-
-
-
- /*鐜荤拑缁勫悎鏄庣粏 glass-part*/
-
- h5{
- margin-top: 0.5rem;
- margin-left: 0.5rem;
- }
-/*甯冨眬css*/
- .el-row {
- margin-bottom: 20px;
- margin-top: 1rem;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-col {
- border-radius: 4px;
- }
-
- .grid-content {
- border-radius: 4px;
- min-height: 36px;
- }
-/* .el-col{
- background-color: #1890FF;
- }*/
- .line {
- width: 100%;
- height: 0;
- border-top: 2px solid var(--el-border-color);
- }
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/Product.vue b/UI-Project/src/views/sd/product/Product.vue
deleted file mode 100644
index 95552b9..0000000
--- a/UI-Project/src/views/sd/product/Product.vue
+++ /dev/null
@@ -1,64 +0,0 @@
-<script setup>
-import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
-import request from "@/utils/request";
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import {useRouter} from "vue-router";
-import GlassType from '@/components/sd/product/GlassType.vue'
-const router = useRouter()
-let indexFlag=$ref(1)
-function changeRouter(index){
- indexFlag=index
-}
-
-</script>
-
-<template>
- <div id="main">
- <div id="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">浜у搧棣栭〉</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">鍒涘缓</el-breadcrumb-item>
-<!-- <el-breadcrumb-item :to="{ path: '/main/product/test' }">娴嬭瘯</el-breadcrumb-item>-->
-<!-- <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">娴嬭瘯</el-breadcrumb-item>-->
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>
- </el-breadcrumb>
-
- </div>
-
- <div id="main-body">
- <router-view />
- </div>
- </div>
-</template>
-
-<style scoped>
-#main{
- 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: 99%;
- height: 95%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/SelectProduct.vue b/UI-Project/src/views/sd/product/SelectProduct.vue
deleted file mode 100644
index 06789e7..0000000
--- a/UI-Project/src/views/sd/product/SelectProduct.vue
+++ /dev/null
@@ -1,421 +0,0 @@
-<script lang="ts" setup>
-import request from "@/utils/request"
-import deepClone from "@/utils/deepClone"
-import {ElDatePicker, ElMessage} from "element-plus"
-import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
-import {Search} from "@element-plus/icons-vue"
-import GlassType from "@/components/sd/product/GlassType.vue"
-import {useRouter} from 'vue-router'
-import Sortable from 'sortablejs'
-import BasicTable from '@/components/basic/BasicTable.vue'
-import {VXETable} from "vxe-table";
-let productGlassTypeStore = useProductGlassTypeStore()
-let router=useRouter()
-//鐩戝惉鐜荤拑绫诲瀷鏀瑰彉
-let productList = ref([])
-let date=ref(['',''])
-
-
-
-let glassType = ref([])
-watch(productGlassTypeStore,(newVal,oldVal) => {
-
-
-})
-const getProduct = () => {
- request.post(`/product/1/100/${productGlassTypeStore.GlassType}`,filterData.value).then((res) => {
- if(res.code==200){
- pageTotal.value=res.data.total
- xGrid.value.loadData(res.data.data)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })
-}
-
-
-
-
-
-//瀹氫箟婊氬姩鏉¢珮搴�
-let scrollTop =ref(null)
-let scrollHeight =ref(null)
-let clientHeight =ref(null)
-const scrollEvnt = (row) => {
- // 鍐呭楂樺害
- scrollTop.value = row.$event.target.scrollTop
- scrollHeight.value = row.$event.target.scrollHeight
- clientHeight.value = row.$event.target.clientHeight
-}
-//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
-let filterData = ref({
- basicGlassType:{
- typeName:''
- }
-})
-//瀹氫箟椤甸潰鎬婚〉鏁�
-let pageTotal=ref('')
-//瀹氫箟鏁版嵁杩斿洖缁撴灉
-let produceList = ref([])
-//瀹氫箟褰撳墠椤垫暟
-let pageNum=$ref(1)
-let pageState = null
-//鐩戝惉浜у搧婊氬姩鏉$姸鎬侊紝婊氬姩鍒板簳閮ㄥ悜鍚庣璇锋眰鏁版嵁
-watch(scrollTop,(newVal,oldVal) => {
- //鍒ゆ柇褰撳墠鐘舵�佹煡璇㈢姸鎬�
- if(pageState!==null){
- return;
- }
- //鍒ゆ柇婊氬姩鏉′笂涓嬫粴鍔ㄤ笉鏄乏鍙虫粴鍔紝褰撳乏鍙虫粴鍔ㄧ洿鎺ヨ繑鍥�
- if((newVal === oldVal && newVal===0) || oldVal===null){
- return;
- }
- //鍒ゆ柇鏄惁婊氬埌搴曢儴
- if ((Math.round(scrollTop.value + clientHeight.value)+5 >= scrollHeight.value ) ) {
- if(newVal>oldVal){
- //鍒ゆ柇褰撳墠瀹瑰櫒闀垮害鏄惁涓�500锛屽苟涓斿綋鍓嶉〉灏忎簬瀹瑰櫒鎬绘暟閲�
- if(produceList.length===500 && pageNum<(produceList.length/100)){
- pageNum=pageNum+5
- }else{
- //鍒ゆ柇鏄惁鏄渶澶ч〉闈�
- if (pageNum>=pageTotal.value){
- //ElMessage.warning("娌℃湁鏇村鏁版嵁浜�")
- return
- }
- pageNum=pageNum+1
-
- }
- pageState=true
- }
- }else if(newVal===0 && oldVal>0 && pageNum>1 ){ //鍒ゆ柇鏄惁婊氬埌椤堕儴骞朵笖澶т簬瀹瑰櫒鏁伴噺
- //鍒ゆ柇鍚戜笂婊氬姩褰撳墠椤垫暟鏄惁澶т簬瀹瑰櫒鏁板��
- if(pageNum>5){
- pageNum=pageNum-5
- }else if((produceList.length/100)>=5) {
- pageNum=pageNum-1
- }else{
- return
- }
- pageState =false
- }
- if(pageState!==null){
- gridOptions.loading=true
- request.post(`/product/${pageNum}/100/${productGlassTypeStore.GlassType}`,filterData.value).then((res) => {
- try{
- if(res.code==200){
- if(pageState){
- produceList = produceList.concat(res.data.data)
- if(produceList.length>500){
- produceList=produceList.slice(100,600)
- }
- }else{
- produceList = res.data.data.concat(produceList)
- if(produceList.length>500){
- produceList=produceList.slice(0,500)
- }
- }
- xGrid.value.reloadData(produceList)
- pageState=null
- }else{
- ElMessage.warning(res.msg)
- }
- }finally {
- gridOptions.loading=false
- }
- })
- }
-
-
-
-
-})
-
-
-//绗竴娆″姞杞芥暟鎹�
-request.post(`/product/1/100/${productGlassTypeStore.GlassType}`,filterData.value).then((res) => {
- if(res.code==200){
- pageTotal.value=res.data.total
- produceList = produceList.value.concat(deepClone(res.data.data))
- xGrid.value.reloadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
-})
-
-
-
-
-
-/*const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' : {
- router.push({path: '/main/product/createProduct', query: { id: row.id }})
- break
- }
- case 'delete': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}*/
-
-// const getCheckList = (row) =>{
-// alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑纭澶嶉�夋淇℃伅鍙湪鎺у埗鍙版煡鐪�')
-// }
-
-
-const xGrid = ref()
-const gridOptions = reactive({
- loading: true,
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 60, useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'demo_1',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollX:{enabled: true},
- scrollY:{ enabled: true ,gt:0},//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- columns:[
- {type:'expand',fixed:"left",slots: { content:'content' },width: 60},
- {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },fixed:"left"},
- {field: 'id', title: '缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'productName', title: '鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'basicGlassType.typeName', title: '鎵�灞炵被鍒�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'query', title: '蹇�熸煡璇�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'remarks', title: '澶囨敞',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'creator', title: '鍒涘缓浜�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
- {field: 'createTime', title: '鍒涘缓鏃堕棿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}
- ],//琛ㄥご鍙傛暟
- data:null,//琛ㄦ牸鏁版嵁
- toolbarConfig: {
- buttons: [],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
- return[
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return `椤垫暟:${pageNum}/${pageTotal.value}`
- }
-
- return ''
- })
- ]
- }
-
-})
-
-
-/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
-const changeFilterEvent = (event, option, $panel,) => {
- // 鎵嬪姩瑙﹀彂绛涢��
- $panel.changeOption(event, !!option.data, option)
-}
-function filterChanged(column){
- gridOptions.loading=true
- //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
- let value = column.datas[0]!=undefined?column.datas[0]:''
- value = value.trim()
- //鍒ゆ柇鏄惁瀛樺湪澶栭敭
- if (column.property.indexOf('.')>-1){
- const columnArr = column.property.split('.')
- filterData.value[columnArr[0]] = {
- [columnArr[1]]:value
- }
- }else{
- filterData.value[column.property] = value
- }
- request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => {
- if(res.code==200){
- pageTotal.value=res.data.total
- pageNum=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- }
- })
-}
-
-
-
-
-
-/*鍚庣杩斿洖缁撴灉澶氬眰宓屽灞曠ず*/
-const hasDecimal = (value) => {
- const regex = /\./; // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
- return regex.test(value); // 杩斿洖true/false
-}
-
-/*琛ㄦ牸鎷栨嫿*/
-let sortable2: any
-
-const columnDrop2 = () => {
- const $grid = xGrid.value
- sortable2 = Sortable.create($grid.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'), {
- handle: '.vxe-header--column',
- onEnd: (sortableEvent) => {
- const targetThElem = sortableEvent.item
- const newIndex = sortableEvent.newIndex
- const oldIndex = sortableEvent.oldIndex
- const { fullColumn, tableColumn } = $grid.getTableColumn()
- const wrapperElem = targetThElem.parentNode
- const newColumn = fullColumn[newIndex]
- if (newColumn.fixed) {
- // 閿欒鐨勭Щ鍔�
- const oldThElem = wrapperElem.children[oldIndex]
- if (newIndex > oldIndex) {
- wrapperElem.insertBefore(targetThElem, oldThElem)
- } else {
- wrapperElem.insertBefore(targetThElem, oldThElem ? oldThElem.nextElementSibling : oldThElem)
- }
- VXETable.modal.message({ content: '鍥哄畾鍒椾笉鍏佽鎷栧姩锛�', status: 'error' })
- return
- }
- // 鑾峰彇鍒楃储寮� columnIndex > fullColumn
- const oldColumnIndex = $grid.getColumnIndex(tableColumn[oldIndex])
- const newColumnIndex = $grid.getColumnIndex(tableColumn[newIndex])
- // 绉诲姩鍒扮洰鏍囧垪
- const currRow = fullColumn.splice(oldColumnIndex, 1)[0]
- fullColumn.splice(newColumnIndex, 0, currRow)
- $grid.loadColumn(fullColumn)
- }
- })
-}
-
-let initTime: any
-nextTick(() => {
- // 鍔犺浇瀹屾垚涔嬪悗鍦ㄧ粦瀹氭嫋鍔ㄤ簨浠�
- initTime = setTimeout(() => {
- columnDrop2()
- }, 500)
-})
-
-onUnmounted(() => {
- clearTimeout(initTime)
- if (sortable2) {
- sortable2.destroy()
- }
-})
-
-
-</script>
-
-<template>
-
- <div style="width: 100%;height: 100%">
- <glass-type style="float: left" />
- <el-button
- @click="getProduct"
- id="select"
- type="primary" :icon="Search">鏌ヨ</el-button>
-
-
-
- <vxe-grid
- @filter-change="filterChanged"
- max-height="100%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
- v-on="gridEvents"
- @scroll ="scrollEvnt"
-
- >
- <!-- @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 v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
- <span v-else>{{ 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>
- </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>
-
-
-<!-- <basic-table-->
-<!-- style="height: 97%" v-if="flag"-->
-<!-- :tableProp="tableProp"-->
-<!-- @getCheckList="getCheckList"-->
-<!-- @getChildren="getChildren"-->
-<!-- ></basic-table>-->
- </div>
-</template>
-
-<style scoped>
-/*婊氬姩鏉℃暣浣撻儴鍒�*/
-.mytable-scrollbar ::-webkit-scrollbar {
- width: 10px;
- height: 10px;
-}
-/*婊氬姩鏉$殑杞ㄩ亾*/
-.mytable-scrollbar ::-webkit-scrollbar-track {
- background-color: #FFFFFF;
-}
-/*婊氬姩鏉¢噷闈㈢殑灏忔柟鍧楋紝鑳藉悜涓婂悜涓嬬Щ鍔�*/
-.mytable-scrollbar ::-webkit-scrollbar-thumb {
- background-color: transparent;
- border-radius: 5px;
- border: 1px solid #F1F1F1;
- box-shadow: inset 0 0 6px rgba(0,0,0,.3);
-}
-.mytable-scrollbar ::-webkit-scrollbar-thumb:hover {
- background-color: #ffffff;
-}
-.mytable-scrollbar ::-webkit-scrollbar-thumb:active {
- background-color: white;
-}
-/*杈硅锛屽嵆涓や釜婊氬姩鏉$殑浜ゆ眹澶�*/
-.mytable-scrollbar ::-webkit-scrollbar-corner {
- background-color: #FFFFFF;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/Test.vue b/UI-Project/src/views/sd/product/Test.vue
deleted file mode 100644
index 83a0971..0000000
--- a/UI-Project/src/views/sd/product/Test.vue
+++ /dev/null
@@ -1,112 +0,0 @@
-<script setup>
-import BasicTable from '@/components/basic/BasicTable.vue'
-import request from "@/utils/request"
-import deepClone from "@/utils/deepClone";
-import {ElMessage} from "element-plus";
-import router from "@/router";
-import {onMounted, ref} from "vue";
-
-
-
-
-
-/*title閲岀殑鍙傛暟璁剧疆
- * {
- * type:{expand,checkbox} 绫诲瀷
- * field: 鏁版嵁鎸囧悜浣嶇疆
- * title: 鏍囬
- * sortable: 鏄惁鍙帓搴�
- * editRender: 鏄惁鍙紪杈�
- * showOverflow: 鏄惁鏄剧ず鐪佺暐鍙�
- * width: 瀹藉害
- * fixed: left,right鏄惁鍥哄畾鍒�
- * slots锛氭彃妲界被鍨�
- * filters:[{ data: '' }],slots: { filter: 'num1_filter' }} 琛ㄥご绛涢�夋
- * editRender: { name: 'input', attrs: { placeholder: '' } } 鏁版嵁鍒楁槸鍚﹀彲缂栬緫
- * }
- *
- * */
-
-let tableProp = $ref({
- title:[
- {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
- {type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
- {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
- {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },fixed:"left"},
- {field: 'prodID', title: '缂栧彿', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
- {field: 'product', title: '鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'typeName', title: '鎵�灞炵被鍒�', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
- {field: 'query', title: '蹇�熸煡璇�', sortable: true},
- {field: 'remarks', title: '澶囨敞', sortable: true,showOverflow:"ellipsis"},
- {field: 'creator', title: '鍒涘缓浜�', sortable: true},
- {field: 'createTime', title: '鍒涘缓鏃堕棿', sortable: true}
- ],
- datas:null,
-//鑴氶儴姹傚拰
- footList:['remarks'],
- //绛涢�夋潯浠跺垪
- filter:{
- product:'n*'
- },
- buttons: [
- //{ code: 'myInsert', name: '鏂板' },
- // { code: 'deleteList', name: '鍒犻櫎' },
- { code: 'checkList', name: '鎻愪氦' }
- ],
-
-})
-let flag = $ref(false)
-request.get("/product").then((res) => {
- if(res.code==200){
- tableProp.datas= res.data
- flag = true
- //console.log(res.data)
- }else{
- ElMessage.warning(res.msg)
- }
-})
-
-//鎺ユ敹瀛愮粍浠朵紶杩囨潵鐨勯�変腑澶嶉�夋鏁版嵁
-const getCheckList = (row) =>{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑纭澶嶉�夋淇℃伅鍙湪鎺у埗鍙版煡鐪�')
- console.log(row)
-}
-
-
-const getChildren = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
- }
- }
-}
-const getFilterChildren = (param) =>{
-
-
-}
-
-
-</script>
-
-<template>
-
- <div style="width: 100%;height: 100%;">
-<!-- <el-input v-model="tableProp.filter.product"/>-->
- <basic-table v-if="flag"
- :tableProp="tableProp"
- @getCheckList="getCheckList"
- @getChildren="getChildren"
- @getFilterChildren="getFilterChildren"
- ></basic-table>
- </div>
-</template>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/Test11.vue b/UI-Project/src/views/sd/product/Test11.vue
deleted file mode 100644
index df9c840..0000000
--- a/UI-Project/src/views/sd/product/Test11.vue
+++ /dev/null
@@ -1,520 +0,0 @@
-<template>
- <div>
- <!-- 姝e父鍖哄煙鐨勬 -->
- <div class="vxe-table--cell-area" ref="cellarea">
- <span class="vxe-table--cell-main-area"></span>
- <span class="vxe-table--cell-active-area"></span>
- </div>
- <!-- 宸︿晶fixed鍖哄煙鐨勬 -->
- <div class="vxe-table--cell-area" ref="leftfixedcellarea">
- <span class="vxe-table--cell-main-area"></span>
- <span class="vxe-table--cell-active-area"></span>
- </div>
- <!-- 鍙充晶fixed鍖哄煙鐨勬 -->
- <div class="vxe-table--cell-area" ref="rightfixedcellarea">
- <span class="vxe-table--cell-main-area"></span>
- <span class="vxe-table--cell-active-area"></span>
- </div>
-
- <vxe-grid ref='xGrid' v-bind="gridOptions" height="500px"
- @toolbar-button-click="toolbarButtonClickEvent">
- </vxe-grid>
- </div>
-</template>
-
-<script lang="ts" setup>
-import { VxeGridProps } from 'vxe-table'
-import {nextTick, onMounted, reactive, ref} from "vue";
-
-let title = [//鍒楁�诲搴︿负1500
- { width: 100, field: "id", title: "#", align: "left", fixed: 'left' },
- { width: 100, field: "name", title: "濮撳悕", align: "left", fixed: 'left' },
- { width: 400, field: "age", title: "骞撮緞", align: "left" },
- { width: 400, field: "sex", title: "鎬у埆", align: "left" },
- { width: 100, field: "job", title: "宀椾綅", align: "left", fixed: 'right' },
- { width: 100, field: "address", title: "鍦板潃", align: "left", fixed: 'right' }
-]
-let tableDate = [
- { id: 1, name: "寮犱笁", age: 30, sex: "鐢�", job: "鍓嶇", address: "涓浗xxxxxxxxxx" },
- { id: 2, name: "鏉庡洓", age: 30, sex: "鐢�", job: "鍚庣", address: "涓浗xxxxxxxxxx" },
- { id: 3, name: "鐜嬩簲", age: 30, sex: "濂�", job: "杩愮淮", address: "涓浗xxxxxxxxxx" },
- { id: 4, name: "璧靛叚", age: 30, sex: "鐢�", job: "缇庡伐", address: "涓浗xxxxxxxxxx" },
- { id: 5, name: "鑰佸叓", age: 30, sex: "鐢�", job: "椤圭洰缁忕悊", address: "涓浗xxxxxxxxxx" },
- { id: 6, name: "妗�妗�", age: 30, sex: "濂�", job: "鍞悗", address: "涓浗xxxxxxxxxx" },
- { id: 7, name: "寮犱笁", age: 30, sex: "鐢�", job: "鍓嶇", address: "涓浗xxxxxxxxxx" },
- { id: 8, name: "鏉庡洓", age: 30, sex: "鐢�", job: "鍚庣", address: "涓浗xxxxxxxxxx" },
- { id: 9, name: "鐜嬩簲", age: 30, sex: "濂�", job: "杩愮淮", address: "涓浗xxxxxxxxxx" },
- { id: 10, name: "璧靛叚", age: 30, sex: "鐢�", job: "缇庡伐", address: "涓浗xxxxxxxxxx" },
- { id: 11, name: "鑰佸叓", age: 30, sex: "鐢�", job: "椤圭洰缁忕悊", address: "涓浗xxxxxxxxxx" },
- { id: 12, name: "妗�妗�", age: 30, sex: "濂�", job: "鍞悗", address: "涓浗xxxxxxxxxx" },
- { id: 13, name: "寮犱笁", age: 30, sex: "鐢�", job: "鍓嶇", address: "涓浗xxxxxxxxxx" },
- { id: 14, name: "鏉庡洓", age: 30, sex: "鐢�", job: "鍚庣", address: "涓浗xxxxxxxxxx" },
- { id: 15, name: "鐜嬩簲", age: 30, sex: "濂�", job: "杩愮淮", address: "涓浗xxxxxxxxxx" },
- { id: 16, name: "璧靛叚", age: 30, sex: "鐢�", job: "缇庡伐", address: "涓浗xxxxxxxxxx" },
- { id: 17, name: "鑰佸叓", age: 30, sex: "鐢�", job: "椤圭洰缁忕悊", address: "涓浗xxxxxxxxxx" },
- { id: 18, name: "妗�妗�", age: 30, sex: "濂�", job: "鍞悗", address: "涓浗xxxxxxxxxx" },
- { id: 19, name: "寮犱笁", age: 30, sex: "鐢�", job: "鍓嶇", address: "涓浗xxxxxxxxxx" },
- { id: 20, name: "鏉庡洓", age: 30, sex: "鐢�", job: "鍚庣", address: "涓浗xxxxxxxxxx" },
- { id: 21, name: "鐜嬩簲", age: 30, sex: "濂�", job: "杩愮淮", address: "涓浗xxxxxxxxxx" },
- { id: 22, name: "璧靛叚", age: 30, sex: "鐢�", job: "缇庡伐", address: "涓浗xxxxxxxxxx" },
- { id: 23, name: "鑰佸叓", age: 30, sex: "鐢�", job: "椤圭洰缁忕悊", address: "涓浗xxxxxxxxxx" },
- { id: 24, name: "妗�妗�", age: 30, sex: "濂�", job: "鍞悗", address: "涓浗xxxxxxxxxx" },
-]
-
-let gridOptions = reactive<VxeGridProps<any>>({
- //宸︿笂瑙掓寜閽�
- toolbarConfig: {
- perfect: true,
- enabled: true,
- size: "mini",
- buttons: [
- {
- code: 'getcellselctdata', type: "text", name: '鑾峰彇閫変腑鏁版嵁'
- }
- ],
- },
- //鍒楅厤缃� (浣跨敤鍒楁嫋鎷藉姛鑳�,蹇呴』閰嶇疆useKey涓簍rue)
- columnConfig: { resizable: true, useKey: true },
- //杈规
- border: "full",
- //鏂戦┈绾�
- stripe: true,
- //鍒椾俊鎭�
- columns: title,
- //鏁版嵁
- data: tableDate,
- //杩欓噷涓�瀹氳鎸囧畾true锛屽惁鍒檙owConfig鐨刪eight娌$敤
- showOverflow: true,
- //琛岄厤缃�,杩欓噷鐨勮楂樹竴瀹氶渶瑕佹寚瀹�
- rowConfig: { isCurrent: true, height: 35, isHover: true },
-})
-//#region 浠ヤ笅鏄紶鏍囬�変腑鍔熻兘
-
-
-//榧犳爣婊戝姩閫変腑
-let isSelecting = ref(false) // 鏄惁姝e湪杩涜閫夋嫨鎿嶄綔,榛樿涓篺alse
-let selectionStart = reactive({ rowIndex: -1, cellIndex: -1 }) // 閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
-let selectionEnd = reactive({ rowIndex: -1, cellIndex: -1 }) // 閫夋嫨鎿嶄綔缁撴潫鍗曞厓鏍间綅缃�
-
-onMounted(() => {
- addListener()
-})
-//鑾峰彇椤甸潰ref鑺傜偣
-//鑾峰彇vxetable琛ㄦ牸鑺傜偣
-let xGrid = ref()
-let cellarea = ref()
-let leftfixedcellarea = ref()
-let rightfixedcellarea = ref()
-
-//杩斿洖table鐨剅ef鍚嶇О
-const getTablexGrid = () => {
- return xGrid.value
-}
-
-//娣诲姞浜嬩欢
-const addListener = () => {
- //娣诲姞澶氶�夊垪
- nextTick(() => {
- window.addEventListener("mousedown", tableOutDestroyAreaBox)//缁檞indow娣诲姞榧犳爣鎸変笅浜嬩欢,鍒ゆ柇鏄惁鍦ㄨ〃鏍煎,鏄攢姣�
- window.addEventListener("mouseup", tbodymouseup)//缁檞indow娣诲姞榧犳爣鏉惧紑浜嬩欢
- let tbody = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper table tbody")//鑾峰彇tbody鍖哄煙
-
- if (tbody) {
- tbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣鎸変笅浜嬩欢
- tbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣绉诲姩浜嬩欢
- tbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨則body娣诲姞榧犳爣绉诲嚭浜嬩欢
- tbody.addEventListener("click", tableCellClick)//娣诲姞宸﹂敭鍗曞嚮浜嬩欢
- tbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let bodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper")//鑾峰彇姝e父鍖哄煙鐨刡ody
- if (bodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸闈瀎ixed鍖哄煙鐨勬鐨勫悕绉�
- bodyWrapper.appendChild(cellarea.value)//娣诲姞鑼冨洿妗嗗厓绱�
- }
- setTimeout(() => {
- //#region 宸︿晶鍥哄畾鍒�
- let leftfixedtbody = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper table tbody")//鑾峰彇fixedtbody鍖哄煙
-
- if (leftfixedtbody) {
- leftfixedtbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣鎸変笅浜嬩欢
- leftfixedtbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣绉诲姩浜嬩欢
- leftfixedtbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨刲eftfixedtbody娣诲姞榧犳爣绉诲嚭浜嬩欢
- leftfixedtbody.addEventListener("click", tableCellClick)//娣诲姞鍗曞嚮浜嬩欢
- leftfixedtbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let leftFixedBodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper")
- if (leftFixedBodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸fixed鍖哄煙鐨勬鐨勫悕绉�
- leftFixedBodyWrapper.appendChild(leftfixedcellarea.value)
- }
- //#endregion
-
- //#region 鍙充晶鍥哄畾鍒�
- let rightfixedtbody = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper table tbody")//鑾峰彇fixedtbody鍖哄煙
-
- if (rightfixedtbody) {
- rightfixedtbody.addEventListener("mousedown", tbodymousedown)//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣鎸変笅浜嬩欢
- rightfixedtbody.addEventListener("mousemove", tbodymousemove)//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣绉诲姩浜嬩欢
- rightfixedtbody.addEventListener("mouseout", throttle(tbodymouseout, 50))//缁欒〃鏍间腑鐨剅ightfixedtbody娣诲姞榧犳爣绉诲嚭浜嬩欢
- rightfixedtbody.addEventListener("click", tableCellClick)//娣诲姞鍗曞嚮浜嬩欢
- rightfixedtbody.oncontextmenu = tableCellMenuClick//娣诲姞鍙抽敭鑿滃崟浜嬩欢
- }
-
- let rightFixedBodyWrapper = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper")
- if (rightFixedBodyWrapper) {
- //娉ㄦ剰杩欓噷鐨剅ef鍚嶇О锛岃繖閲屾槸fixed鍖哄煙鐨勬鐨勫悕绉�
- rightFixedBodyWrapper.appendChild(rightfixedcellarea.value)
- }
- //#endregion
-
- }, 100)
-
- })
-}
-
-//榧犳爣鎸変笅浜嬩欢
-const tbodymousedown = (event: MouseEvent) => {
- event.stopPropagation()//闃绘鍐掓场
- getTablexGrid().closeMenu()//鎵嬪姩鍏抽棴鍙抽敭鑿滃崟
- //宸﹂敭0,涓敭1,鍙抽敭2
- if (event.button === 0) {//宸﹂敭鎸変笅
- // 璁板綍閫夋嫨鎿嶄綔璧峰浣嶇疆
- selectionStart = getCellPosition(event.target)//璁剧疆閫夋嫨鎿嶄綔璧峰鍗曞厓鏍间綅缃�
-
- isSelecting.value = true//鏍囪涓烘鍦ㄩ�夋嫨鎿嶄綔
- }
-}
-
-
-//榧犳爣绉诲姩浜嬩欢
-//todo 杩欓噷瑕佽妭娴佹搷浣�,鍙湪缁撴潫鏃惰Е鍙戜竴娆�
-const tbodymousemove = (event: MouseEvent) => {
- if (event.button === 0) {//宸﹂敭绉诲姩
- if (!isSelecting.value) return//濡傛灉褰撳墠闈炴鍦ㄩ�夋嫨鎿嶄綔,鐩存帴閫�鍑�
- //璁板綍閫夋嫨鎿嶄綔缁撴潫浣嶇疆
- selectionEnd = getCellPosition(event.target)
-
- //璁剧疆鏍峰紡,骞舵樉绀鸿寖鍥存
- setselectedCellArea()
-
- }
-}
-
-//榧犳爣鎸夐敭缁撴潫浜嬩欢,娣诲姞鍦ㄤ簡window涓�
-const tbodymouseup = (event: MouseEvent) => {
- if (event.button === 0) {//宸﹂敭鏉惧紑
- isSelecting.value = false//鏍囪涓哄仠姝㈤�夋嫨鎿嶄綔
- }
-}
-
-let outevent = ref()//绉诲姩浜嬩欢,涓嶄繚瀛�,寰幆瀹氭椂鍣ㄥ唴鏃犳硶鐩戝惉鍒版柊鐨勪簨浠�
-
-//榧犳爣绉诲嚭琛ㄦ牸浜嬩欢,鍙湪绉诲姩鐨勬椂鍊欎細瑙﹀彂,鏆傚仠绉诲姩涓嶈Е鍙�
-const tbodymouseout = (event: MouseEvent) => {
- outevent.value = event//淇濆瓨绉诲姩浜嬩欢
-
- if (isSelecting.value) {//濡傛灉姝e湪鎵ц閫変腑鎿嶄綔
- const timer = setInterval(() => {//寮�鍚惊鐜畾鏃跺櫒
- if (isSelecting.value) {//鍒ゆ柇褰撳墠鏄惁姝e湪閫夋嫨
- //鑾峰彇琛ㄦ牸鍏冪礌
- var table = getTablexGrid().$el.querySelector(".vxe-table--body-wrapper table")//鑾峰彇闈炲浐瀹氬垪(鍜屽浐瀹氬垪)鐨則able鍏冪礌
- if (outevent.value.clientX > table.parentElement.getBoundingClientRect().right - 30) {//鍒ゆ柇榧犳爣x杞存槸鍚﹁秴鍑鸿〃鏍煎彸渚�,鍚戝彸婊氬姩
- var maxScrollPosition = table.parentElement.scrollWidth - table.parentElement.clientWidth//鑾峰彇婊氬姩鏉℃渶澶т綅缃�
- if (table.parentElement.scrollLeft < maxScrollPosition) {//濡傛灉娌″埌婊氬姩鏉℃渶澶т綅缃�,鎵ц婊氬姩
- table.parentElement.scrollLeft += 10//鎵ц姘村钩婊氬姩鏉″悜鍙虫粴鍔�
- }
- } else if (outevent.value.clientX < table.parentElement.getBoundingClientRect().left + 30) {//鍒ゆ柇榧犳爣x杞存槸鍚﹁秴鍑鸿〃鏍煎乏渚�,鍚戝乏婊氬姩
- if (table.parentElement.scrollLeft > 0) {//濡傛灉娌″埌婊氬姩鏉℃渶澶т綅缃�,鎵ц婊氬姩
- //榧犳爣绉诲嚭琛ㄦ牸锛屾粴鍔ㄦ按骞虫粴鍔ㄦ潯
- table.parentElement.scrollLeft -= 10//鎵ц姘村钩婊氬姩鏉″悜鍙虫粴鍔�
- }
- }
-
-
- } else {
- clearInterval(timer)//娓呴櫎寰幆瀹氭椂鍣�
- }
- }, 200)//杩欓噷璁剧疆婊戝姩閫熷害
-
- }
-
-}
-
-//鑺傛祦鍑芥暟,todo//鏀逛负鍏ㄥ眬
-const throttle = (fn: Function, delay: number) => {
- const canRun = ref(true)
- return (...args: any[]) => {
- if (!canRun.value) return
- canRun.value = false
- setTimeout(() => {
- fn(...args)
- canRun.value = true
- }, delay)
- }
-}
-
-// 鑾峰彇鍗曞厓鏍间綅缃�(rowIndex, cellIndex)
-const getCellPosition = (cell: any) => {
-
-
- while (cell.tagName !== 'TD') {//灏哻ell鎸囧悜TD鍏冪礌
- cell = cell.parentElement
- }
-
- let visibleColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- const cellIndex = visibleColumn.findIndex((col: { id: any; }) => {//杩斿洖colid鐩哥瓑鐨剉isibleColumn鍏ㄩ噺琛ㄥご鍒楃殑绱㈠紩
- return col.id == cell.getAttribute("colid")
- })
-
- let visibleData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
-
- const rowIndex = visibleData.findIndex((row: { _X_ROW_KEY: any; }) => {//杩斿洖rowid鐩哥瓑鐨剉isibleData鍏ㄩ噺琛ㄤ綋鏁版嵁
- return row._X_ROW_KEY == cell.parentElement.getAttribute("rowid")//杩斿洖rowid鐩哥瓑鐨剉isibleData鍏ㄩ噺琛ㄤ綋鏁版嵁鐨勭储寮�
- })
- return { rowIndex, cellIndex }
-
-}
-
-//璁剧疆妗嗘墦寮�
-const setselectedCellArea = () => {
-
-
-
- var activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//姝e父鍖哄煙閫変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var mainElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//姝e父鍖哄煙閫変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
- var leftFixedActiveElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//宸︿晶鍥哄畾鍒楅�変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var leftFixedMainElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//宸︿晶鍥哄畾鍒楅�変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
- var rightFixedActiveElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area")//鍙充晶鍥哄畾鍒楅�変腑杈规婵�娲荤殑鍏冪礌(浠呮槸杈规)
- var rightFixedMainElement = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area")//鍙充晶鍥哄畾鍒楅�変腑杈规鍐呮暣涓寖鍥寸殑鍏冪礌
-
-
- var elements = [activeElement, mainElement, leftFixedActiveElement, leftFixedMainElement, rightFixedActiveElement, rightFixedMainElement]
- let area = getAreaBoxPosition()
- if (area) {
- var { width, height, left, top, right } = area
- } else {
- return
- }
- elements.forEach((element, index) => {
- if (element) {//璁剧疆鏄剧ず鑼冨洿妗嗙殑鍐呴儴鍏冪礌鐨勬牱寮�
- element.style.width = `${width}px`
- element.style.height = `${height}px`
- element.style.top = `${top}px`
- element.style.display = "block"
- if (index <= elements.length - 1 - 2) {//濡傛灉涓嶆槸rightFixedActiveElement鎴杛ightFixedMainElement
- element.style.left = `${left}px`
- } else {
- element.style.right = `${right}px`
- }
- }
- })
-
- //鏄剧ず鑼冨洿妗�
- openAreaBox()
-}
-
-//鏍规嵁寮�濮嬩綅缃拰缁撴潫浣嶇疆鐨勭储寮曡绠楁鐨剋idth,height,left,top(宸︿晶鍥哄畾鍒楀拰姝e父鍖哄煙鍜屽彸渚у浐瀹氬垪浣跨敤)
-const getAreaBoxPosition = () => {
- let startRowIndex = selectionStart.rowIndex//鑾峰彇閫変腑璧峰琛岀储寮�
- let endRowIndex = selectionEnd.rowIndex//鑾峰彇閫変腑缁撴潫琛岀储寮�
- let startColumnIndex = selectionStart.cellIndex//鑾峰彇閫変腑璧峰鍒楃储寮�
- let endColumnIndex = selectionEnd.cellIndex//鑾峰彇閫変腑缁撴潫鍒楃储寮�
- let visibleColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- let visibleData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
- if (startColumnIndex < 0 || endColumnIndex < 0 || startRowIndex < 0 || endRowIndex < 0) return
- var maxColumnIndex = visibleColumn.length - 1//鏈�澶у垪绱㈠紩
- var maxRowIndex = visibleData.length - 1//鏈�澶ц绱㈠紩
- if (endColumnIndex > maxColumnIndex) {//鍒版渶鍚庝竴鍒�,鎸囧悜鏈�鍚庝竴鍒�
- endColumnIndex = maxColumnIndex
- }
- if (endRowIndex > maxRowIndex) {//鍒版渶鍚庝竴琛�,鎸囧悜鏈�鍚庝竴琛�
- endRowIndex = maxRowIndex
- }
- let width = 0, height = 0, left = 0, top = 0, right = 0
- visibleColumn.forEach((col: { renderWidth: number; }, index: number) => {
- if (startColumnIndex <= endColumnIndex) {//寮�濮嬪垪绱㈠紩灏忎簬缁撴潫鍒楃储寮�,鍗充粠宸﹀線鍙抽�夋嫨
- if (index < startColumnIndex) {
- left += col.renderWidth//璺濈琛ㄦ牸鏁翠綋宸︿晶杈规璺濈
- }
- if (index > endColumnIndex) {//鏁版嵁绱㈠紩澶т簬缁撴潫鍒�,杩欓噷鑾峰彇璺濈鍚庨潰鏁版嵁鐨勫搴�
- right += col.renderWidth//璺濈琛ㄦ牸鏁翠綋鍙充晶杈规璺濈,鍔犱笂褰撳墠鍒�
- }
- if (startColumnIndex <= index && index <= endColumnIndex) {//寮�濮嬪垪绱㈠紩澶т簬鏁版嵁绱㈠紩 鍜� 缁撴潫鍒楃储寮曞皬浜庢暟鎹储寮�,杩欓噷鑾峰彇閫変腑鍖哄煙鐨勫搴�
- width += col.renderWidth//閫変腑鍖哄煙鐨勫搴�
- }
- } else {//浠庡彸寰�宸﹂�夋嫨
- if (index < endColumnIndex) {
- left += col.renderWidth//璺濈琛ㄦ牸鏁翠綋宸︿晶杈规璺濈
- }
- if (index > startColumnIndex) {//鏁版嵁绱㈠紩澶т簬寮�濮嬪垪,杩欓噷鑾峰彇璺濈鍚庨潰鏁版嵁鐨勫搴�
- right += col.renderWidth//璺濈琛ㄦ牸鏁翠綋鍙充晶杈规璺濈,鍔犱笂褰撳墠鍒�
- }
- if (startColumnIndex >= index && index >= endColumnIndex) {//寮�濮嬪垪绱㈠紩澶т簬鏁版嵁绱㈠紩 鍜� 缁撴潫鍒楃储寮曞皬浜庢暟鎹储寮�,杩欓噷鑾峰彇閫変腑鍖哄煙鐨勫搴�
- width += col.renderWidth//閫変腑鍖哄煙鐨勫搴�
- }
- }
-
- })
- if (startRowIndex <= endRowIndex) {//寮�濮嬭绱㈠紩灏忎簬缁撴潫琛岀储寮�,鍗充粠涓婂線涓嬮�夋嫨
- height = (endRowIndex - startRowIndex + 1) * gridOptions.rowConfig!.height!//閫変腑鍖哄煙鐨勯珮搴�
- top = startRowIndex * gridOptions.rowConfig!.height!//璺濈琛ㄦ牸鏁翠綋椤堕儴杈规璺濈
- } else {
- height = (startRowIndex - endRowIndex + 1) * gridOptions.rowConfig!.height!//閫変腑鍖哄煙鐨勯珮搴�
- top = endRowIndex * gridOptions.rowConfig!.height!//璺濈琛ㄦ牸鏁翠綋椤堕儴杈规璺濈
- }
-
-
-
- return { width, height, left, top, right }
-
-}
-
-//鏄剧ず鑼冨洿妗�
-const openAreaBox = () => {
- var element = xGrid.value.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
- element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
- element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "block"
- }
-}
-
-//琛ㄦ牸澶栭攢姣佽寖鍥存
-const tableOutDestroyAreaBox = (event: MouseEvent) => {
- var element = getTablexGrid().$el.querySelector(".vxe-table--render-wrapper")
- if (element) {
- if (event.clientX < element.getBoundingClientRect().left || event.clientX > element.getBoundingClientRect().right
- || event.clientY > element.getBoundingClientRect().top || event.clientY < element.getBoundingClientRect().bottom
- ) {
- destroyAreaBox()
- }
- }
-
-
-}
-
-//閿�姣佽寖鍥存
-const destroyAreaBox = () => {
- var element = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
- element = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
- element = getTablexGrid().$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper .vxe-table--cell-area")
- if (element) {
- element.style.display = "none"
- }
-}
-
-//琛ㄦ牸鍗曞厓鏍肩偣鍑讳簨浠�
-const tableCellClick = (e: MouseEvent) => {
-
- if (!isSelecting.value) {//闈為�変腑鐘舵��
- try {
- selectionStart = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- selectionEnd = selectionStart//缁撴潫浣嶇疆涔熸槸鑷繁
- //璁剧疆鏍峰紡
- setselectedCellArea()
- } catch (error) {
-
- }
-
- }
-}
-
-//琛ㄦ牸鍙抽敭鐐瑰嚮浜嬩欢
-const tableCellMenuClick = (e: MouseEvent) => {
- if (!isSelecting.value) {//闈為�変腑鐘舵��
- let currentCellPosition = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- var horizontalFlag//鏄惁鍦ㄨ寖鍥存鐨勬按骞冲垽鏂爣璁�
- var verticalFlag//鏄惁鍦ㄨ寖鍥存鐨勫瀭鐩村垽鏂爣璁�
- if (selectionStart.cellIndex <= selectionEnd.cellIndex) {//濡傛灉鏄粠宸﹀線鍙抽�夊彇
- horizontalFlag = selectionStart.cellIndex <= currentCellPosition.cellIndex && currentCellPosition.cellIndex <= selectionEnd.cellIndex
- } else {//浠庡彸寰�宸﹂�夊彇
- horizontalFlag = selectionEnd.cellIndex <= currentCellPosition.cellIndex && currentCellPosition.cellIndex <= selectionStart.cellIndex
- }
- if (selectionStart.rowIndex <= selectionEnd.rowIndex) {//濡傛灉鏄粠涓婂線涓嬮�夊彇
- verticalFlag = selectionStart.rowIndex <= currentCellPosition.rowIndex && currentCellPosition.rowIndex <= selectionEnd.rowIndex
- } else {//浠庝笅寰�涓婇�夊彇
- verticalFlag = selectionEnd.rowIndex <= currentCellPosition.rowIndex && currentCellPosition.rowIndex <= selectionStart.rowIndex
- }
-
- if (horizontalFlag && verticalFlag) { //鍒ゆ柇濡傛灉涓嶅湪閫変腑鍖哄煙鍐�,瑙﹀彂琛ㄦ牸宸﹂敭鍗曞嚮浜嬩欢,鏇存柊鎴彇鍗曞厓鏍�,鍚﹀垯濡傛灉鍦ㄦ甯歌Е鍙戝彸閿彍鍗�
-
- } else {
- selectionStart = getCellPosition(e.target)//鑾峰彇鍗曞厓鏍间綅缃�
- selectionEnd = selectionStart//缁撴潫浣嶇疆涔熸槸鑷繁
- //璁剧疆鏍峰紡
- setselectedCellArea()
- }
-
- }
-
-}
-
-const toolbarButtonClickEvent = ({ code }: { code: any }) => {
- switch (code) {
- case "getcellselctdata":
- //鎴戠粰澶у鎵撳嵃澶勭悊:
- console.log("鏄惁姝e湪杩涜婊戝姩閫変腑鎿嶄綔锛�", isSelecting.value)
- //宸︿笂瑙掑潗鏍�
- console.log("鍗曞厓鏍艰捣濮嬩綅缃細绱㈠紩:", selectionStart)
- //鍙充笅瑙掑潗鏍�
- console.log("鍗曞厓鏍肩粨鏉熶綅缃細绱㈠紩:", selectionEnd)
-
- //杩欓噷闇�瑕佹槸visibleData
- let tableData = getTablexGrid().getTableData().visibleData//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃浣撴暟鎹�
- let rowStart = selectionStart.rowIndex//鑾峰彇閫変腑璧峰琛岀储寮�
- let rowEnd = selectionEnd.rowIndex//鑾峰彇閫変腑缁撴潫琛岀储寮�
- let selectRows = tableData.filter((col, index: number) => {//col鍙傛暟涓嶈兘鏀瑰惁鍒欎細鑾峰彇涓嶅埌鏁版嵁
- //杩欓噷淇敼浠庡彸涓嬪線宸︿笂鎷栧姩鐨勬暟鎹樉绀�
- if (rowStart <= rowEnd) {
- return rowStart <= index && rowEnd >= index
- } else {
- return rowStart >= index && rowEnd <= index
- }
- })
- console.log("榧犳爣閫変腑琛�:", JSON.stringify(selectRows))
-
- //杩欓噷闇�瑕佹槸visibleColumn
- let colStart = selectionStart.cellIndex//鑾峰彇閫変腑璧峰鍒楃储寮�
- let colEnd = selectionEnd.cellIndex//鑾峰彇閫変腑缁撴潫鍒楃储寮�
- let tableColumn = getTablexGrid().getTableColumn().visibleColumn//鑾峰彇澶勭悊鏉′欢涔嬪悗鐨勫叏閲忚〃澶村垪
- let selectCols = tableColumn.filter((col, index: number) => {//col鍙傛暟涓嶈兘鏀瑰惁鍒欎細鑾峰彇涓嶅埌鏁版嵁
- //杩欓噷淇敼浠庡彸涓嬪線宸︿笂鎷栧姩鐨勬暟鎹樉绀�
- if (colStart <= colEnd) {
- return colStart <= index && colEnd >= index
- } else {
- return colStart >= index && colEnd <= index
- }
-
- })
- console.log("榧犳爣閫変腑鍒�:", JSON.stringify(selectCols))
- break
- }
-}
-//#endregion
-</script>
-
-<style scoped>
-.vxe-grid {
- /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/product/testSort.vue b/UI-Project/src/views/sd/product/testSort.vue
deleted file mode 100644
index 4d635a3..0000000
--- a/UI-Project/src/views/sd/product/testSort.vue
+++ /dev/null
@@ -1,141 +0,0 @@
-<script lang="ts" setup>
-import { defineComponent, reactive, ref, onUnmounted, nextTick } from 'vue'
-import { VXETable, VxeGridInstance, VxeGridProps } from 'vxe-table'
-import Sortable from 'sortablejs'
-const xGrid2 = ref({} as VxeGridInstance)
-
-const meanNum = (list: any[], field: string) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count / list.length
-}
-
-const sumNum = (list: any[], field: string) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count
-}
-
-const gridOptions2 = reactive({
- border: true,
- showFooter: true,
- class: 'sortable-column-demo',
- columnConfig: {
- useKey: true
- },
- scrollX: {
- enabled: false
- },
- toolbarConfig: {
- custom: true
- },
- columns: [
- { field: 'name', title: 'Name', fixed: 'left', width: 300 },
- { field: 'nickname', title: 'Nickname' },
- { field: 'role', title: 'Role' },
- { field: 'sex', title: 'Sex' },
- { field: 'age', title: 'Age' },
- { field: 'date3', title: 'Date' },
- { field: 'address', title: 'Address', width: 200, fixed: 'right', showOverflow: true }
- ],
- data: [
- { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' },
- { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
- { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
- { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'Shenzhen' },
- { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' }
- ],
- footerMethod ({ columns, data }) {
- return [
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '骞冲潎'
- }
- if (['age', 'sex'].includes(column.property)) {
- return meanNum(data, column.property)
- }
- return null
- }),
- columns.map((column, columnIndex) => {
- if (columnIndex === 0) {
- return '鍜屽��'
- }
- if (['age', 'sex'].includes(column.property)) {
- return sumNum(data, column.property)
- }
- return null
- })
- ]
- }
-} as VxeGridProps)
-
-let sortable2: any
-
-const columnDrop2 = () => {
- const $grid = xGrid2.value
- sortable2 = Sortable.create($grid.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'), {
- handle: '.vxe-header--column',
- onEnd: (sortableEvent) => {
- const targetThElem = sortableEvent.item
- const newIndex = sortableEvent.newIndex as number
- const oldIndex = sortableEvent.oldIndex as number
- const { fullColumn, tableColumn } = $grid.getTableColumn()
- const wrapperElem = targetThElem.parentNode as HTMLElement
- const newColumn = fullColumn[newIndex]
- if (newColumn.fixed) {
- // 閿欒鐨勭Щ鍔�
- const oldThElem = wrapperElem.children[oldIndex] as HTMLElement
- if (newIndex > oldIndex) {
- wrapperElem.insertBefore(targetThElem, oldThElem)
- } else {
- wrapperElem.insertBefore(targetThElem, oldThElem ? oldThElem.nextElementSibling : oldThElem)
- }
- VXETable.modal.message({ content: '鍥哄畾鍒椾笉鍏佽鎷栧姩锛�', status: 'error' })
- return
- }
- // 鑾峰彇鍒楃储寮� columnIndex > fullColumn
- const oldColumnIndex = $grid.getColumnIndex(tableColumn[oldIndex])
- const newColumnIndex = $grid.getColumnIndex(tableColumn[newIndex])
- // 绉诲姩鍒扮洰鏍囧垪
- const currRow = fullColumn.splice(oldColumnIndex, 1)[0]
- fullColumn.splice(newColumnIndex, 0, currRow)
- $grid.loadColumn(fullColumn)
- }
- })
-}
-
-let initTime: any
-nextTick(() => {
- // 鍔犺浇瀹屾垚涔嬪悗鍦ㄧ粦瀹氭嫋鍔ㄤ簨浠�
- initTime = setTimeout(() => {
- columnDrop2()
- }, 500)
-})
-
-onUnmounted(() => {
- clearTimeout(initTime)
- if (sortable2) {
- sortable2.destroy()
- }
-})
-
-
-</script>
-
-<template>
- <vxe-grid ref="xGrid2" v-bind="gridOptions2"></vxe-grid>
-</template>
-
-<style scoped>
-.sortable-column-demo .vxe-header--row .vxe-header--column.sortable-ghost,
-.sortable-column-demo .vxe-header--row .vxe-header--column.sortable-chosen {
- background-color: #dfecfb;
-}
-.sortable-column-demo .vxe-header--row .vxe-header--column.col--fixed {
- cursor: no-drop;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/returns/Returns.vue b/UI-Project/src/views/sd/returns/Returns.vue
deleted file mode 100644
index cfa6d0c..0000000
--- a/UI-Project/src/views/sd/returns/Returns.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-<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="div-title">
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/returns/selectReturns' }">閫�璐ч椤�</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/returns/selectDeliveryList' }">鍙戣揣閫�璐�</el-breadcrumb-item>
- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/returns/returnsReport' }">鎶ヨ〃</el-breadcrumb-item>
- <el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>
- </el-breadcrumb>
- </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: 99%;
- height: 95%;
- margin-top: 1%;
-}
-#select{
- margin-left:0.5rem;
-}
-:deep(.indexTag .el-breadcrumb__inner){
- color: #5CADFE !important;
-}
-</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/sd/returns/SelectReturns.vue b/UI-Project/src/views/sd/returns/SelectReturns.vue
deleted file mode 100644
index 6870fce..0000000
--- a/UI-Project/src/views/sd/returns/SelectReturns.vue
+++ /dev/null
@@ -1,171 +0,0 @@
-<script setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
-import {useRouter} from "vue-router"
-const router = useRouter()
-
-
-
-
-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: '鍏ュ簱', width: 40, slots: { default: 'state' }},
-
- {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}
- ],//琛ㄥご鎸夐挳
- toolbarConfig: {
- buttons: [],
- import: false,
- export: true,
- print: true,
- zoom: true,
- custom: true
- },
- data: [
- {
- '0': '1',
- '1': '',
- '2': '',
- '3': 'TH23120801',
- '4': '閮戠強鐝�',
- '5': '2023-12-08',
- '6': '310',
- '7': '涓婃捣閲岃寤虹瓚宸ョ▼鏈夐檺鍏徃',
- '8': '琛�1-2',
- '9': '瀹胯縼鏌愭煇椤圭洰',
- '10': 'JG23112304',
- '11': '瀹炵墿閫�璐�',
- '12': '8',
- '13': '15.68',
- '14': '11912.05',
- '15': '2023-11-24',
- '16': '鐜嬮緳'
- }
- ],//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>
-
-
- <vxe-grid
- max-height="97%"
- class="mytable-scrollbar"
- ref="xGrid"
- v-bind="gridOptions"
-
- >
- <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
- <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 #state="{ row}">
- <el-checkbox checked/>
- </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>
- </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>
\ No newline at end of file
diff --git a/UI-Project/vite.config.js b/UI-Project/vite.config.js
index c5cc368..b0685b2 100644
--- a/UI-Project/vite.config.js
+++ b/UI-Project/vite.config.js
@@ -33,7 +33,7 @@
'/api2': {
target: 'localhost:8080/mesModuleTools',
changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api2/, ""),
+ rewrite: (path) => path.replace(/^\/api2/, "mesModuleTools"),
},
}
}
diff --git a/UnLoadGlassModule/mockPLCData.properties b/UnLoadGlassModule/mockPLCData.properties
new file mode 100644
index 0000000..56514ef
--- /dev/null
+++ b/UnLoadGlassModule/mockPLCData.properties
@@ -0,0 +1,13 @@
+#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
diff --git a/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLC.java b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLC.java
new file mode 100644
index 0000000..86d7a0b
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLC.java
@@ -0,0 +1,96 @@
+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;
+ }
+
+ // 鏍规嵁闇�瑕侊紝鎮ㄥ彲浠ユ坊鍔犳洿澶氭ā鎷烶LC鎿嶄綔鐨勬柟娉�
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLCtwo.java b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLCtwo.java
new file mode 100644
index 0000000..2d0905d
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/common/PlcTools/MockS7PLCtwo.java
@@ -0,0 +1,276 @@
+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);
+ // 鍋囪杩欓噷浣跨敤鍐呭瓨鏄犲皠鏉ユā鎷烶LC鍐欏叆鎿嶄綔
+ 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); // 鍚屼笂锛屾瘡涓獁ord鍗犱袱涓湴鍧�鍗曚綅
+
+ //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);
+
+ // 灏嗗瓧绗︿覆杞崲鎴恠hort绫诲瀷锛屽苟娣诲姞鍒扮粨鏋滃垪琛ㄤ腑
+ // 杩欓噷鍋囪鏁版嵁宸茬粡浠ラ�傚綋鐨勬柟寮忓瓨鍌紙渚嬪锛屼綔涓虹煭鏁村瀷鐨勫瓧绗︿覆琛ㄧず锛�
+ // 濡傛灉璇诲彇鐨勬暟鎹负绌烘垨杞崲澶辫触锛屼綘鍙兘闇�瑕佸鐞嗚繖浜涙儏鍐�
+ 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); // 鍚屼笂锛屾瘡涓猙it鍗犱竴涓湴鍧�鍗曚綅
+ 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);
+ }
+ }
+
+
+
+
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/common/RabbitMQUtils.java b/UnLoadGlassModule/src/main/java/com/mes/common/RabbitMQUtils.java
index 1da8717..f381270 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/common/RabbitMQUtils.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/common/RabbitMQUtils.java
@@ -106,6 +106,25 @@
}
+//鎺ユ敹闃熷垪涓墍鏈夋秷鎭紝涓嶆秷璐�
+ 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鍙戦�佹秷鎭�
@@ -137,32 +156,32 @@
}
}
//鏍规嵁id娑堣垂娑堟伅
- public static String consumeMessageById( String messageId,String queueName) throws Exception {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
+public static String consumeMessageById(String messageId, String queueName) throws Exception {
+ ConnectionFactory factory = new ConnectionFactory();
+ factory.setHost(host);
- try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel()) {
- channel.queueDeclare(queueName, false, false, false, args);
+ 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 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; // 杩斿洖閫夊畾鐨勬秷鎭唴瀹�
- } else {
- // 瀵逛簬涓嶇鍚堟潯浠剁殑娑堟伅锛岃繘琛� Nack 鎿嶄綔
-// long deliveryTag = response.getEnvelope().getDeliveryTag();
-// channel.basicNack(deliveryTag, false, true);
- return "Specified message not found in the queue.";
- }
+ 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;
+ } else {
+ // 鏈壘鍒版寚瀹氭秷鎭紝缁х画鏌ユ壘
+ channel.basicReject(response.getEnvelope().getDeliveryTag(), false);
}
-
- return "Specified message not found in the queue.";
}
+
+ return "Specified message not found in the queue.";
}
+}
//娑堣垂鎸囧畾娑堟伅
public static String consumeSelectedMessage(int messageToConsume, String queueName) throws Exception {
diff --git a/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
index f6ecf3f..ab753f3 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -1,23 +1,51 @@
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();
}
-}
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java b/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
new file mode 100644
index 0000000..085e400
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
@@ -0,0 +1,40 @@
+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鐨凞ownGlassInfo淇℃伅
+ @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(); // 杩斿洖娑堟伅鍒楄〃鐨勫瓧绗︿覆琛ㄧず褰㈠紡
+// }
+
+
+
+
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java b/UnLoadGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java
index 9a8eea0..e3be9dc 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java
@@ -3,7 +3,6 @@
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;
@@ -31,18 +30,18 @@
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){
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java b/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
index 6630735..206e72d 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
@@ -15,5 +15,7 @@
private Double width; // 瀹�
private Double height; // 楂�
private Double thickness; // 鍘氬害
+ private String filmsid;//鑶滅郴
+
}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java b/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
index d9a2dfd..524d865 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
@@ -14,4 +14,7 @@
private Integer deviceId; // 璁惧id
private Integer enableState; // 鍚敤鐘舵��
private Integer workState; // 宸ヤ綔鐘舵��
+ private Integer racks_number; // 宸茶惤鏋舵暟閲�
+ private Integer total_quantity; // 鎬绘暟閲�
+
}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java b/UnLoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
index 5355db5..af3536c 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
@@ -15,6 +15,8 @@
private int plcAddressLength;
private ArrayList<PlcParameterInfo> plcParameterList;
+
+
/**
* @return 鏁版嵁鍖哄紑濮嬪湴鍧�
*/
@@ -199,4 +201,5 @@
}
+
}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
index 95ef927..dbd519c 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
@@ -4,12 +4,27 @@
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);
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
index c48a549..163348d 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
@@ -3,14 +3,57 @@
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鍜岃澶嘔D鏇存柊宸ヤ綅鐘舵��
+ @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);
+
+
+
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
index 0bf0923..bdb183e 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
@@ -2,11 +2,12 @@
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() ;
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
index 5f69be8..2cf4210 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
@@ -13,7 +13,10 @@
@Autowired
private DownGlassInfoMapper downGlassInfoMapper;
+
public DownGlassInfo getDownGlassInfoById(Integer id) {
return downGlassInfoMapper.selectById(id);
}
+
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/GlassHandler.java b/UnLoadGlassModule/src/main/java/com/mes/service/GlassHandler.java
deleted file mode 100644
index 0909523..0000000
--- a/UnLoadGlassModule/src/main/java/com/mes/service/GlassHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.mes.service;
-
-import com.mes.entity.DownGlassInfo;
-import com.mes.entity.DownStorageCageDetails;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class GlassHandler {
-
- private List<DownGlassInfo> glassList; // 瀛樻斁寰呭鐞嗙殑鐜荤拑淇℃伅
- private List<DownStorageCageDetails> cageDetailsList; // 瀛樻斁鐜荤拑鏀剧疆鍦ㄧ紦瀛樼涓殑璇︾粏淇℃伅
-
- public void processGlass() {
- // 鍒濆鍖栦袱涓満鍣ㄦ墜
- MachineHand hand1 = new MachineHand();
- MachineHand hand2 = new MachineHand();
-
- for (DownGlassInfo glass : glassList) {
- // 鏍规嵁鐜荤拑瑙勬牸鎵惧埌瀵瑰簲鐨勭紦瀛樼瀛愯鎯�
- DownStorageCageDetails cageDetails = findCageDetailsByGlassSpec(glass);
-
- if (cageDetails != null) {
- // 浠庣紦瀛樼涓彇鍑虹幓鐠冩斁鍒版満鍣ㄦ墜涓�
- hand1.placeGlass(cageDetails);
- hand2.placeGlass(cageDetails);
- }
-
- // 鍒ゆ柇涓や釜鏈哄櫒鎵嬫槸鍚﹂兘宸茬粡鎽嗘弧
- if (hand1.isFull() && hand2.isFull()) {
- // 鎵ц鍏朵粬鎿嶄綔锛屾瘮濡傚彂閫佹寚浠ょ瓑
- break;
- }
- }
- }
-
- private DownStorageCageDetails findCageDetailsByGlassSpec(DownGlassInfo glass) {
- // 鏍规嵁鐜荤拑瑙勬牸鎵惧埌瀵瑰簲鐨勭紦瀛樼瀛愯鎯�
- for (DownStorageCageDetails details : cageDetailsList) {
- if (details.getWidth() == glass.getWidth() &&
- details.getHeight() == glass.getHeight() &&
- details.getThickness() == glass.getThickness()) {
- return details;
- }
- }
- return null;
- }
-
- private class MachineHand {
- private List<DownStorageCageDetails> rack; // 瀛樻斁鐜荤拑鐨勬灦瀛�
-
- public MachineHand() {
- rack = new ArrayList<>();
- }
-
- public void placeGlass(DownStorageCageDetails details) {
- rack.add(details);
- }
-
- public boolean isFull() {
- return rack.size() >= 50; // 鍒ゆ柇鏋跺瓙鏄惁宸茬粡鏀炬弧
- }
- }
-}
-
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java b/UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java
index 889bd32..40af511 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java
@@ -18,7 +18,10 @@
// 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"); // 杩欐潯娑堟伅浼氭墦鍗伴噸澶嶆秷鎭殑閿欒淇℃伅
}
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java b/UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java
index 75c2e16..2cd57e4 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java
@@ -2,6 +2,8 @@
import com.mes.common.RabbitMQUtils;
+import java.util.List;
+
public class ModuleB {
private final static String QUEUE_NAME = "hangzhou2";
@@ -13,10 +15,11 @@
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();
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/PLCAutoMes.java b/UnLoadGlassModule/src/main/java/com/mes/service/PLCAutoMes.java
new file mode 100644
index 0000000..66e4cc9
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/PLCAutoMes.java
@@ -0,0 +1,91 @@
+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));
+
+ }
+ }
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java b/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java
new file mode 100644
index 0000000..581cfe8
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java
@@ -0,0 +1,139 @@
+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();
+
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/Plcaction.java b/UnLoadGlassModule/src/main/java/com/mes/service/Plcaction.java
index 5c39775..4268c38 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/Plcaction.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/Plcaction.java
@@ -1,20 +1,25 @@
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()) {
@@ -25,11 +30,74 @@
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("璇诲彇鐨剋ord鍊�: " + data3);
+ System.out.println("璇诲彇鐨剋ord鍊�: " + data4);
+// System.out.println("璇诲彇鐨刡it鍊�: " + data4);
+// System.out.println("璇诲彇鐨刡it鍊�: " + data6);
+
+
+ // System.out.println("璇诲彇鐨剋ord鍊�: " + MockS7PLCtwo.getInstance().readInt16("DB5.0.0"));
}
}
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
new file mode 100644
index 0000000..eba16ae
--- /dev/null
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
@@ -0,0 +1,44 @@
+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 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑閭f潯璁板綍鍒犳帀 宸ヤ綅琛ㄦ祦绋嬪崱缁戝畾浜嗘灦瀛�
+ plcService.down_workstation();
+
+
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
index 004399b..9940470 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
@@ -7,7 +7,7 @@
import org.springframework.stereotype.Service;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysErrorService {
private final SysErrorMapper sysErrorMapper;
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
index 6efd838..ee38452 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuItemService {
@Autowired
SysMenuItemMapper sysMenuItemMapper;
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
index 278b057..55f8fc6 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
@@ -9,7 +9,7 @@
import java.util.List;
@Service
-@DS("user_info")
+@DS("hangzhoumes")
public class SysMenuService {
@Autowired
private SysMenuMapper sysMenuMapper;
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/UserService.java b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
index 08fb8dd..e172f10 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
@@ -2,23 +2,18 @@
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
diff --git a/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java b/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java
index 90c8a30..30d75ae 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java
@@ -2,7 +2,6 @@
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;
@@ -11,6 +10,8 @@
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 {
@@ -107,18 +108,18 @@
//
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);
}
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json
new file mode 100644
index 0000000..a840092
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json
@@ -0,0 +1,371 @@
+{
+ "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
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcMes.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcMes.json
new file mode 100644
index 0000000..ab5d4cd
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcMes.json
@@ -0,0 +1,50 @@
+{
+ "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"
+ }
+
+ ]
+}
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcParameter.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcParameter.json
new file mode 100644
index 0000000..afbe090
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcParameter.json
@@ -0,0 +1,610 @@
+{
+ "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"
+
+ }
+
+
+ ]
+}
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcRead.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcRead.json
new file mode 100644
index 0000000..f3ebb33
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcRead.json
@@ -0,0 +1,195 @@
+{
+ "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"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcSign.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcSign.json
new file mode 100644
index 0000000..8f9295a
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcSign.json
@@ -0,0 +1,460 @@
+{
+ "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
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json
new file mode 100644
index 0000000..dfdbaec
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json
@@ -0,0 +1,285 @@
+{
+ "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": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json b/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json
new file mode 100644
index 0000000..263c782
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json
@@ -0,0 +1,378 @@
+{
+ "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
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/Plcframe.json b/UnLoadGlassModule/src/main/resources/JsonFile/Plcframe.json
new file mode 100644
index 0000000..c270227
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/Plcframe.json
@@ -0,0 +1,51 @@
+{
+ "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"
+ }
+
+
+ ]
+}
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/alarm.xlsx b/UnLoadGlassModule/src/main/resources/JsonFile/alarm.xlsx
new file mode 100644
index 0000000..50b26dc
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/alarm.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/sign.xlsx b/UnLoadGlassModule/src/main/resources/JsonFile/sign.xlsx
new file mode 100644
index 0000000..3922301
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/sign.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/src/main/resources/JsonFile/test.xlsx b/UnLoadGlassModule/src/main/resources/JsonFile/test.xlsx
new file mode 100644
index 0000000..9862cf5
--- /dev/null
+++ b/UnLoadGlassModule/src/main/resources/JsonFile/test.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/src/main/resources/application.yml b/UnLoadGlassModule/src/main/resources/application.yml
index 7a2e2be..8ba75c8 100644
--- a/UnLoadGlassModule/src/main/resources/application.yml
+++ b/UnLoadGlassModule/src/main/resources/application.yml
@@ -1,20 +1,16 @@
server:
- port: 8080
+ port: 8081
servlet:
context-path: /mesModuleTools
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
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
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcAlarm.json b/UnLoadGlassModule/target/classes/JsonFile/PlcAlarm.json
new file mode 100644
index 0000000..a840092
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcAlarm.json
@@ -0,0 +1,371 @@
+{
+ "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
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcMes.json b/UnLoadGlassModule/target/classes/JsonFile/PlcMes.json
new file mode 100644
index 0000000..ab5d4cd
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcMes.json
@@ -0,0 +1,50 @@
+{
+ "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"
+ }
+
+ ]
+}
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcParameter.json b/UnLoadGlassModule/target/classes/JsonFile/PlcParameter.json
new file mode 100644
index 0000000..afbe090
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcParameter.json
@@ -0,0 +1,610 @@
+{
+ "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"
+
+ }
+
+
+ ]
+}
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcRead.json b/UnLoadGlassModule/target/classes/JsonFile/PlcRead.json
new file mode 100644
index 0000000..f3ebb33
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcRead.json
@@ -0,0 +1,195 @@
+{
+ "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"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcSign.json b/UnLoadGlassModule/target/classes/JsonFile/PlcSign.json
new file mode 100644
index 0000000..8f9295a
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcSign.json
@@ -0,0 +1,460 @@
+{
+ "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
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcState.json b/UnLoadGlassModule/target/classes/JsonFile/PlcState.json
new file mode 100644
index 0000000..dfdbaec
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcState.json
@@ -0,0 +1,285 @@
+{
+ "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": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/target/classes/JsonFile/PlcTest.json b/UnLoadGlassModule/target/classes/JsonFile/PlcTest.json
new file mode 100644
index 0000000..263c782
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/PlcTest.json
@@ -0,0 +1,378 @@
+{
+ "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
+ ]
+}
\ No newline at end of file
diff --git a/UnLoadGlassModule/target/classes/JsonFile/Plcframe.json b/UnLoadGlassModule/target/classes/JsonFile/Plcframe.json
new file mode 100644
index 0000000..c270227
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/Plcframe.json
@@ -0,0 +1,51 @@
+{
+ "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"
+ }
+
+
+ ]
+}
diff --git a/UnLoadGlassModule/target/classes/JsonFile/alarm.xlsx b/UnLoadGlassModule/target/classes/JsonFile/alarm.xlsx
new file mode 100644
index 0000000..50b26dc
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/alarm.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/target/classes/JsonFile/sign.xlsx b/UnLoadGlassModule/target/classes/JsonFile/sign.xlsx
new file mode 100644
index 0000000..3922301
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/sign.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/target/classes/JsonFile/test.xlsx b/UnLoadGlassModule/target/classes/JsonFile/test.xlsx
new file mode 100644
index 0000000..9862cf5
--- /dev/null
+++ b/UnLoadGlassModule/target/classes/JsonFile/test.xlsx
Binary files differ
diff --git a/UnLoadGlassModule/target/classes/application.yml b/UnLoadGlassModule/target/classes/application.yml
index 7a2e2be..8ba75c8 100644
--- a/UnLoadGlassModule/target/classes/application.yml
+++ b/UnLoadGlassModule/target/classes/application.yml
@@ -1,20 +1,16 @@
server:
- port: 8080
+ port: 8081
servlet:
context-path: /mesModuleTools
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
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
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..295218b
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>groupId</groupId>
+ <artifactId>HangZhouMes</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+
+</project>
\ No newline at end of file
--
Gitblit v1.8.0