Browse Source

Merge remote-tracking branch 'origin/deli_scp' into deli_scp

# Conflicts:
#	src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts
deli_scp
kakilu 3 weeks ago
parent
commit
9962e4b6bc
  1. 14
      .env.development
  2. 62
      .env.dl-check
  3. 62
      .env.dl-prod
  4. 62
      .env.dl-test
  5. 12
      .env.prod
  6. 12
      .env.test
  7. 12
      .env.test-scp
  8. 22
      .env.wyf
  9. 7
      Dockerfile_prod
  10. 7
      Dockerfile_scp
  11. 19
      index.html
  12. 101
      nginx_prod.conf
  13. 53
      nginx_scp.conf
  14. 3
      package.json
  15. BIN
      public/deli_logo_white.png
  16. BIN
      public/deli_logo_white_blue.png
  17. BIN
      public/logo1.png
  18. BIN
      public/logo_white.png
  19. BIN
      public/logo_white_blue.png
  20. 26
      public/systemConfig.js
  21. 5
      src/api/wms/package/index.ts
  22. BIN
      src/assets/imgs/login-bg.png
  23. 3
      src/hooks/web/useTitle.ts
  24. 5
      src/layout/components/Logo/src/Logo.vue
  25. 3
      src/layout/components/UserInfo/src/UserInfo.vue
  26. 3
      src/locales/en-US.ts
  27. 3
      src/locales/zh-CN.ts
  28. 2
      src/router/modules/remaining.ts
  29. 37
      src/utils/systemParam.ts
  30. 20
      src/views/login/components/LoginForm.vue
  31. 9
      src/views/login/login.vue
  32. 2
      src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts
  33. 4
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue
  34. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts
  35. 89
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  36. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue
  37. 78
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts

14
.env.development

@ -37,10 +37,22 @@ VITE_INTERFACE_URL='http://localhost:12080/magic/web/index.html'
VITE_JMREPORT_BASE_URL='http://localhost:12080' VITE_JMREPORT_BASE_URL='http://localhost:12080'
# 租户配置 # 租户配置
VITE_TENANT='["长春1379","成都1397","长春2379"]' VITE_TENANT='["德立天津工厂"]'
# 查看质检报告环境 # 查看质检报告环境
VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400' VITE_REPORT_URL = 'http://dev.ccwin-in.com:25400'
# 是否需要验证码 # 是否需要验证码
VITE_NEED_CODE = false VITE_NEED_CODE = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"德立天津工厂","value":1}]'

62
.env.dl-check

@ -0,0 +1,62 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://172.16.0.13/api'
# 上传路径
VITE_UPLOAD_URL='http://172.16.0.13/api/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=
# 接口地址
VITE_API_URL=/admin-api
# 是否删除debugger
VITE_DROP_DEBUGGER=true
# 是否删除console.log
VITE_DROP_CONSOLE=true
# 是否sourcemap
VITE_SOURCEMAP=false
# 打包路径
VITE_BASE_PATH=/
# 输出路径
VITE_OUT_DIR=sfms3.0
# 自定义接口路径
VITE_INTERFACE_URL='http://172.16.0.13/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://172.16.0.13'
# 租户配置
VITE_TENANT='["德立天津工厂"]'
# 查看质检报告环境
VITE_REPORT_URL = 'http://172.16.0.13'
# 是否需要验证码
VITE_NEED_CODE = false
# 是否需要下载PDA链接
VITE_PDA_URL = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

62
.env.dl-prod

@ -0,0 +1,62 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://172.16.0.13/api'
# 上传路径
VITE_UPLOAD_URL='http://172.16.0.13/api/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=
# 接口地址
VITE_API_URL=/admin-api
# 是否删除debugger
VITE_DROP_DEBUGGER=true
# 是否删除console.log
VITE_DROP_CONSOLE=true
# 是否sourcemap
VITE_SOURCEMAP=false
# 打包路径
VITE_BASE_PATH=/
# 输出路径
VITE_OUT_DIR=sfms3.0
# 自定义接口路径
VITE_INTERFACE_URL='http://172.16.0.13/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://172.16.0.13'
# 租户配置
VITE_TENANT='["德立天津工厂"]'
# 查看质检报告环境
VITE_REPORT_URL = 'http://172.16.0.13'
# 是否需要验证码
VITE_NEED_CODE = false
# 是否需要下载PDA链接
VITE_PDA_URL = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

62
.env.dl-test

@ -0,0 +1,62 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://172.16.0.13/api'
# 上传路径
VITE_UPLOAD_URL='http://172.16.0.13/api/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=
# 接口地址
VITE_API_URL=/admin-api
# 是否删除debugger
VITE_DROP_DEBUGGER=true
# 是否删除console.log
VITE_DROP_CONSOLE=true
# 是否sourcemap
VITE_SOURCEMAP=false
# 打包路径
VITE_BASE_PATH=/
# 输出路径
VITE_OUT_DIR=sfms3.0
# 自定义接口路径
VITE_INTERFACE_URL='http://172.16.0.13/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://172.16.0.13'
# 租户配置
VITE_TENANT='["德立天津工厂"]'
# 查看质检报告环境
VITE_REPORT_URL = 'http://172.16.0.13'
# 是否需要验证码
VITE_NEED_CODE = false
# 是否需要下载PDA链接
VITE_PDA_URL = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

12
.env.prod

@ -52,3 +52,15 @@ VITE_NEED_CODE = true
# 是否需要下载PDA链接 # 是否需要下载PDA链接
VITE_PDA_URL = false VITE_PDA_URL = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

12
.env.test

@ -48,3 +48,15 @@ VITE_NEED_CODE = true
# 是否需要下载PDA链接 # 是否需要下载PDA链接
VITE_PDA_URL = true VITE_PDA_URL = true
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

12
.env.test-scp

@ -48,3 +48,15 @@ VITE_NEED_CODE = false
# 是否需要下载PDA链接 # 是否需要下载PDA链接
VITE_PDA_URL = false VITE_PDA_URL = false
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'

22
.env.wyf

@ -46,11 +46,11 @@ VITE_DEV=false
# # 上传路径 # # 上传路径
# VITE_UPLOAD_URL='http://192.168.0.37:12080/admin-api/infra/file/upload' # VITE_UPLOAD_URL='http://192.168.0.37:12080/admin-api/infra/file/upload'
# 81 WMS请求路径 82 SCP # 请求路径
VITE_BASE_URL='http://172.22.32.9/api' VITE_BASE_URL='http://dev.ccwin-in.com:25400/api'
# 上传路径
VITE_UPLOAD_URL='http://172.22.32.9/api/admin-api/infra/file/upload'
# 上传路径
VITE_UPLOAD_URL='http://dev.ccwin-in.com:25400/api/admin-api/infra/file/upload'
# # 81 WMS请求路径 82 SCP # # 81 WMS请求路径 82 SCP
@ -116,7 +116,7 @@ VITE_INTERFACE_URL='http://dev.ccwin-in.com:25310/magic/web/index.html'
VITE_JMREPORT_BASE_URL='http://172.22.32.9:90' VITE_JMREPORT_BASE_URL='http://172.22.32.9:90'
# 租户配置 # 租户配置
VITE_TENANT='["长春1379","成都1397","长春2379"]' VITE_TENANT='["德立天津工厂"]'
# 查看质检报告环境 # 查看质检报告环境
VITE_REPORT_URL = 'http://localhost' VITE_REPORT_URL = 'http://localhost'
@ -129,3 +129,15 @@ VITE_NEED_CODE = false
# 是否需要下载PDA链接 # 是否需要下载PDA链接
VITE_PDA_URL = true VITE_PDA_URL = true
# LOGO图标
VITE_LOGO_URL = '/src/assets/imgs/logo_white_blue.png'
# LOGO图标
VITE_LOGO_WHITE_URL = '/src/assets/imgs/logo_white.png'
# 项目名称
VITE_PROJECT_NAME = '富维海拉智慧工厂管理平台'
# 租户配置
VITE_TENANT_LIST='[{"text":"德立天津工厂","value":1}]'

7
Dockerfile_prod

@ -1,7 +0,0 @@
# 设置基础镜像
FROM win-nginx
WORKDIR /opt/sfms3.0
COPY nginx_prod.conf /usr/local/nginx/conf/nginx.conf
# 将dist文件中的内容复制到 /opt/sfms3.0 这个目录下面
COPY sfms3.0/ /opt/sfms3.0

7
Dockerfile_scp

@ -1,7 +0,0 @@
# 设置基础镜像
FROM win-nginx
WORKDIR /opt/sfms3.0
COPY nginx_scp.conf /usr/local/nginx/conf/nginx.conf
# 将dist文件中的内容复制到 /opt/sfms3.0 这个目录下面
COPY sfms3.0/ /opt/sfms3.0

19
index.html

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<!-- <link rel="icon" href="/favicon.ico" /> --> <!-- <link rel="icon" href="/favicon.ico" /> -->
<link rel="icon" href="/src/assets/imgs/logo1.png" /> <link rel="icon" href="" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="keywords" content="富维海拉智慧工厂管理平台" /> <meta name="keywords" content="富维海拉智慧工厂管理平台" />
@ -132,7 +132,7 @@
<div class="app-loading"> <div class="app-loading">
<div class="app-loading-wrap"> <div class="app-loading-wrap">
<div class="app-loading-title"> <div class="app-loading-title">
<img src="/src/assets/imgs/logo_white_blue.png" class="app-loading-logo" alt="Logo" /> <img src="" class="app-loading-logo" alt="Logo" id="logo" />
<div class="app-loading-title" id="app-loading-title">%VITE_APP_TITLE%</div> <div class="app-loading-title" id="app-loading-title">%VITE_APP_TITLE%</div>
</div> </div>
<div class="app-loading-item"> <div class="app-loading-item">
@ -143,5 +143,20 @@
</div> </div>
</div> </div>
<script type="module" src="/src/main.ts"></script> <script type="module" src="/src/main.ts"></script>
<script>
document.getElementById('logo').src = systemConfig.logoUrl
document.getElementById('app-loading-title').innerHTML = systemConfig.projectName
function replaceFavicon(src) {
var link = document.querySelector("link[rel~='icon']");
if (!link){
link = document.createElement('link');
link.rel = 'icon';
document.getElementsByTagName('head')[0].appendChild(link);
}
link.href = src;
}
replaceFavicon(systemConfig.iconUrl);
document.title = systemConfig.projectName;
</script>
</body> </body>
</html> </html>

101
nginx_prod.conf

@ -1,101 +0,0 @@
user root;
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
charset utf-8,gbk;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time $upstream_response_time"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 600s;
client_max_body_size 200m;
gzip on;
gzip_min_length 10k;
gzip_comp_level 9;
gzip_buffers 4 16k;
gzip_types text/plain application/javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
upstream sfms3.0 {
server localhost:90 weight=10 max_fails=3 fail_timeout=10s;
}
server {
listen 80;
server_name_in_redirect off;
server_name _;
location /api/ {
proxy_pass http://sfms3.0/;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
}
location /profile/ {
alias /opt/profile/;
index index.html index.htm;
}
location / {
try_files $uri $uri/ /index.html;
root /opt/sfms3.0;
index index.html index.htm;
}
}
server {
listen 55563 ssl;
server_name_in_redirect off;
server_name _;
ssl_certificate /opt/faway-hella/faway-hella.com.pem;
ssl_certificate_key /opt/faway-hella/faway-hella.com.key;
location /api/ {
proxy_pass http://sfms3.0/;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
}
location /profile/ {
alias /opt/profile/;
index index.html index.htm;
}
location / {
try_files $uri $uri/ /index.html;
root /opt/sfms3.0;
index index.html index.htm;
}
}
server {
listen 56563 ssl;
server_name_in_redirect off;
server_name _;
ssl_certificate /opt/faway-hella/faway-hella.com.pem;
ssl_certificate_key /opt/faway-hella/faway-hella.com.key;
location /api/ {
proxy_pass http://sfms3.0/;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
}
location /profile/ {
alias /opt/profile/;
index index.html index.htm;
}
location / {
try_files $uri $uri/ /index.html;
root /opt/sfms3.0;
index index.html index.htm;
}
}
}

53
nginx_scp.conf

@ -1,53 +0,0 @@
user root;
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
charset utf-8,gbk;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time $upstream_response_time"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 600s;
client_max_body_size 200m;
gzip on;
gzip_min_length 10k;
gzip_comp_level 9;
gzip_buffers 4 16k;
gzip_types text/plain application/javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
upstream sfms3.0 {
server localhost:25311 weight=10 max_fails=3 fail_timeout=10s;
}
server {
listen 25400;
server_name_in_redirect off;
server_name _;
location /api/ {
proxy_pass http://sfms3.0/;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
}
location /profile/ {
alias /opt/profile/;
index index.html index.htm;
}
location / {
try_files $uri $uri/ /index.html;
root /opt/sfms3.0;
index index.html index.htm;
}
}
}

3
package.json

@ -11,6 +11,9 @@
"test-scp": "vite build --mode test-scp", "test-scp": "vite build --mode test-scp",
"prod": "vite build --mode prod", "prod": "vite build --mode prod",
"preview": "vite preview", "preview": "vite preview",
"dl-prod": "vite build --mode dl-prod",
"dl-test": "vite build --mode dl-test",
"dl-check": "vite build --mode dl-check",
"lint": "eslint --fix --ext .js,.vue src" "lint": "eslint --fix --ext .js,.vue src"
}, },
"dependencies": { "dependencies": {

BIN
public/deli_logo_white.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
public/deli_logo_white_blue.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
public/logo1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
public/logo_white.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
public/logo_white_blue.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

26
public/systemConfig.js

@ -1,20 +1,32 @@
const origin = window.location.origin//协议、域名和端口号
let systemConfig = { let systemConfig = {
// 请求路径 // 请求路径
baseUrl: 'http://172.22.32.8/api', baseUrl: `${origin}/api`,
// 上传路径 // 上传路径
uploadUrl: 'http://172.22.32.8/api/admin-api/infra/file/upload', uploadUrl: `${origin}/api/admin-api/infra/file/upload`,
// 自定义接口路径 // 自定义接口路径
interfaceUrl: 'http://172.22.32.8:90/magic/web/index.html', interfaceUrl: `${origin}/magic/web/index.html`,
// 积木报表请求路径 // 积木报表请求路径
jmreportBaseUrl: 'http://172.22.32.8:90', jmreportBaseUrl: `${origin}`,
// 查看质检报告环境 // 查看质检报告环境
reportUrl: 'https://scp.faway-hella.com', reportUrl: `${origin}`,
// 租户配置 // 租户配置
tenant: '["成都"]', tenant: '["成都"]',
systermUpdateAlert: true, systermUpdateAlert: true,
systermUpdateUrl: 'https://scptest.faway-hella.com/', systermUpdateUrl: `${origin}/`,
//是否需要验证码 //是否需要验证码
needCode:false, needCode:false,
//是否需要PDA下载链接 //是否需要PDA下载链接
pdaUrl:false, pdaUrl: false,
// logo图标
logoUrl: '/logo_white_blue.png',
// logo图标
logoUrlWhite: '/logo_white.png',
// 项目名称
projectName: '富维海拉智慧工厂管理平台',
// 浏览器上方图标
iconUrl: '/logo1.png',
// 租戶列表
tenantList:'[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]'
} }

5
src/api/wms/package/index.ts

@ -101,6 +101,11 @@ export const batchPrintingLable = async (data: any) => {
return await request.post({ url: `/wms/package/batchPrintingLable`, data }) return await request.post({ url: `/wms/package/batchPrintingLable`, data })
} }
// 批量打印标签(德立)
export const batchPrintingLablesForDL = async (data: any) => {
return await request.post({ url: `/wms/package/batchPrintingLablesForDL`, data })
}
// 批量打印标签多选 // 批量打印标签多选
export const batchPrintingLables = async (data: any) => { export const batchPrintingLables = async (data: any) => {

BIN
src/assets/imgs/login-bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 KiB

After

Width:  |  Height:  |  Size: 1.9 MiB

3
src/hooks/web/useTitle.ts

@ -1,6 +1,7 @@
import { watch, ref } from 'vue' import { watch, ref } from 'vue'
import { isString } from '@/utils/is' import { isString } from '@/utils/is'
import { useAppStoreWithOut } from '@/store/modules/app' import { useAppStoreWithOut } from '@/store/modules/app'
import { getProjectName } from '@/utils/systemParam'
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
const appStore = useAppStoreWithOut() const appStore = useAppStoreWithOut()
@ -15,7 +16,7 @@ export const useTitle = (newTitle?: string) => {
title, title,
(n, o) => { (n, o) => {
if (isString(n) && n !== o && document) { if (isString(n) && n !== o && document) {
document.title = n.replace(import.meta.env.VITE_APP_TITLE,t(`ts.${import.meta.env.VITE_APP_TITLE}`)) document.title = n.replace(import.meta.env.VITE_APP_TITLE, t(`ts.${getProjectName()}`))
} }
}, },
{ immediate: true } { immediate: true }

5
src/layout/components/Logo/src/Logo.vue

@ -2,6 +2,7 @@
import { computed, onMounted, ref, unref, watch } from 'vue' import { computed, onMounted, ref, unref, watch } from 'vue'
import { useAppStore } from '@/store/modules/app' import { useAppStore } from '@/store/modules/app'
import { useDesign } from '@/hooks/web/useDesign' import { useDesign } from '@/hooks/web/useDesign'
import { getWhiteLogo,getProjectName } from '@/utils/systemParam'
defineOptions({ name: 'Logo' }) defineOptions({ name: 'Logo' })
@ -13,7 +14,7 @@ const appStore = useAppStore()
const show = ref(true) const show = ref(true)
const title = computed(() => appStore.getTitle) const title = computed(() =>getProjectName())
const layout = computed(() => appStore.getLayout) const layout = computed(() => appStore.getLayout)
@ -79,7 +80,7 @@ watch(
> >
<img <img
class="h-24px ml-10px mr-10px h-40px" class="h-24px ml-10px mr-10px h-40px"
src="@/assets/imgs/logo_white.png" :src="getWhiteLogo()"
/> />
<!-- <img <!-- <img
class="h-24px w-[calc(var(--logo-height)-20px)]" class="h-24px w-[calc(var(--logo-height)-20px)]"

3
src/layout/components/UserInfo/src/UserInfo.vue

@ -7,6 +7,7 @@ import avatarImg from '@/assets/imgs/avatar.gif'
import { useUserStore } from '@/store/modules/user' import { useUserStore } from '@/store/modules/user'
import { useTagsViewStore } from '@/store/modules/tagsView' import { useTagsViewStore } from '@/store/modules/tagsView'
import { getTenantId } from '@/utils/auth' import { getTenantId } from '@/utils/auth'
import { getTenantList } from '@/utils/systemParam'
defineOptions({ name: 'UserInfo' }) defineOptions({ name: 'UserInfo' })
@ -29,7 +30,7 @@ const user = wsCache.get(CACHE_KEY.USER)
const avatar = user.user.avatar ? user.user.avatar : avatarImg const avatar = user.user.avatar ? user.user.avatar : avatarImg
const userName = user.user.nickname ? user.user.nickname : 'Admin' const userName = user.user.nickname ? user.user.nickname : 'Admin'
const names =[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}] const names =JSON.parse(getTenantList())
const tenant = names.find(item=>item.value == getTenantId()) const tenant = names.find(item=>item.value == getTenantId())
const language = wsCache.get('lang') const language = wsCache.get('lang')
if('en-US'==language){ if('en-US'==language){

3
src/locales/en-US.ts

@ -1120,7 +1120,8 @@ export default {
:'Check the quality inspection report', :'Check the quality inspection report',
:'ChangChun', :'ChangChun',
:'ChengDu', :'ChengDu',
:'FAWAY HELLA Smart Factory Management Platform', : 'FAWAY HELLA Smart Factory Management Platform',
: 'Deli Intelligent Manufacturing System',
:'Purchase unreceived record', :'Purchase unreceived record',
:'Please select the desired shipment tracking number', :'Please select the desired shipment tracking number',
:'Not more in size', :'Not more in size',

3
src/locales/zh-CN.ts

@ -1123,7 +1123,8 @@ export default {
:'查看质检报告', :'查看质检报告',
:'长春', :'长春',
:'成都', :'成都',
:'富维海拉智慧工厂管理平台', : '富维海拉智慧工厂管理平台',
: '德立智能制造系统',
:'采购未收货记录', :'采购未收货记录',
:'请选择要货计划单号', :'请选择要货计划单号',
:'大小不超过', :'大小不超过',

2
src/router/modules/remaining.ts

@ -36,7 +36,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
{ {
path: '/redirect', path: '/redirect',
component: Layout, component: Layout,
name: 'Redirect', name: 'redirectNew',
children: [ children: [
{ {
path: '/redirect/:path(.*)', path: '/redirect/:path(.*)',

37
src/utils/systemParam.ts

@ -8,6 +8,10 @@ const systermUpdateAlert = ref(import.meta.env.VITE_SYSTERM_UPDATE_ALERT)
const systermUpdateUrl = ref(import.meta.env.VITE_SYSTERM_UPDATE_URL) const systermUpdateUrl = ref(import.meta.env.VITE_SYSTERM_UPDATE_URL)
const needCode = ref(import.meta.env.VITE_NEED_CODE) const needCode = ref(import.meta.env.VITE_NEED_CODE)
const pdaUrl = ref(import.meta.env.VITE_PDA_URL) const pdaUrl = ref(import.meta.env.VITE_PDA_URL)
const logoUrl = ref(import.meta.env.VITE_LOGO_URL)
const logoUrlWhite = ref(import.meta.env.VITE_LOGO_WHITE_URL)
const projectName = ref(import.meta.env.VITE_PROJECT_NAME)
const tenantList = ref(import.meta.env.VITE_TENANT_LIST)
const mode = ref(import.meta.env.MODE) const mode = ref(import.meta.env.MODE)
// 获取baseUrl // 获取baseUrl
@ -96,3 +100,36 @@ export const getPDAUrl = () => {
} }
//获取logo图标
export const getLogo = () => {
if (mode.value === 'prod') {
return systemConfig.logoUrl
} else {
return logoUrl.value
}
}
//获取logo图标
export const getWhiteLogo = () => {
if (mode.value === 'prod') {
return systemConfig.logoUrlWhite
} else {
return logoUrlWhite.value
}
}
//获取项目名称
export const getProjectName = () => {
if (mode.value === 'prod') {
return systemConfig.projectName
} else {
return projectName.value
}
}
//获取租户列表
export const getTenantList = () => {
if (mode.value === 'prod') {
return systemConfig.tenantList
} else {
return tenantList.value
}
}

20
src/views/login/components/LoginForm.vue

@ -308,16 +308,16 @@
authUtil.removeLoginForm() authUtil.removeLoginForm()
} }
authUtil.setToken(res) authUtil.setToken(res)
if(getSystermUpdateAlert()=='true'||getSystermUpdateAlert()===true){ // if(getSystermUpdateAlert()=='true'||getSystermUpdateAlert()===true){
await ElMessageBox.alert( // await ElMessageBox.alert(
'<strong>系统迁移,请移步至</strong>' + // '<strong></strong>' +
`<a href=${getSystermUpdateUrl()} target="_blank">${getSystermUpdateUrl()}</a>`, // `<a href=${getSystermUpdateUrl()} target="_blank">${getSystermUpdateUrl()}</a>`,
'重要提示', // '',
{ // {
dangerouslyUseHTMLString: true, // dangerouslyUseHTMLString: true,
} // }
) // )
} // }
if (!redirect.value) { if (!redirect.value) {
redirect.value = '/' redirect.value = '/'
} }

9
src/views/login/login.vue

@ -9,8 +9,8 @@
> >
<!-- 左上角的 logo + 系统标题 --> <!-- 左上角的 logo + 系统标题 -->
<div class="relative flex items-center "> <div class="relative flex items-center ">
<img alt="" class="mr-10px w-144px h-36px" src="@/assets/imgs/logo_white_blue.png" /> <img alt="" class="mr-10px h-36px" :src="getLogo()" />
<span class="text-20px font-bold">{{ t(`ts.${underlineToHump(appStore.getTitle)}`) }}</span> <span class="text-20px font-bold">{{ t(`ts.${underlineToHump(getProjectName())}`) }}</span>
</div> </div>
<!-- 左边的背景图 + 欢迎语 --> <!-- 左边的背景图 + 欢迎语 -->
<div class="h-[calc(100%-60px)] flex items-center justify-center"> <div class="h-[calc(100%-60px)] flex items-center justify-center">
@ -33,8 +33,8 @@
class="flex items-center justify-between at-2xl:justify-end at-xl:justify-end" class="flex items-center justify-between at-2xl:justify-end at-xl:justify-end"
> >
<div class="flex items-center at-2xl:hidden at-xl:hidden"> <div class="flex items-center at-2xl:hidden at-xl:hidden">
<img alt="" class="mr-10px w-144px h-36px" src="@/assets/imgs/logo_white_blue.png" /> <img alt="" class="mr-10px h-36px" :src="getLogo()" />
<span class="text-20px font-bold">{{ t(`ts.${underlineToHump(appStore.getTitle)}`) }}</span> <span class="text-20px font-bold">{{ t(`ts.${underlineToHump(getProjectName())}`) }}</span>
</div> </div>
<div class="flex items-center justify-end space-x-10px"> <div class="flex items-center justify-end space-x-10px">
<!-- <ThemeSwitch /> --> <!-- <ThemeSwitch /> -->
@ -72,6 +72,7 @@ import { useDesign } from '@/hooks/web/useDesign'
import { useAppStore } from '@/store/modules/app' import { useAppStore } from '@/store/modules/app'
import { ThemeSwitch } from '@/layout/components/ThemeSwitch' import { ThemeSwitch } from '@/layout/components/ThemeSwitch'
import { LocaleDropdown } from '@/layout/components/LocaleDropdown' import { LocaleDropdown } from '@/layout/components/LocaleDropdown'
import {getLogo,getProjectName } from '@/utils/systemParam'
import { LoginForm, MobileForm, QrCodeForm, RegisterForm, SSOLoginVue,QRCodePDA } from './components' import { LoginForm, MobileForm, QrCodeForm, RegisterForm, SSOLoginVue,QRCodePDA } from './components'

2
src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts

@ -181,7 +181,7 @@ export const Itembasic = useCrudSchemas(reactive<CrudSchema[]>([
}, },
}, },
{ {
label: '回收件', label: '可标准',
field: 'isRecycled', field: 'isRecycled',
sort: 'custom', sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE, dictType: DICT_TYPE.TRUE_FALSE,

4
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue

@ -229,8 +229,8 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
// //
const HeadButttondata = [ const HeadButttondata = [
// defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchase-main:create' }), // defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchase-main:create' }), //
// defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-main:import' }), // defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-main:import' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-main:export' }), // defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-main:export' }), //
// defaultButtons.mainListSelectionOrderPubBtn(null), // // defaultButtons.mainListSelectionOrderPubBtn(null), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //

2
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts

@ -124,7 +124,7 @@ export const PurchasePlanMain = useCrudSchemas(reactive<CrudSchema[]>([
searchPage: PurchaseMainApi.getPurchaseMainPage, searchPage: PurchaseMainApi.getPurchaseMainPage,
searchCondition: [{ searchCondition: [{
key: 'type', key: 'type',
value: 'SCHEDULE,OUTSOURCING', value: 'SCHEDULE,OUTSOURCING,DISCRETE',
isMainValue: false isMainValue: false
},{ },{
key: 'available', key: 'available',

89
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

@ -55,7 +55,8 @@
</el-button> </el-button>
</template> </template>
<template #action="{ row, $index }"> <template #action="{ row, $index }">
<ButtonBaseMore :showMoreLength="wsCache.get('lang')=='en-US'?2:3" <ButtonBaseMore
:showMoreLength="wsCache.get('lang') == 'en-US' ? 2 : 3"
:Butttondata="butttondata(row, $index)" :Butttondata="butttondata(row, $index)"
@button-base-click="buttonTableClick($event, row)" @button-base-click="buttonTableClick($event, row)"
/> />
@ -99,7 +100,9 @@
<!-- 详情 --> <!-- 详情 -->
<Detail <Detail
ref="detailRef" ref="detailRef"
:annexTable="[ :annexTable="
switchCurriculumVitae
? [
annexInspectionDetail, annexInspectionDetail,
{ {
label: '履历表', label: '履历表',
@ -107,13 +110,15 @@
tableName: 'SupplierdeliverCurriculumVitae', tableName: 'SupplierdeliverCurriculumVitae',
hasSubDetail: false, // hasSubDetail: false, //
showPreview: true, // showPreview: true, //
hiddenUpload:false, hiddenUpload: false,
hiddenDelete:false, hiddenDelete: false,
fileType: ['pdf'], fileType: ['pdf'],
limit:999999, limit: 999999,
align: 'left', align: 'left'
} }
]" ]
: [annexInspectionDetail]
"
:isBasic="false" :isBasic="false"
:allSchemas="SupplierdeliverRequestMain.allSchemas" :allSchemas="SupplierdeliverRequestMain.allSchemas"
:detailAllSchemas="SupplierdeliverRequestDetail.allSchemas" :detailAllSchemas="SupplierdeliverRequestDetail.allSchemas"
@ -219,6 +224,9 @@ import labelForm from './labelForm.vue'
import { getJmreportBaseUrl } from '@/utils/systemParam' import { getJmreportBaseUrl } from '@/utils/systemParam'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
import { getBaseUrl } from '@/utils/systemParam' import { getBaseUrl } from '@/utils/systemParam'
import * as SwitchApi from '@/api/wms/switch'
import { fa } from 'element-plus/es/locale'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// //
defineOptions({ name: 'SupplierdeliverRequestMain' }) defineOptions({ name: 'SupplierdeliverRequestMain' })
@ -236,13 +244,13 @@ const annexInspectionDetail = ref({
tableName: 'SupplierdeliverInspectionDetail', tableName: 'SupplierdeliverInspectionDetail',
hasSubDetail: true, // hasSubDetail: true, //
showPreview: true, // showPreview: true, //
hiddenUpload:false, hiddenUpload: false,
hiddenDelete:false, hiddenDelete: false,
fileType: ['pdf'], fileType: ['pdf'],
limit:999999, limit: 999999,
align: 'left', align: 'left',
updateUrl: getBaseUrl()+import.meta.env.VITE_API_URL+'/infra/file/uploadFile', updateUrl: getBaseUrl() + import.meta.env.VITE_API_URL + '/infra/file/uploadFile',
checkUploadUrl:SupplierdeliverRequestMainApi.checkUploadFileData, checkUploadUrl: SupplierdeliverRequestMainApi.checkUploadFileData,
// //
subDetailTableData: { subDetailTableData: {
queryParams: [ queryParams: [
@ -258,14 +266,12 @@ const annexInspectionDetail = ref({
pageSize: 10, pageSize: 10,
currentPage: 1 currentPage: 1
} }
}) })
const tableColumns = ref([ const tableColumns = ref([
...SupplierdeliverRequestMain.allSchemas.tableColumns, ...SupplierdeliverRequestMain.allSchemas.tableColumns,
...SupplierdeliverRequestDetail.allSchemas.tableMainColumns ...SupplierdeliverRequestDetail.allSchemas.tableMainColumns
]) ])
// //
const updataTableColumns = (val) => { const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val
@ -544,7 +550,7 @@ const butttondata = (row, $index) => {
{ {
label: t('ts.上传履历表'), label: t('ts.上传履历表'),
name: 'mainPlanCurriculumVitae', name: 'mainPlanCurriculumVitae',
hide: row.status==5, hide: !switchCurriculumVitae.value || row.status == 5,
type: 'primary', type: 'primary',
icon: '', icon: '',
color: '', color: '',
@ -623,9 +629,9 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'mainPlanUploadQualityReport') { } else if (val == 'mainPlanUploadQualityReport') {
// //
handleUploadQualityReport(row) handleUploadQualityReport(row)
}else if (val == 'mainPlanCurriculumVitae') { } else if (val == 'mainPlanCurriculumVitae') {
// //
handleUploadCurriculumVitae(row,'发货单号', row.asnNumber) handleUploadCurriculumVitae(row, '发货单号', row.asnNumber)
} else if (val == 'mainPlanSub') { } else if (val == 'mainPlanSub') {
// //
handleSub(row.masterId) handleSub(row.masterId)
@ -669,7 +675,9 @@ const buttonTableClick = async (val, row) => {
tableObject.loading = true tableObject.loading = true
ElMessageBox.confirm( ElMessageBox.confirm(
`<div> `<div>
<strong style="color:red;font-size:18px">${t(`ts.${'重新生成标签后必须撕毁原标签,打印并粘贴新标签,如标签错误将拒绝收货!!'}`)}</strong> <strong style="color:red;font-size:18px">${t(
`ts.${'重新生成标签后必须撕毁原标签,打印并粘贴新标签,如标签错误将拒绝收货!!'}`
)}</strong>
<br> <br>
<span>${t(`ts.${'重新生成标签会删除上次生成的标签,是否确认继续?'}`)}</span> <span>${t(`ts.${'重新生成标签会删除上次生成的标签,是否确认继续?'}`)}</span>
</div>`, </div>`,
@ -824,7 +832,7 @@ const openDetail = (row: any, titleName: any, titleValue: any) => {
.get(CACHE_KEY.DEPT) .get(CACHE_KEY.DEPT)
.find((account) => account.id == row.departmentCode)?.name .find((account) => account.id == row.departmentCode)?.name
if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode))
annexInspectionDetail.value.hiddenDelete = row.status==8 //HL-5838-status=8 annexInspectionDetail.value.hiddenDelete = row.status == 8 //HL-5838-status=8
detailRef.value.openDetail(row, titleName, titleValue, 'requestSupplierdeliverMain') detailRef.value.openDetail(row, titleName, titleValue, 'requestSupplierdeliverMain')
} }
/** 上传履历表 */ /** 上传履历表 */
@ -833,11 +841,11 @@ const handleUploadCurriculumVitae = async (row: any, titleName: any, titleValue:
.get(CACHE_KEY.DEPT) .get(CACHE_KEY.DEPT)
.find((account) => account.id == row.departmentCode)?.name .find((account) => account.id == row.departmentCode)?.name
if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode))
annexInspectionDetail.value.hiddenDelete = row.status==8 //HL-5838-status=8 annexInspectionDetail.value.hiddenDelete = row.status == 8 //HL-5838-status=8
detailRef.value.openDetail(row, titleName, titleValue, 'requestSupplierdeliverMain') detailRef.value.openDetail(row, titleName, titleValue, 'requestSupplierdeliverMain')
nextTick(()=>{ nextTick(() => {
detailRef.value.changeTabCurrent({ detailRef.value.changeTabCurrent({
label:'履历表' label: '履历表'
}) })
}) })
} }
@ -982,9 +990,6 @@ const handleUploadQualityReport = async (row) => {
//uploadQualityReportTableData.value = [tableFormKeys] //uploadQualityReportTableData.value = [tableFormKeys]
} }
const submitFormUploadQualityReport = async (formType, data) => { const submitFormUploadQualityReport = async (formType, data) => {
delete data.number delete data.number
data.subList = uploadQualityReportTableData.value // data.subList = uploadQualityReportTableData.value //
@ -1146,7 +1151,7 @@ const clearInput = async (field, row, index) => {
} }
const BASE_URL = getJmreportBaseUrl() const BASE_URL = getJmreportBaseUrl()
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken()) const src = ref(BASE_URL + '/jmreport/view/1038243804040212480?token=' + getAccessToken())
getListApi: PurchasePlanDetailApi.getPurchasePlanDetailPage // getListApi: PurchasePlanDetailApi.getPurchasePlanDetailPage //
// //
@ -1186,15 +1191,26 @@ const searchTableSuccess1 = async (formField, searchField, val, formRef, type, r
} }
// window.open(src.value + '&asn_number=' + val.map(item1=>item1.number).join(',')) // window.open(src.value + '&asn_number=' + val.map(item1=>item1.number).join(','))
await PackageApi.batchPrintingLable(val.map((item1) => item1.number).join(',')) await PackageApi.batchPrintingLablesForDL(val.map((item1) => item1.number).join(',')).then(
.then((res) => { (res) => {
console.log(res) console.log(res)
window.open(src.value + '&asn_number=' + res) if (res.zzLabel) {
}) //
.catch((err) => { const src = ref(BASE_URL + '/jmreport/view/1037887334228496384?token=' + getAccessToken())
console.log(err) window.open(src.value + '&asn_number=' + res.zzLabel)
message.error(t('ts.创建标签失败')) }
}) if (res.cgLabel) {
//
const src = ref(BASE_URL + '/jmreport/view/1038243804040212480?token=' + getAccessToken())
window.open(src.value + '&asn_number=' + res.cgLabel)
}
if (res.hsjLabel) {
//
const src = ref(BASE_URL + '/jmreport/view/1038602906075467776?token=' + getAccessToken())
window.open(src.value + '&asn_number=' + res.hsjLabel)
}
}
)
} }
const print = async () => { const print = async () => {
@ -1329,10 +1345,13 @@ const getDefaultSupplier = async () => {
} }
console.log('defaultSupplierCode', defaultSupplierCode) console.log('defaultSupplierCode', defaultSupplierCode)
} }
const switchCurriculumVitae = ref(false)
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
getDefaultSupplier() getDefaultSupplier()
let switch2 = await SwitchApi.getByCode('supplerUploadResumeFlag')
switchCurriculumVitae.value = switch2 == 'TRUE'
console.log('switchCurriculumVitae', switchCurriculumVitae.value)
getList() getList()
importTemplateData.templateUrl = await SupplierdeliverRequestMainApi.importTemplate() importTemplateData.templateUrl = await SupplierdeliverRequestMainApi.importTemplate()

2
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue

@ -212,6 +212,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
newRow['qty'] = item['planQty'] - item['shippedQty'] newRow['qty'] = item['planQty'] - item['shippedQty']
newRow['minProduceDate'] = item['minProduceDate'] // newRow['minProduceDate'] = item['minProduceDate'] //
newRow['produceDate'] = dayjs().valueOf() // newRow['produceDate'] = dayjs().valueOf() //
newRow['heatTreatmentDate'] = dayjs().valueOf() //
let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD'); let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD');
newRow['batch'] = produceDateStr newRow['batch'] = produceDateStr
newRow['supplierBatch'] = produceDateStr newRow['supplierBatch'] = produceDateStr
@ -294,6 +295,7 @@ const getSearchTableData = async (number,formField,searchField,isAll)=>{
newRow['qty'] = row['planQty'] - row['shippedQty'] newRow['qty'] = row['planQty'] - row['shippedQty']
newRow['minProduceDate'] = row['minProduceDate'] // newRow['minProduceDate'] = row['minProduceDate'] //
newRow['produceDate'] = dayjs().valueOf() // newRow['produceDate'] = dayjs().valueOf() //
newRow['heatTreatmentDate'] = dayjs().valueOf() //
let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD'); let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD');
newRow['batch'] = produceDateStr newRow['batch'] = produceDateStr
newRow['supplierBatch'] = produceDateStr newRow['supplierBatch'] = produceDateStr

78
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts

@ -770,6 +770,84 @@ export const SupplierdeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]
disabled: true disabled: true
} }
}, },
{
label: '钢卷号',
field: 'steelCoilNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:8,
tableForm: {
disabled: false
}
},
{
label: '炉号',
field: 'heatNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:8,
tableForm: {
disabled: false
}
},
{
label: '热处理日期',
field: 'heatTreatmentDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
sortTableDefault:7,
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
tableForm: {
type: 'FormDate',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
{
label: '有效日期',
field: 'effectiveDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
sortTableDefault:7,
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
tableForm: {
type: 'FormDate',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
{ {
label: '计划数量', label: '计划数量',
field: 'planQty', field: 'planQty',

Loading…
Cancel
Save