Browse Source

Merge branch 'master_hella' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into master_hella

master_hella_20240701
ljlong_2630 1 year ago
parent
commit
9632a6f1e9
  1. 37
      .env.test-scp
  2. 7
      Dockerfile_scp
  3. 53
      nginx_scp.conf
  4. 1
      package.json
  5. 60
      src/api/mes/itemRequestMain/index.ts
  6. 3
      src/api/mes/orderDay/index.ts
  7. 6
      src/api/mes/processroute/index.ts
  8. 56
      src/api/mes/reportpStore/index.ts
  9. 63
      src/api/mes/workSchedulingQaform/index.ts
  10. 11
      src/api/wms/balance/index.ts
  11. 5
      src/api/wms/deliverRecordDetail/index.ts
  12. 6
      src/api/wms/package/index.ts
  13. 5
      src/api/wms/supplierdeliverInspectionDetail/index.ts
  14. 10
      src/components/Form/src/Form.vue
  15. 15
      src/components/Form/src/helper.ts
  16. 10
      src/components/Table/src/Table.vue
  17. 393
      src/locales/en-US.ts
  18. 329
      src/locales/zh-CN.ts
  19. 145
      src/utils/disposition/defaultButtons.ts
  20. 11
      src/utils/formatter.ts
  21. 162
      src/views/home/components/material.vue
  22. 116
      src/views/home/components/produce.vue
  23. 146
      src/views/home/components/product.vue
  24. 156
      src/views/home/components/supplierIndex.vue
  25. 244
      src/views/mes/itemRequestMain/index.vue
  26. 170
      src/views/mes/itemRequestMain/itemRequestMain.data.ts
  27. 4
      src/views/mes/orderDay/components/BasicFormV2.vue
  28. 2
      src/views/mes/orderDay/components/orderDetail.vue
  29. 146
      src/views/mes/orderDay/components/schedule.vue
  30. 6
      src/views/mes/orderDay/index.vue
  31. 2
      src/views/mes/orderDay/orderDay.data.ts
  32. 8
      src/views/mes/process/process.data.ts
  33. 163
      src/views/mes/processroute/components/configDialog.vue
  34. 6
      src/views/mes/processroute/components/graphbase.data.ts
  35. 2
      src/views/mes/productOffline/index.vue
  36. 4
      src/views/mes/productOffline/productOffline.data.ts
  37. 2
      src/views/mes/productionPlan/productionPlan.data.ts
  38. 244
      src/views/mes/reportpStore/index.vue
  39. 111
      src/views/mes/reportpStore/reportpStore.data.ts
  40. 295
      src/views/mes/workScheduling/components/Detail.vue
  41. 18
      src/views/mes/workScheduling/index.vue
  42. 141
      src/views/mes/workScheduling/workScheduling.data.ts
  43. 244
      src/views/mes/workSchedulingQaform/index.vue
  44. 208
      src/views/mes/workSchedulingQaform/workSchedulingQaform.data.ts
  45. 110
      src/views/qms/aql/aql.data.ts
  46. 27
      src/views/qms/basicDataManage/inspectionScheme/addForm.vue
  47. 2
      src/views/qms/basicDataManage/inspectionScheme/index.vue
  48. 8
      src/views/qms/basicDataManage/inspectionScheme/inspectionScheme.data.ts
  49. 118
      src/views/qms/basicDataManage/inspectionTemplate/addForm.vue
  50. 3
      src/views/qms/basicDataManage/inspectionTemplate/index.vue
  51. 59
      src/views/qms/inspection/inspectionJob/addForm.vue
  52. 17
      src/views/qms/inspection/inspectionJob/detail.vue
  53. 20
      src/views/qms/inspection/inspectionRecord/addForm.vue
  54. 96
      src/views/qms/inspection/inspectionRecord/detail.vue
  55. 9
      src/views/qms/inspection/inspectionRequest/index.vue
  56. 123
      src/views/qms/inspection/inspectionRequest/inspectionRequestMain.data.ts
  57. 11
      src/views/qms/sampleCode/sampleCode.data.ts
  58. 52
      src/views/qms/samplingProcess/index.vue
  59. 45
      src/views/qms/samplingProcess/samplingProcess.data.ts
  60. 2
      src/views/wms/basicDataManage/itemManage/itemarea/index.vue
  61. 2
      src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts
  62. 4
      src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts
  63. 162
      src/views/wms/deliversettlementManage/customerreceipt/customerreceiptRecordMain/customerreceiptRecordMain.data.ts
  64. 89
      src/views/wms/deliversettlementManage/customerreceipt/customerreceiptRequestMain/customerreceiptRequestMain.data.ts
  65. 7
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts
  66. 157
      src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts
  67. 169
      src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts
  68. 221
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts
  69. 109
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue
  70. 264
      src/views/wms/deliversettlementManage/deliverplan/deliverPlanMain/deliverPlanMain.data.ts
  71. 12
      src/views/wms/deliversettlementManage/deliverplan/deliverPlanMain/index.vue
  72. 103
      src/views/wms/deliversettlementManage/stockup/stockupMainJob/stockupMainJob.data.ts
  73. 62
      src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts
  74. 15
      src/views/wms/deliversettlementManage/stockup/stockupMainRequest/index.vue
  75. 58
      src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts
  76. 194
      src/views/wms/issueManage/productionreturn/productionreturnJobMain/productionreturnJobMain.data.ts
  77. 176
      src/views/wms/issueManage/productionreturn/productionreturnRecordMain/productionreturnRecordMain.data.ts
  78. 1
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue
  79. 415
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  80. 306
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts
  81. 969
      src/views/wms/moveManage/inventorymove/inventorymoveJobMain/inventorymoveJobMain.data.ts
  82. 459
      src/views/wms/moveManage/inventorymove/inventorymoveRecordMain/inventorymoveRecordMain.data.ts
  83. 3
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue
  84. 664
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts
  85. 27
      src/views/wms/productionManage/productionplan/productionMain/index.vue
  86. 247
      src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
  87. 232
      src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
  88. 231
      src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts
  89. 235
      src/views/wms/productionManage/productionplan/productionMainPredictSparePart/productionMainPredictSparePart.data.ts
  90. 168
      src/views/wms/productionManage/productputaway/productputawayJobMain/productputawayJobMain.data.ts
  91. 183
      src/views/wms/productionManage/productputaway/productputawayRecordMain/productputawayRecordMain.data.ts
  92. 24
      src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue
  93. 234
      src/views/wms/productionManage/productputaway/productputawayRequestMain/productputawayRequestMain.data.ts
  94. 166
      src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/productputawayAssembleJobMain.data.ts
  95. 191
      src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/productputawayAssembleRecordMain.data.ts
  96. 216
      src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/productputawayAssembleRequestMain.data.ts
  97. 250
      src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts
  98. 62
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue
  99. 59
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
  100. 2
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue

37
.env.test-scp

@ -0,0 +1,37 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://dev.ccwin-in.com:25400/api'
# 上传路径
VITE_UPLOAD_URL='http://dev.ccwin-in.com:25400/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://dev.ccwin-in.com:25311/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25311'

7
Dockerfile_scp

@ -0,0 +1,7 @@
# 设置基础镜像
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

53
nginx_scp.conf

@ -0,0 +1,53 @@
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;
}
}
}

1
package.json

@ -8,6 +8,7 @@
"dev": "vite",
"wyf": "vite --mode wyf",
"test": "vite build --mode test",
"test-scp": "vite build --mode test-scp",
"hella8": "vite build --mode hella8",
"hella9": "vite build --mode hella9",
"hella13": "vite build --mode hella13",

60
src/api/mes/itemRequestMain/index.ts

@ -0,0 +1,60 @@
import request from '@/config/axios'
export interface ItemRequestMainVO {
deleteTime: Date
id: number
status: string
concurrencyStamp: number
remark: string
deleter: string
siteId: number
planDayCode: string
workBillNo: string
batchCode: string
requestBillNo: string
workstationCode: string
productCode: string
processCode: string
requestType: string
}
// 查询叫料申请单主列表
export const getItemRequestMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/mes/item-request-main/senior', data })
} else {
return await request.get({ url: `/mes/item-request-main/page`, params })
}
}
// 查询叫料申请单主详情
export const getItemRequestMain = async (id: number) => {
return await request.get({ url: `/mes/item-request-main/get?id=` + id })
}
// 新增叫料申请单主
export const createItemRequestMain = async (data: ItemRequestMainVO) => {
return await request.post({ url: `/mes/item-request-main/create`, data })
}
// 修改叫料申请单主
export const updateItemRequestMain = async (data: ItemRequestMainVO) => {
return await request.put({ url: `/mes/item-request-main/update`, data })
}
// 删除叫料申请单主
export const deleteItemRequestMain = async (id: number) => {
return await request.delete({ url: `/mes/item-request-main/delete?id=` + id })
}
// 导出叫料申请单主 Excel
export const exportItemRequestMain = async (params) => {
return await request.download({ url: `/mes/item-request-main/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/mes/item-request-main/get-import-template' })
}

3
src/api/mes/orderDay/index.ts

@ -18,6 +18,7 @@ export interface OrderDayVO {
startTime: Date
endTime: Date
taskMode: string
batchCode:string
}
// 查询生产日计划列表
@ -104,4 +105,4 @@ export const publishPlan = async (data: OrderDayVO) => {
//终止计划
export const stopPlan = async (id) => {
return await request.post({ url: `/mes/orderday/stopPlan/`+id })
}
}

6
src/api/mes/processroute/index.ts

@ -82,9 +82,9 @@ export const getPatternPage = async (code:String) => {
return await request.get({ url: `/mes/mes-process-pattern/pagePatternByProcessCode?pageSize=25&processCode=`+code })
}
// 查询物料列表
export const getItembasicPage = async (code:String) => {
return await request.get({ url: `/mes/mes-process-itembasic/pageByProcessCode?pageSize=25&processCode=`+code})
// 查询产品物料列表
export const getProcessBomList = async (params) => {
return await request.get({ url: `/mes/common/getBomListByProductAndProcess`,params})
}
export const getWorkstationPage = async (code:String) => {

56
src/api/mes/reportpStore/index.ts

@ -0,0 +1,56 @@
import request from '@/config/axios'
export interface ReportpStoreVO {
status: string
remark: string
planDayCode: string
workBillNo: string
batchCode: string
reportUuid: string
itemBasicCode: string
itemCounts: number
itemUom: string
workstationCode: string
productCode: string
}
// 查询工序报工物料明细列表
export const getReportpStorePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/mes/reportp-store/senior', data })
} else {
return await request.get({ url: `/mes/reportp-store/page`, params })
}
}
// 查询工序报工物料明细详情
export const getReportpStore = async (id: number) => {
return await request.get({ url: `/mes/reportp-store/get?id=` + id })
}
// 新增工序报工物料明细
export const createReportpStore = async (data: ReportpStoreVO) => {
return await request.post({ url: `/mes/reportp-store/create`, data })
}
// 修改工序报工物料明细
export const updateReportpStore = async (data: ReportpStoreVO) => {
return await request.put({ url: `/mes/reportp-store/update`, data })
}
// 删除工序报工物料明细
export const deleteReportpStore = async (id: number) => {
return await request.delete({ url: `/mes/reportp-store/delete?id=` + id })
}
// 导出工序报工物料明细 Excel
export const exportReportpStore = async (params) => {
return await request.download({ url: `/mes/reportp-store/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/mes/reportp-store/get-import-template' })
}

63
src/api/mes/workSchedulingQaform/index.ts

@ -0,0 +1,63 @@
import request from '@/config/axios'
export interface WorkSchedulingQaformVO {
deleteTime: Date
id: number
status: string
concurrencyStamp: number
remark: string
deleter: string
siteId: number
planMaserCode: string
schedulingCode: string
nodeCode: string
qaFormNo: string
qaFormName: string
qaFormType: string
qaTime: Date
qaCount: number
qaCountPassed: number
qaCountNotpassed: number
qaPassRate: string
}
// 查询任务质检单列表
export const getWorkSchedulingQaformPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/mes/work-scheduling-qaform/senior', data })
} else {
return await request.get({ url: `/mes/work-scheduling-qaform/page`, params })
}
}
// 查询任务质检单详情
export const getWorkSchedulingQaform = async (id: number) => {
return await request.get({ url: `/mes/work-scheduling-qaform/get?id=` + id })
}
// 新增任务质检单
export const createWorkSchedulingQaform = async (data: WorkSchedulingQaformVO) => {
return await request.post({ url: `/mes/work-scheduling-qaform/create`, data })
}
// 修改任务质检单
export const updateWorkSchedulingQaform = async (data: WorkSchedulingQaformVO) => {
return await request.put({ url: `/mes/work-scheduling-qaform/update`, data })
}
// 删除任务质检单
export const deleteWorkSchedulingQaform = async (id: number) => {
return await request.delete({ url: `/mes/work-scheduling-qaform/delete?id=` + id })
}
// 导出任务质检单 Excel
export const exportWorkSchedulingQaform = async (params) => {
return await request.download({ url: `/mes/work-scheduling-qaform/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/mes/work-scheduling-qaform/get-import-template' })
}

11
src/api/wms/balance/index.ts

@ -83,6 +83,17 @@ export const getBalancePageByBusinessType = async (params) => {
}
// 查询库存余额列表根据业务类型
export const getBalancePageByBusinessTypeByItemType = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/seniorBusinessTypeByItemType', data })
} else {
return await request.get({ url: `/wms/balance/pageBusinessTypeByItemType`, params })
}
}
// 备件出库查询库存余额列表
export const getBalancePageSpare = async (params) => {
if (params.isSearch) {

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

@ -73,4 +73,9 @@ export const exportDeliverRecordDetail = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/deliver-record-detail/get-import-template' })
}
// 查询发货记录子列表
export const getDeliverRecordDetailListToRepeat = async (params) => {
return await request.get({ url: `/wms/deliver-record-detail/listToRepeat`, params })
}

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

@ -106,6 +106,12 @@ export const getLabel = async (id: number) => {
return await request.get({ url: `/wms/package/getLabel?id=` + id })
}
// 打印标签获取包装列表
export const getLabelDetailPage = async (params) => {
return await request.get({ url: `/wms/package/getLabelDetailPage`,params})
}
// 根据库存余额获取包装信息进行打印标签
export const getBalanceToPackage = async (packingNumber: String) => {
return await request.get({ url: `/wms/package/getBalanceToPackage?packingNumber=` + packingNumber})

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

@ -28,6 +28,11 @@ export const getSupplierdeliverInspectionDetail = async (id: number) => {
return await request.get({ url: `/wms/supplierdeliver-inspection-detail/get?id=` + id })
}
// 查询供应商发货申请质子列表
export const getSupplierdeliverDetailInfo = async (id: number) => {
return await request.get({ url: `/wms/supplierdeliver-inspection-detail/queryByMasterId?masterId=` + id })
}
// 新增供应商发货申请质检信息子
export const createSupplierdeliverInspectionDetail = async (data: SupplierdeliverInspectionDetailVO) => {
return await request.post({ url: `/wms/supplierdeliver-inspection-detail/create`, data })

10
src/components/Form/src/Form.vue

@ -22,6 +22,7 @@ import { FormProps } from './types'
import { Icon } from '@/components/Icon'
import { FormSchema, FormSetPropsType } from '@/types/form'
import { Search,CircleClose } from '@element-plus/icons-vue'
const { t } = useI18n()
const { getPrefixCls } = useDesign()
@ -321,8 +322,15 @@ export default defineComponent({
}
}
}
let labelName = item.label || ''
if(item.label){
labelName = t(`ts.${item.label}`)
if(labelName === 'ts.' + item.label){
labelName = item.label
}
}
return (
<ElFormItem {...(item.formItemProps || {})} prop={item.field} label={item.label || ''}>
<ElFormItem {...(item.formItemProps || {})} prop={item.field} label={labelName}>
{{
...formItemSlots,
default: () => {

15
src/components/Form/src/helper.ts

@ -14,9 +14,20 @@ export const setTextPlaceholder = (schema: FormSchema): PlaceholderModel => {
const { t } = useI18n()
const textMap = ['Input', 'Autocomplete', 'InputNumber', 'InputPassword']
const selectMap = ['Select', 'SelectV2', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
let labelName = schema.label || ''
if(schema.label){
labelName = t(`ts.${schema.label}`)
if(labelName === 'ts.' + schema.label){
labelName = ' '+schema.label
}else{
labelName = ' ' + labelName
}
}
if (textMap.includes(schema?.component as string)) {
return {
placeholder: t('common.inputText') + schema.label
placeholder: t('common.inputText') + labelName
}
}
if (selectMap.includes(schema?.component as string)) {
@ -34,7 +45,7 @@ export const setTextPlaceholder = (schema: FormSchema): PlaceholderModel => {
}
} else {
return {
placeholder: t('common.selectText') + schema.label
placeholder: t('common.selectText') + labelName
}
}
}

10
src/components/Table/src/Table.vue

@ -6,6 +6,7 @@ import { setIndex } from './helper'
import { getSlot } from '@/utils/tsxHelper'
import type { TableProps } from './types'
import { set } from 'lodash-es'
const { t } = useI18n()
import { Pagination, TableColumn, TableSetPropsType, TableSlotDefault } from '@/types/table'
import { useCache } from '@/hooks/web/useCache'
const { wsCache } = useCache()
@ -281,6 +282,11 @@ export default defineComponent({
updateSort(columns)
return [...[renderTableExpand()], ...[renderTableSelection()]].concat(
(columnsChildren || columns).map((v) => {
const zhName = v.label || '';//
let labelName = t(`ts.${v.label}`)
if(labelName === 'ts.' + zhName){
labelName = zhName
}
//
if (v.type === 'index') {
return (
@ -294,7 +300,7 @@ export default defineComponent({
align={v.align || align}
border={v.border || border}
headerAlign={v.headerAlign || headerAlign}
label={v.label}
label={labelName}
width="65px"
></ElTableColumn>
)
@ -320,7 +326,7 @@ export default defineComponent({
v?.formatter?.(data.row, data.column, data.row[v.field], data.$index) ||
data.row[v.field],
// @ts-ignore
header: () => getSlot(slots, `${v.field}-header`) || v.label
header: () => getSlot(slots, `${v.field}-header`) || labelName
}}
</ElTableColumn>
)

393
src/locales/en-US.ts

@ -467,5 +467,398 @@ export default {
btn_zoom_in: 'Zoom in',
btn_zoom_out: 'Zoom out',
preview: 'Preivew'
},
home:{
number_orders: 'Number of orders',
number_planned_shipments: 'Number of planned shipments',
number_invoices: 'Number of invoices',
invoice_trend_month: 'Invoice trend for this month',
TOP10_parts_shipped_month: 'TOP10 parts shipped this month',
number_open: 'Nmuber of open',
number_open_plans: 'Number of Open Plans',
number_unreceived_orders: 'Number of Unreceived Orders',
number_total_order: 'Total Order Number',
number_all_plans: 'Number of All Plans',
number_orders_received: 'Number of Orders Received',
single: 'Single',
latest_news : 'Latest News',
number : 'Number',
user_type : 'User Type',
user_number : 'User Number',
template_coding : 'Template Coding',
sender_number : 'Sender Number',
template_content : 'Template Content',
template_parameters : 'Template Parameters',
template_type : 'Template Type',
read : 'Read',
read_time : 'Read Time',
create_time : 'Create Time',
latest_deduction_details: 'Latest Deduction Details',
title: 'Title',
publisher: 'Publisher',
publish_date: 'Publish Date',
month_return_detials:'This month\'s return detials',
document_number:'Document number',
source_package_number:'Source Package Number',
destination_package_number:'Destination Package Number',
source_appliance_number:'Source Appliance Number',
destination_appliance_number:'Destination Appliance Number',
source_batch:'Source Batch',
destination_batch:'Destination Batch',
replace_batch:'Replace batch',
source_location_code:'Source Location Code',
destination_location_code:'Destination Location Code',
source_location_group_code:'Source Location Group Code',
destination_location_group_code:'Destination Location Group Code',
source_location_area_code:'Source Location Area Code',
destination_location_area_code:'Destination Location Area Code',
source_shipper_code:'Source Shipper Code',
destination_shipper_code:'Destination Shipper Code',
inventory_state:'Inventory State',
order_number:'Order Number',
order_line:'Order Line',
cause:'Cause',
unit_price:'Unit Price',
money:'Money',
material_code:'Material Code',
material_name:'Material Name',
material_description1:'Material Description1',
material_description2:'Material Description2',
amount:'Amount',
measuring_unit:'Measuring Unit',
item_cde:'Item Code',
comment:'Comment',
creater:'Creater',
claim_details_month:'Claim Details for This Month',
batch:'Batch',
today_arrival_plan_shipped : 'Today\'s arrival plan(Shipped)',
material_preparation_plan_today_issued: 'Material preparation plan today(Issued)',
call_material_today_issued : 'Call for material today(Issued)',
pcs : 'pcs',
free_library_bits_or_total_library_bits : 'Free library bits/Total library bits',
slack_stock_warning : 'Slack stock warning',
package_number : 'Package Number',
appliance_code : 'Appliance Code',
location_code : 'Location Code',
warehouse_code : 'Warehouse Code',
location_group_code : 'Location Group Code',
location_area_code : 'Location Area Code',
erp_location_code : 'ERP Location Code',
arrival_date : 'Arrival Date',
production_date : 'Production Date',
expiry_date : 'Expiry Date',
shipper_code : 'Shipper Code',
lock_quantity : 'Lock Quantity',
available_quantity : 'Available Quantity',
warehouse_entry_time : 'Warehouse Entry Time',
overstock_warning : 'Overstock warning',
high_and_low_storage_warning : 'High and low storage warning',
waiting_tasks : 'Waiting Tasks',
purchase_return_tasks : 'Purchase Return Tasks',
product_putway_tasks : 'Product Putway Tasks',
purchase_and_receive_tasks : 'Purchase and Receive Tasks',
production_receipt_tasks : 'Production Receipt Tasks',
production_return_tasks : 'Production Return Tasks',
supplement_materials_tasks : 'Supplement Materials Tasks',
product_receiving_tasks : 'Product Receiving Tasks',
send_materials_tasks : 'Send Materials Tasks',
today_production_plan : 'Today\'s production plan',
sequence : 'Sequence',
workshop : 'Workshop',
prouduction_line : 'Prouduction Line',
schedule : 'Schedule',
teams_and_groups : 'Teams and Groups',
intended_date : 'Intended Date',
start_date : 'Start Date',
ending_date : 'Ending Date',
business_type : 'Business Type',
line_side_safety_stock : 'Line side safety stock',
type : 'Type',
laneway : 'Laneway',
goods_shelf : 'Goods Shelf',
line : 'Line',
column : 'Column',
stock_priority : 'Stock Priority',
maximum_load_bearing : 'Maximum Load Bearing',
maximum_area : 'Maximum Area',
maximum_volume : 'Maximum Volume',
user_group_code : 'User Group Code',
inventory_of_finished_products_waiting_to_be_putway : 'Inventory of finished products waiting to be putway',
source_warehouse_code : 'Source Warehouse Code',
apply_time : 'Apply Time',
request_cut_off_time : 'Request cut-off Time',
state : 'State',
department : 'Department',
undertaker_user_name : 'Undertaker User Name',
undertake_time : 'Undertake Time',
source_location_type_range : 'Source Location Type Range',
destination_location_type_range : 'Destination Location Type Range',
destination_warehouse_code : 'Destination Warehouse Code',
source_location_area_code_range : 'Source Location Area Code Range',
destination_location_area_code_range : 'Destination Location Area Code Range',
auto_ccomplete : 'Auto-complete',
modifiable_location : 'Modifiable Location',
modifiable_amount : 'Modifiable Amount',
allow_greater_than_recommended : 'Allow greater than recommended',
allow_less_than_recommended : 'Allow less than recommended',
allow_modify_location_state : 'Allow modify Location state',
allow_continuous_scanning : 'Allow continuous scanning',
allow_partly_completed : 'Allow partly completed',
modifiable_batch : 'Modifiable Batch',
modifiable_casecode : 'Modifiable Casecode',
expiration_time: 'Expiration Time',
effective_time : 'Effective Time',
code : 'Code',
name : 'Name',
},
ts: {
:'Code',
:'All',
:'Standard',
:'Out-source',
:'Others',
:'Others',
:'Available',
:'Type',
:'Name',
:'Yes',
:'No',
:'Supplier Code',
:'Material Code',
:'Document Number',
:'Order Type',
:'State',
:'Purchase Order Number',
:'Schedule',
:'Discrete',
:'Get ready',
:'Punblish',
:'Close',
:'Finished',
:'Invoice number',
:'Source Batch',
:'Destination Batch',
:'Source Package Number',
:'Destination Package Number',
:'Source Appliance Number',
:'Destination Appliance Number',
: 'Abbreviation',
:'Address',
:'Country',
:'City',
:'Phone',
:'Fax',
:'Postcode',
:'Contact',
:'Contact Email',
:'Bank',
:'Currency Kind',
:'Tax rate',
:'Effective Time',
:'Expiration Time',
:'Supplier material code',
:'Supplier measuring Unit',
:'Conversion Rate',
:'Default receiving warehouse location',
:'Creater',
:'Creater',
:'Create Time',
:'Comment',
:'Currency',
:'Price',
:'Order Date',
:'Line Number',
:'Operation',
:'Measuring Unit',
:'RMB',
:'Dollar',
:'Version Number',
:'Publish Time',
:'Start Time',
:'Finish Time',
:'Business Type',
:'Forecast time type',
:'Forecast Date',
:'Order Line',
:'Planned Quantity',
:'Last update time',
:'Last Updater',
:'Demand plan',
:'Request number',
:'Code from the repository',
:'to the repository code',
:'to the dock code',
:'Time window',
:'Scheduled arrival time',
:'Carriers',
:'Shipping method',
:'License plate number',
:'The type of outbound transaction',
:'Inbound transaction type',
:'Execution time',
:'Application timeline',
:'Deadline',
:'department',
:'Interface type',
:'Package number',
:'Order number',
:'Order quantity',
:'quantity',
:'Packing quantity',
:'The quantity measured by the supplier',
:'vendor',
:'From the location code',
:'to the location code',
:'From the bin location group code',
:'to the bin location group code',
:'Code from the depot',
:'to the depot code',
:'Code from the shipper',
:'Shipper code',
:'See other packaging formats',
:'Packing specifications',
:'Document printing',
:'Itemized list',
:'No data yet',
:'supplier Shipping Request',
:'Query Field',
:'Measuring UnitSupplier batchDate of production',
:'Production Date',
:'Number of shipments',
:'Primary data',
:'Cargo Plan Bill Number',
:'Contact name',
:'Contact phone',
:'Contact email',
:'Supplier shipments Repository code',
:'Shipping method License plate number',
:'Auto-submit',
:'Automatically passed',
:'Automated',
:'Generate records directly',
:'Details',
:'Batch',
:'Date of manufacture',
:'Arrival date',
:'Expiration date',
:'Supplier unit of measure',
:'Conversion rate',
:'Material Name',
1:'Material Description1',
2:'Material Description2',
:'Item Code',
:'Quality inspection details',
:'Add Attachment',
:'Please enter a comment',
:'Changelog',
:'Add details',
:'Upload quality report',
:'Upload the quality inspection report',
:'Supplier lots',
:'piece',
:'sheet',
:'gram',
:'kg',
:'ton',
:'rice',
:'square metre',
:'Generate labels',
:'Create a label',
1:'Packing Specification 1',
2:'Package Specification 2',
1:'Package Quantity1',
2:'Package Quantity2',
:'Item packaging information',
:'System prompts',
:'Do you generate labels for this data?',
:'Do you process the selected data?',
:'shipments',
:'Package number',
:'Label information',
:'Purchase receipt records',
:'Form data',
:'Task ticket number',
ERP单据号:'ERP document number',
:'Inspection requisition number',
:'Purchase order number',
:'The name of the item',
:'Data source',
:'From the range of reservoir types',
:'to the depot type range',
:'From the range of depot codes',
:'to the range of codes in the reservoir',
:'Effective Date',
:'Receipt details',
:'Out-of-stock details',
:'Row type',
:'The quantity received',
:'to the batch',
:'From the package number',
:'to the package number',
:'Inventory status',
:'From the bin location group',
:'to the bin location group',
:'From the reservoir area',
:'to the reservoir area',
:'from the owner of the goods',
:'to the owner of the goods',
退:'Purchase return records',
:'Purchase receipt record number',
qad采购退货记录单号:'QAD purchase return record number',
:'From the dock code',
:'Cause',
退:'Number of returns',
:'unit',
:'amount',
:'Customer Code',
:'Query',
:'Reset',
:'Add',
:'Import',
:'Export',
:'Refresh',
:'Filter',
:'Settings',
:'Confirm',
:'Cancel',
:'Edit',
:'Delete',
:'Add Filter',
:'Open',
:'Save',
//--------
// 单据打印:'Document Print',
// 上传质量报告:'Upload Quality Report',
// 打印标签:'Print Label',
// 发货:'Delivery',
// 生成标签:'Generate Label',
// 发送到货检验申请:'Send Arrival Inspection Application',
// 生成采购上架申请:'Generate Purchase Putaway Application',
// 生成生产计划单:'Generate Production Plan',
// 提交审批:'Submit Approval',
// 审核通过:'Approve',
// 作废:'Invalid',
//--------
// 生成采购收货申请:'Generate Purchase Receiving Application',
// 生成采购退货申请:'Generate Purchase Return Application',
// 生成生产收货申请:'Generate Production Receiving Application',
// 生成生产退货申请:'Generate Production Return Application',
// 生成生产计划:'Generate Production Plan',
// 上传:'Upload',
// 打印:'Print',
// 打印预览:'Print Preview',
// 打印设置:'Print Settings',
// 打印预览设置:'Print Preview
// 上传图片:'Upload Image',
// 上传文件:'Upload File',
// 上传视频:'Upload Video',
// 上传音频:'Upload Audio',
// 上传其他:'Upload Other',
// 上传图片:'Upload Image',
// 上传文件:'Upload File',
// 上传视频:'Upload Video',
// 上传音频:'Upload Audio',
// 上传其他:'Upload Other',
}
}

329
src/locales/zh-CN.ts

@ -460,5 +460,334 @@ export default {
btn_zoom_in: '放大',
btn_zoom_out: '缩小',
preview: '预览'
},
home:{
number_orders: '订单数',
number_planned_shipments: '要货计划数',
number_invoices: '发货单数',
invoice_trend_month: '本月发货单趋势',
TOP10_parts_shipped_month: '本月发货零件Top10',
number_open: '开放订单数',
number_open_plans: '开放计划数',
number_unreceived_orders: '未收货订单数',
number_total_order: '全部订单数',
number_all_plans: '全部计划数',
number_orders_received: '已收货订单数',
single: '单',
latest_news : '最新消息',
number : '编号',
user_type : '用户类型',
user_number : '用户编号',
template_coding : '模板编码',
sender_number : '发送人名称',
template_content : '模板内容',
template_parameters : '模板参数',
template_type : '模板类型',
read : '是否已读',
read_time : '阅读时间',
create_time : '创建时间',
latest_deduction_details: '最新扣分明细',
title: '标题',
publisher: '发布人',
publish_date: '发布日期',
month_return_detials:'本月退货明细',
document_number:'单据号',
source_package_number:'从包装号',
destination_package_number:'到包装号',
source_appliance_number:'从器具号',
destination_appliance_number:'到器具号',
source_batch:'从批次',
destination_batch:'到批次',
replace_batch:'替代批次',
source_location_code:'从库位代码',
destination_location_code:'到库位代码',
source_location_group_code:'从库位组代码',
destination_location_group_code:'到库位组代码',
source_location_area_code:'从库区代码',
destination_location_area_code:'到库区代码',
source_shipper_code:'从货主代码',
destination_shipper_code:'到货主代码',
inventory_state:'库存状态',
order_number:'订单号',
order_line:'订单行',
cause:'原因',
unit_price:'单价',
money:'金额',
material_code:'物料代码',
material_name:'物料名称',
material_description1:'物料描述1',
material_description2:'物料描述2',
amount:'数量',
measuring_unit:'计量单位',
item_code:'项目代码',
comment:'备注',
creater:'创建者',
claim_details_month:'本月索赔明细',
batch:'批次',
today_arrival_plan_shipped : '今日到货计划(已发货)',
material_preparation_plan_today_issued:'今日备料计划(已发料)',
call_material_today_issued:'今日叫料请求(已发料)',
'pcs' : '个',
free_library_bits_or_total_library_bits : '空闲库位数/总库位数',
slack_stock_warning : '呆滞库存预警',
package_number : '包装号',
appliance_code : '器具代码',
location_code : '库位代码',
warehouse_code : '仓库代码',
location_group_code : '库位组代码',
location_area_code : '库区代码',
erp_location_code : 'ERP库位代码',
arrival_date : '到货日期',
production_date : '生产日期',
expiry_date : '失效日期',
shipper_code : '货主代码',
lock_quantity : '锁定数量',
available_quantity : '可用数量',
warehouse_entry_time : '入库时间',
overstock_warning : '超期库存预警',
high_and_low_storage_warning : '高低储预警',
waiting_tasks : '待处理任务',
purchase_return_tasks : '采购退货任务',
product_putway_tasks : '制品上架任务',
purchase_and_receive_tasks : '采购收货任务',
production_receipt_tasks : '生产收料任务',
production_return_tasks : '生产退料',
supplement_materials_tasks : '补料任务',
product_receiving_tasks : '制品收货任务',
send_materials_tasks : '发料任务',
today_production_plan : '今日生产计划',
sequence : '顺序',
workshop : '车间',
prouduction_line : '生产线',
schedule : '班次',
teams_and_groups : '班组',
intended_date : '计划日期',
start_date : '开始日期',
ending_date : '结束日期',
business_type : '业务类型',
line_side_safety_stock : '线边安全库存',
type : '类型',
laneway : '巷道',
goods_shelf : '货架',
line : '行',
column : '列',
stock_priority : '备货优先级',
maximum_load_bearing : '最大承重',
maximum_area : '最大面积',
maximum_volume : '最大体积',
user_group_code : '用户组代码',
inventory_of_finished_products_waiting_to_be_putway : '待上架成品库存',
source_warehouse_code : '从仓库代码',
apply_time : '申请时间',
request_cut_off_time : '要求截止时间',
state : '状态',
department : '部门',
undertaker_user_name : '承接人用户名',
undertake_time : '承接时间',
source_location_type_range : '从库位类型范围',
destination_location_type_range : '到库位类型范围',
destination_warehouse_code : '到仓库代码',
source_location_area_code_range : '从库区代码范围',
destination_location_area_code_range : '到库区代码范围',
auto_complete : '自动完成',
modifiable_location : '允许修改库位',
modifiable_amount : '允许修改数量',
allow_greater_than_recommended : '允许大于推荐数量',
allow_less_than_recommended : '允许小于推荐数量',
allow_modify_location_state : '允许修改库存状态',
allow_continuous_scanning : '允许连续扫描',
allow_partly_completed : '允许部分完成',
modifiable_batch : '允许修改批次',
modifiable_casecode : '允许修改箱码',
expiration_time: '失效时间',
effective_time : '生效时间',
code : '代码',
name : '名称',
},
ts: {
: '代码',
: 'All',
: '标准',
: '委外',
:'其它',
:'其他',
: '是否可用',
: '类型',
: '名称',
: '是',
: '否',
: '供应商代码',
:'物料代码',
:'单据号',
:'订单类型',
:'状态',
:'采购订单号',
:'日程',
:'离散',
:'准备',
:'发布',
:'关闭',
:'已完成',
:'发货单号',
:'从批次',
:'到批次',
:'从包装号',
:'到包装号',
:'从器具号',
:'到器具号',
: '简称',
:'地址',
:'国家',
:'城市',
:'电话',
:'传真',
:'邮编',
:'联系人',
:'联系人邮件',
:'银行',
:'币种',
:'税率',
:'生效时间',
:'失效时间',
:'供应商物料代码',
:'供应商计量单位',
:'转换率',
:'默认收货库位',
:'创建人',
:'创建者',
:'创建时间',
:'备注',
:'货币',
:'价格',
:'订单日期',
:'行号',
:'操作',
:'计量单位',
:'人民币',
:'美元',
:'版本号',
:'发布时间',
:'开始时间',
:'结束时间',
:'业务类型',
:'预测时间类型',
:'预测日期',
:'订单行',
:'计划数量',
:'最后更新时间',
:'最后更新者',
:'要货计划',
:'申请单号',
:'从仓库代码',
:'到仓库代码',
:'到月台代码',
:'时间窗口',
:'计划到货时间',
:'承运商',
:'运输方式',
:'车牌号',
:'出库事务类型',
:'入库事务类型',
:'执行时间',
:'申请时间',
:'截止时间',
:'部门',
:'接口类型',
:'包装号',
:'订单号',
:'订单数量',
:'数量',
:'包装数量',
:'供应商计量数量',
:'供应商',
:'从库位代码',
:'到库位代码',
:'从库位组代码',
:'到库位组代码',
:'从库区代码',
:'到库区代码',
:'从货主代码',
:'到货主代码',
:'查看其他包装规格',
:'包装规格',
:'单据打印',
:'明细列表',
:'暂无数据',
:'供应商发货申请',
:'查询字段',
:'供应商批次',
:'生产日期',
:'发货数量',
:'主数据',
:'要货计划单号',
:'联系人姓名',
:'联系人电话',
:'联系人电子邮件',
:'供应商发货仓库代码',
:'运输方式车牌号',
:'自动提交',
:'自动通过',
:'自动执行',
:'直接生成记录',
:'查询',
:'重置',
:'新增',
:'导入',
:'导出',
:'刷新',
:'筛选',
:'设置',
:'确定',
:'取消',
:'编辑',
:'删除',
:'添加附件',
:'添加筛选条件',
:'打开',
:'保存',
//////
:'启用',
:'禁用',
:'中止',
:'领取',
:'完成',
:'绑定',
:'重新添加',
:'下架',
:'修改',
:'不接受',
:'接受',
:'承接',
:'放弃',
:'收货',
:'包装',
:'打印标签',
:'批量打印',
:'生成采购收货申请',
:'发送到货检验申请',
:'生成采购上架申请',
:'生成盘点调整申请',
:'重盘',
:'监盘',
:'解冻',
:'更新检验记录',
使:'使用决策'
}
}

145
src/utils/disposition/defaultButtons.ts

@ -4,11 +4,12 @@
* @param {*} option
* @returns
*/
const { t } = useI18n()
// 新增按钮
export function defaultAddBtn(option:any) {
return __defaultBtnOption(option,{
label: '新增',
label: t(`ts.新增`).replace('ts.', ''),
name: 'add',
hide: false,
type: 'primary',
@ -21,7 +22,7 @@ export function defaultAddBtn(option:any) {
// 导入按钮
export function defaultImportBtn(option:any) {
return __defaultBtnOption(option,{
label: '导入',
label: t(`ts.导入`).replace('ts.', ''),
name: 'import',
hide: false,
type: 'warning',
@ -34,7 +35,7 @@ export function defaultImportBtn(option:any) {
// 导出按钮
export function defaultExportBtn(option:any) {
return __defaultBtnOption(option,{
label: '导出',
label: t(`ts.导出`).replace('ts.', ''),
name: 'export',
hide: false,
type: 'success',
@ -78,7 +79,7 @@ export function defaultExportBtn(option:any) {
// 刷新按钮
export function defaultFreshBtn(option:any) {
return __defaultBtnOption(option,{
label: '刷新',
label: t(`ts.刷新`).replace('ts.', ''),
name: 'refresh',
hide: false,
type: 'primary',
@ -92,7 +93,7 @@ export function defaultFreshBtn(option:any) {
// 重置按钮
export function defaultResetBtn(option:any) {
return __defaultBtnOption(option,{
label: '重置',
label: t(`ts.重置`).replace('ts.', ''),
name: 'reset',
hide: false,
type: 'info',
@ -106,7 +107,7 @@ export function defaultResetBtn(option:any) {
// 字段设置
export function defaultSetBtn(option:any) {
return __defaultBtnOption(option,{
label: '设置',
label: t(`ts.设置`).replace('ts.', ''),
name: 'set',
hide: false,
type: 'info',
@ -120,7 +121,7 @@ export function defaultSetBtn(option:any) {
// 筛选按钮
export function defaultFilterBtn(option:any) {
return __defaultBtnOption(option,{
label: '筛选',
label: t(`ts.筛选`).replace('ts.', ''),
name: 'filtrate',
hide: false,
type: 'info',
@ -134,7 +135,7 @@ export function defaultFilterBtn(option:any) {
// 筛选——查询按钮
export function defaultSearchBtn(option:any) {
return __defaultBtnOption(option,{
label: '搜索',
label: t(`ts.搜索`).replace('ts.', ''),
name: 'search',
hide: false,
type: 'primary',
@ -148,7 +149,7 @@ export function defaultSearchBtn(option:any) {
// 筛选——重置按钮
export function defaultSearchResetBtn(option:any) {
return __defaultBtnOption(option,{
label: '重置',
label: t(`ts.重置`).replace('ts.', ''),
name: 'searchReset',
hide: false,
type: 'info',
@ -162,7 +163,7 @@ export function defaultSearchResetBtn(option:any) {
// form表单-保存按钮
export function formSaveBtn(option:any) {
return __defaultBtnOption(option,{
label: '保存',
label: t(`ts.保存`).replace('ts.', ''),
name: 'save',
hide: false,
type: 'primary',
@ -176,7 +177,7 @@ export function formSaveBtn(option:any) {
// form表单-关闭按钮
export function formCloseBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'close',
hide: false,
icon: 'ep:close',
@ -189,7 +190,7 @@ export function formCloseBtn(option:any) {
// drawer抽屉头部-编辑按钮
export function drawerEditBtn(option:any) {
return __defaultBtnOption(option,{
label: '编辑',
label: t(`ts.编辑`).replace('ts.', ''),
name: 'edit',
hide: false,
type: 'warning',
@ -202,7 +203,7 @@ export function drawerEditBtn(option:any) {
// drawer抽屉头部-删除按钮
export function drawerDeleteBtn(option:any) {
return __defaultBtnOption(option,{
label: '删除',
label: t(`ts.删除`).replace('ts.', ''),
name: 'delete',
hide: false,
type: 'danger',
@ -228,7 +229,7 @@ export function drawerDeleteBtn(option:any) {
// 主列表-编辑按钮
export function mainListEditBtn(option:any) {
return __defaultBtnOption(option,{
label: '编辑',
label: t(`ts.编辑`).replace('ts.', ''),
name: 'edit',
hide: false,
type: 'warning',
@ -241,7 +242,7 @@ export function mainListEditBtn(option:any) {
// 主列表-删除按钮
export function mainListDeleteBtn(option:any) {
return __defaultBtnOption(option,{
label: '删除',
label: t(`ts.删除`).replace('ts.', ''),
name: 'delete',
hide: false,
type: 'danger',
@ -252,7 +253,7 @@ export function mainListDeleteBtn(option:any) {
}
export function mainListEnableBtn(option:any) {
return __defaultBtnOption(option,{
label: '启用',
label: t(`ts.启用`).replace('ts.', ''),
name: 'enable',
hide: false,
type: 'danger',
@ -263,7 +264,7 @@ export function mainListEnableBtn(option:any) {
}
export function mainListDisableBtn(option:any) {
return __defaultBtnOption(option,{
label: '禁用',
label: t(`ts.禁用`).replace('ts.', ''),
name: 'disable',
hide: false,
type: 'danger',
@ -275,7 +276,7 @@ export function mainListDisableBtn(option:any) {
// 主列表-中止按钮1
export function mainListSuspend1Btn(option:any) {
return __defaultBtnOption(option,{
label: '中止',
label: t(`ts.中止`),
name: 'suspend',
hide: false,
type: 'danger',
@ -288,7 +289,7 @@ export function mainListSuspend1Btn(option:any) {
// 主列表-中止按钮2
export function mainListSuspend2Btn(option:any) {
return __defaultBtnOption(option,{
label: '中止',
label: t(`ts.中止`).replace('ts.', ''),
name: 'suspend',
hide: false,
type: 'danger',
@ -301,7 +302,7 @@ export function mainListSuspend2Btn(option:any) {
// 主列表-领取按钮
export function mainListReceiveBtn(option:any) {
return __defaultBtnOption(option,{
label: '领取',
label: t(`ts.领取`).replace('ts.', ''),
name: 'receive',
hide: false,
type: 'primary',
@ -314,7 +315,7 @@ export function mainListReceiveBtn(option:any) {
// 主列表-完成按钮
export function mainListFinishBtn(option:any) {
return __defaultBtnOption(option,{
label: '完成',
label: t(`ts.完成`).replace('ts.', ''),
name: 'finish',
hide: false,
type: 'primary',
@ -327,7 +328,7 @@ export function mainListFinishBtn(option:any) {
// 主列表-绑定
export function mainListBindBtn(option:any) {
return __defaultBtnOption(option,{
label: '绑定',
label: t(`ts.绑定`).replace('ts.', ''),
name: 'bind',
hide: false,
type: 'primary',
@ -339,7 +340,7 @@ export function mainListBindBtn(option:any) {
// 主列表-申请流程-关闭按钮
export function mainListCloseBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'mainClose',
hide: false,
type: 'danger',
@ -352,7 +353,7 @@ export function mainListCloseBtn(option:any) {
// 主列表-申请流程-重新添加按钮
export function mainListReAddBtn(option:any) {
return __defaultBtnOption(option,{
label: '重新添加',
label: t(`ts.重新添加`).replace('ts.', ''),
name: 'mainReAdd',
hide: false,
type: 'warning',
@ -365,7 +366,7 @@ export function mainListReAddBtn(option:any) {
// 主列表-申请流程-提交审批按钮
export function mainListSubmitBtn(option:any) {
return __defaultBtnOption(option,{
label: '提交审批',
label: t(`ts.提交审批`).replace('ts.', ''),
name: 'mainSubmit',
hide: false,
type: 'primary',
@ -378,7 +379,7 @@ export function mainListSubmitBtn(option:any) {
// 主列表-申请流程-驳回按钮
export function mainListTurnDownBtn(option:any) {
return __defaultBtnOption(option,{
label: '驳回',
label: t(`ts.驳回`).replace('ts.', ''),
name: 'mainTurnDown',
hide: false,
type: 'danger',
@ -391,7 +392,7 @@ export function mainListTurnDownBtn(option:any) {
// 主列表-申请流程-审批通过按钮
export function mainListApproveBtn(option:any) {
return __defaultBtnOption(option,{
label: '审批通过',
label: t(`ts.审批通过`).replace('ts.', ''),
name: 'mainApprove',
hide: false,
type: 'primary',
@ -404,7 +405,7 @@ export function mainListApproveBtn(option:any) {
// 主列表-申请流程-处理按钮
export function mainListHandleBtn(option:any) {
return __defaultBtnOption(option,{
label: '处理',
label: t(`ts.处理`).replace('ts.', ''),
name: 'mainHandle',
hide: false,
type: 'primary',
@ -417,7 +418,7 @@ export function mainListHandleBtn(option:any) {
// 主列表-订单流程-发布按钮
export function mainListOrderPubBtn(option:any) {
return __defaultBtnOption(option,{
label: '发布',
label: t(`ts.发布`).replace('ts.', ''),
name: 'mainOrderPub',
hide: false,
type: 'success',
@ -430,7 +431,7 @@ export function mainListOrderPubBtn(option:any) {
// 主列表-订单流程-关闭按钮
export function mainListOrderCloBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'mainOrderClo',
hide: false,
type: 'danger',
@ -443,7 +444,7 @@ export function mainListOrderCloBtn(option:any) {
// 主列表-订单流程-打开按钮
export function mainListOrderOpeBtn(option:any) {
return __defaultBtnOption(option,{
label: '打开',
label: t(`ts.打开`).replace('ts.', ''),
name: 'mainOrderOpe',
hide: false,
type: 'warning',
@ -456,7 +457,7 @@ export function mainListOrderOpeBtn(option:any) {
// 主列表-订单流程-下架按钮
export function mainListOrderWitBtn(option:any) {
return __defaultBtnOption(option,{
label: '下架',
label: t(`ts.下架`).replace('ts.', ''),
name: 'mainOrderWit',
hide: false,
type: 'danger',
@ -469,7 +470,7 @@ export function mainListOrderWitBtn(option:any) {
// 主列表-计划流程-打开按钮
export function mainListPlanOpeBtn(option:any) {
return __defaultBtnOption(option,{
label: '打开',
label: t(`ts.打开`).replace('ts.', ''),
name: 'mainPlanOpe',
hide: false,
type: 'warning',
@ -482,7 +483,7 @@ export function mainListPlanOpeBtn(option:any) {
// 主列表-计划流程-关闭按钮
export function mainListPlanCloBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'mainPlanClo',
hide: false,
type: 'danger',
@ -495,7 +496,7 @@ export function mainListPlanCloBtn(option:any) {
// 主列表-上传质量报告
export function mainListPlanUploadQualityReportBtn(option:any) {
return __defaultBtnOption(option,{
label: '上传质量报告',
label: t(`ts.上传质量报告`).replace('ts.', ''),
name: 'mainPlanUploadQualityReport',
hide: false,
type: 'primary',
@ -508,7 +509,7 @@ export function mainListPlanUploadQualityReportBtn(option:any) {
// 主列表-计划流程-提交审批按钮
export function mainListPlanSubBtn(option:any) {
return __defaultBtnOption(option,{
label: '提交审批',
label: t(`ts.提交审批`).replace('ts.', ''),
name: 'mainPlanSub',
hide: false,
type: 'primary',
@ -521,7 +522,7 @@ export function mainListPlanSubBtn(option:any) {
// 主列表-计划流程-驳回按钮
export function mainListPlanTurBtn(option:any) {
return __defaultBtnOption(option,{
label: '驳回',
label: t(`ts.驳回`).replace('ts.', ''),
name: 'mainPlanTur',
hide: false,
type: 'danger',
@ -534,7 +535,7 @@ export function mainListPlanTurBtn(option:any) {
// 主列表-计划流程-重置按钮
export function mainListPlanResBtn(option:any) {
return __defaultBtnOption(option,{
label: '重置',
label: t(`ts.重置`).replace('ts.', ''),
name: 'mainPlanRes',
hide: false,
type: 'danger',
@ -547,7 +548,7 @@ export function mainListPlanResBtn(option:any) {
// 主列表-计划流程-审批通过按钮
export function mainListPlanAppBtn(option:any) {
return __defaultBtnOption(option,{
label: '审批通过',
label: t(`ts.审批通过`).replace('ts.', ''),
name: 'mainPlanApp',
hide: false,
type: 'primary',
@ -560,7 +561,7 @@ export function mainListPlanAppBtn(option:any) {
// 主列表-计划流程-发布按钮
export function mainListPlanPubBtn(option:any) {
return __defaultBtnOption(option,{
label: '发布',
label: t(`ts.发布`).replace('ts.', ''),
name: 'mainPlanPub',
hide: false,
type: 'success',
@ -573,7 +574,7 @@ export function mainListPlanPubBtn(option:any) {
// 主列表-计划流程-执行按钮
export function mainListPlanComBtn(option:any) {
return __defaultBtnOption(option,{
label: '执行',
label: t(`ts.执行`).replace('ts.', ''),
name: 'mainPlanCom',
hide: false,
type: 'danger',
@ -586,7 +587,7 @@ export function mainListPlanComBtn(option:any) {
// 主列表-要货计划流程-修改按钮
export function mainListPurchasePlanModBtn(option:any) {
return __defaultBtnOption(option,{
label: '修改',
label: t(`ts.修改`).replace('ts.', ''),
name: 'mainPurPlanMod',
hide: false,
type: 'danger',
@ -599,7 +600,7 @@ export function mainListPurchasePlanModBtn(option:any) {
// 主列表-要货计划流程-下架按钮
export function mainListPurchasePlanWitBtn(option:any) {
return __defaultBtnOption(option,{
label: '下架',
label: t(`ts.下架`),
name: 'mainPurPlanWit',
hide: false,
type: 'danger',
@ -612,7 +613,7 @@ export function mainListPurchasePlanWitBtn(option:any) {
// 主列表-要货计划流程-不接受按钮
export function mainListPurchasePlanRejBtn(option:any) {
return __defaultBtnOption(option,{
label: '不接受',
label: t(`ts.不接受`).replace('ts.', ''),
name: 'mainPurPlanRej',
hide: false,
type: 'danger',
@ -625,7 +626,7 @@ export function mainListPurchasePlanRejBtn(option:any) {
// 主列表-要货计划流程-接受按钮
export function mainListPurchasePlanAccBtn(option:any) {
return __defaultBtnOption(option,{
label: '接受',
label: t(`ts.接受`).replace('ts.', ''),
name: 'mainPurPlanAcc',
hide: false,
type: 'primary',
@ -638,7 +639,7 @@ export function mainListPurchasePlanAccBtn(option:any) {
// 主列表-要货计划流程-发布按钮
export function mainListPurchasePlanPubBtn(option:any) {
return __defaultBtnOption(option,{
label: '发布',
label: t(`ts.发布`).replace('ts.', ''),
name: 'mainPurPlanPub',
hide: false,
type: 'success',
@ -651,7 +652,7 @@ export function mainListPurchasePlanPubBtn(option:any) {
// 主列表-要货计划流程-关闭按钮
export function mainListPurchasePlanCloBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'mainPurPlanClo',
hide: false,
type: 'danger',
@ -664,7 +665,7 @@ export function mainListPurchasePlanCloBtn(option:any) {
// 主列表-要货计划流程-打开按钮
export function mainListPurchasePlanOpeBtn(option:any) {
return __defaultBtnOption(option,{
label: '打开',
label: t(`ts.打开`).replace('ts.', ''),
name: 'mainPurPlanOpe',
hide: false,
type: 'warning',
@ -677,7 +678,7 @@ export function mainListPurchasePlanOpeBtn(option:any) {
// 主列表-任务流程-承接按钮
export function mainListJobAccBtn(option:any) {
return __defaultBtnOption(option,{
label: '承接',
label: t(`ts.承接`).replace('ts.', ''),
name: 'mainJobAcc',
hide: false,
type: 'success',
@ -690,7 +691,7 @@ export function mainListJobAccBtn(option:any) {
// 主列表-任务流程-关闭按钮
export function mainListJobCloBtn(option:any) {
return __defaultBtnOption(option,{
label: '关闭',
label: t(`ts.关闭`).replace('ts.', ''),
name: 'mainJobClo',
hide: false,
type: 'danger',
@ -703,7 +704,7 @@ export function mainListJobCloBtn(option:any) {
// 主列表-任务流程-放弃按钮
export function mainListJobAbaBtn(option:any) {
return __defaultBtnOption(option,{
label: '放弃',
label: t(`ts.放弃`).replace('ts.', ''),
name: 'mainJobAba',
hide: false,
type: 'danger',
@ -716,7 +717,7 @@ export function mainListJobAbaBtn(option:any) {
// 主列表-任务流程-执行按钮
export function mainListJobExeBtn(option:any) {
return __defaultBtnOption(option,{
label: '执行',
label: t(`ts.执行`).replace('ts.', ''),
name: 'mainJobExe',
hide: false,
type: 'primary',
@ -729,7 +730,7 @@ export function mainListJobExeBtn(option:any) {
// 主列表-任务流程-执行按钮(与执行按钮一致 只是名改叫'收货'而已)
export function mainListJobRecBtn(option:any) {
return __defaultBtnOption(option,{
label: '收货',
label: t(`ts.收货`).replace('ts.', ''),
name: 'mainJobExe',
hide: false,
type: 'primary',
@ -741,7 +742,7 @@ export function mainListJobRecBtn(option:any) {
// 主列表-包装按钮
export function mainListPackageBtn(option:any) {
return __defaultBtnOption(option,{
label: '包装',
label: t(`ts.包装`).replace('ts.', ''),
name: 'mainPackage',
hide: false,
type: 'primary',
@ -753,7 +754,7 @@ export function mainListPackageBtn(option:any) {
// 主列表-打印
export function mainListPointBtn(option:any) {
return __defaultBtnOption(option,{
label: '打印标签',
label: t(`ts.打印标签`).replace('ts.', ''),
name: 'point',
hide: false,
type: 'primary',
@ -765,7 +766,7 @@ export function mainListPointBtn(option:any) {
// 主列表-批量打印
export function mainLisSelectiontPointBtn(option:any) {
return __defaultBtnOption(option,{
label: '批量打印',
label: t(`ts.批量打印`).replace('ts.', ''),
name: 'selection_point',
hide: false,
type: 'primary',
@ -778,7 +779,7 @@ export function mainLisSelectiontPointBtn(option:any) {
// 主列表-生成采购收货申请
export function mainListGenerateApplicationBtn(option:any) {
return __defaultBtnOption(option,{
label: '生成采购收货申请',
label: t(`ts.生成采购收货申请`).replace('ts.', ''),
name: 'generateApplication',
hide: false,
type: 'primary',
@ -790,7 +791,7 @@ export function mainListGenerateApplicationBtn(option:any) {
// 主列表-打印
export function mainListDocumentPrintBtn(option:any) {
return __defaultBtnOption(option,{
label: '单据打印',
label: t(`ts.单据打印`).replace('ts.', ''),
name: 'documentPrint',
hide: false,
type: 'primary',
@ -802,7 +803,7 @@ export function mainListDocumentPrintBtn(option:any) {
// 主列表-生成到货检验申请
export function mainInspectRequestBtn(option:any) {
return __defaultBtnOption(option,{
label: '发送到货检验申请',
label: t(`ts.发送到货检验申请`).replace('ts.', ''),
name: 'inspectRequest',
hide: false,
type: 'primary',
@ -814,7 +815,7 @@ export function mainInspectRequestBtn(option:any) {
// 主列表-生成采购上架申请
export function mainPutawayRequestBtn(option:any) {
return __defaultBtnOption(option,{
label: '生成采购上架申请',
label: t(`ts.生成采购上架申请`).replace('ts.', ''),
name: 'putawayRequest',
hide: false,
type: 'primary',
@ -826,7 +827,7 @@ export function mainPutawayRequestBtn(option:any) {
// 主列表-生成盘点调整申请
export function mainCountAdjustRequesttBtn(option:any) {
return __defaultBtnOption(option,{
label: '生成盘点调整申请',
label: t(`ts.生成盘点调整申请`).replace('ts.', ''),
name: 'countAdjustRequest',
hide: false,
type: 'primary',
@ -838,7 +839,7 @@ export function mainCountAdjustRequesttBtn(option:any) {
// 主列表-重盘
export function mainReCountBtn(option:any) {
return __defaultBtnOption(option,{
label: '重盘',
label: t(`ts.重盘`).replace('ts.', ''),
name: 'mainReCount',
hide: false,
type: 'primary',
@ -850,7 +851,7 @@ export function mainReCountBtn(option:any) {
// 主列表-监盘
export function mainSuperviseCountBtn(option:any) {
return __defaultBtnOption(option,{
label: '监盘',
label: t(`ts.监盘`).replace('ts.', ''),
name: 'mainSuperviseCount',
hide: false,
type: 'primary',
@ -862,7 +863,7 @@ export function mainSuperviseCountBtn(option:any) {
// 主列表-解冻
export function mainThawRequesttBtn(option:any) {
return __defaultBtnOption(option,{
label: '解冻',
label: t(`ts.解冻`).replace('ts.', ''),
name: 'mainThaw',
hide: false,
type: 'primary',
@ -874,7 +875,7 @@ export function mainThawRequesttBtn(option:any) {
// 主列表-更新检验记录
export function mainUpdataRecodeBtn(option:any) {
return __defaultBtnOption(option,{
label: '更新检验记录',
label: t(`ts.更新检验记录`).replace('ts.', ''),
name: 'updataRecode',
hide: false,
type: 'primary',
@ -886,7 +887,7 @@ export function mainUpdataRecodeBtn(option:any) {
// 主列表-使用决策
export function mainApplyDecisionBtn(option:any) {
return __defaultBtnOption(option,{
label: '使用决策',
label: t(`ts.使用决策`).replace('ts.', ''),
name: 'applyDecision',
hide: false,
type: 'primary',
@ -895,6 +896,18 @@ export function mainApplyDecisionBtn(option:any) {
hasPermi: ''
})
}
// 主列表-复制
export function mainCopyBtn(option:any) {
return __defaultBtnOption(option,{
label: '复制',
name: 'copy',
hide: false,
type: 'primary',
color: '',
link: true, // 文本展现按钮
hasPermi: ''
})
}
// 默认按钮规则
function __defaultBtnOption(option:any,specific:any){
return {

11
src/utils/formatter.ts

@ -10,3 +10,14 @@ export const fenToYuanFormat = (
) => {
return `${fenToYuan(cellValue)}`
}
export const accountantFormart = (row, column, cellValue) => {
cellValue = cellValue + '' || ''
let x = cellValue.split('.')
let x1 = x[0]
let x2 = x.length > 1 ? '.' + x[1] : ''
const reg = /(\d+)(\d{3})/
while(reg.test(x1)){
x1 = x1.replace(reg, '$1,$2')
}
return x1+x2
}

162
src/views/home/components/material.vue

@ -4,84 +4,84 @@
<div class="data">
<div class="small-data-item small-data-item1">
<div class="small-data-item-txt">
<div>今日到货计划(已发货)</div>
<div>{{materialData?.preparetoissueTodayCount}}<span></span></div>
<div>{{ t('home.today_arrival_plan_shipped') }}</div>
<div>{{materialData?.preparetoissueTodayCount}}<span>{{ t('home.single') }}</span></div>
</div>
<img src="../../../assets/imgs/icon1.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item2 ml-14px">
<div class="small-data-item-txt">
<div>今日备料计划(已发料)</div>
<div>{{materialData?.preparetoissueTodayCount}}<span></span></div>
<div>{{ t('home.material_preparation_plan_today_issued') }}</div>
<div>{{materialData?.preparetoissueTodayCount}}<span>{{ t('home.single') }}</span></div>
</div>
<img src="../../../assets/imgs/icon5.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item3 ml-14px">
<div class="small-data-item-txt">
<div>今日叫料请求(已发料)</div>
<div>{{materialData?.issueRequestTodayCount}}<span></span></div>
<div>{{ t('home.call_material_today_issued') }}</div>
<div>{{materialData?.issueRequestTodayCount}}<span>{{ t('home.single') }}</span></div>
</div>
<img src="../../../assets/imgs/icon6.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item4 ml-14px">
<div class="small-data-item-txt">
<div>空闲库位数/总库位数</div>
<div style="font-size: 20px;">{{materialData?.freeLocationCount}}<span></span>/{{materialData?.totalLocationCount}}<span></span></div>
<div>{{ t('home.free_library_bits_or_total_library_bits') }}</div>
<div style="font-size: 20px;">{{materialData?.freeLocationCount}}<span>{{ t('home.pcs') }}</span>/{{materialData?.totalLocationCount}}<span>{{ t('home.pcs') }}</span></div>
</div>
<img src="../../../assets/imgs/icon3.png" alt="" class="img" />
</div>
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">呆滞库存预警</div>
<div class="title">{{ t('home.slack_stock_warning')}}</div>
<el-table
:data="materialData?.stagnantBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="180px" />
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -89,55 +89,55 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">超期库存预警</div>
<div class="title">{{ t('home.overstock_warning') }}</div>
<el-table
:data="materialData?.overdueBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="180px" />
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -147,55 +147,55 @@
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">高低储预警</div>
<div class="title">{{ t('home.high_and_low_storage_warning') }}</div>
<el-table
:data="materialData?.warningBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="180px" />
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -203,7 +203,7 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">待处理任务</div>
<div class="title">{{ t('home.waiting_tasks') }}</div>
<Echart :options="barOptions" :height="280" :key="lineIndex" />
</div>
</div>
@ -216,6 +216,8 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { set } from 'lodash-es'
import { EChartsOption } from 'echarts'
import { barOptions } from '../echarts-data'
const { t } = useI18n()
const lineIndex = ref(0)
const materialData = ref()
@ -237,10 +239,10 @@ const getJobCharts = async () => {
'xAxis.data',
Object.keys( materialData.value.jobCount)
)
set(barOptionsData, 'legend.data', ['待处理任务'])
set(barOptionsData, 'legend.data', [t('home.waiting_tasks')])
set(barOptionsData, 'series', [
{
name:'待处理任务',
name: t('home.waiting_tasks'),
data: Object.values( materialData.value.jobCount),
type: 'bar',
barMaxWidth:30

116
src/views/home/components/produce.vue

@ -3,62 +3,62 @@
<div class="row">
<div class="two-row">
<div class="data1 w-[47.3%]">
<div class="title">今日生产计划</div>
<div class="title">{{ t('home.today_production_plan')}}</div>
<el-table
:data="produceData?.productionTodayList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="number" label="单据号" width="180" />
<el-table-column prop="displayOrder" label="顺序" width="170" />
<el-table-column prop="workshop" label="车间" width="170" />
<el-table-column prop="productionLine" label="生产线" width="170" />
<el-table-column prop="shift" label="班次" width="170" />
<el-table-column prop="team" label="班组" width="170" />
<el-table-column prop="planDate" label="计划日期" width="170"
<el-table-column prop="number" :label="t('home.document_number')" width="180" />
<el-table-column prop="displayOrder" :label="t('home.sequence')" width="170" />
<el-table-column prop="workshop" :label="t('home.workshop')" width="170" />
<el-table-column prop="productionLine" :label="t('home.prouduction_line')" width="170" />
<el-table-column prop="shift" :label="t('home.schedule')" width="170" />
<el-table-column prop="team" :label="t('home.teams_and_groups')" width="170" />
<el-table-column prop="planDate" :label="t('home.intended_date')" width="170"
><template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="beginTime" label="开始日期" width="170"
<el-table-column prop="beginTime" :label="t('home.start_date')" width="170"
><template #default="scope">
<span>{{ formatDate(scope.row.beginTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="endTime" label="结束日期" width="170"
<el-table-column prop="endTime" :label="t('home.ending_date')" width="170"
><template #default="scope">
<span>{{ formatDate(scope.row.endTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="businessType" label="业务类型" />
<el-table-column prop="businessType" :label="t('home.business_type')" />
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">线边安全库存</div>
<div class="title">{{ t('home.line_side_safety_stock') }}</div>
<el-table :data="produceData?.safeLocationList" style="width: 100%" stripe height="240px">
<el-table-column prop="code" label="代码" width="180" />
<el-table-column prop="name" label="名称" width="180" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180" />
<el-table-column prop="areaCode" label="库区代码" width="180" />
<el-table-column prop="locationGroupCode" label="库位组代码" width="180" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180" />
<el-table-column prop="type" label="类型" width="180" />
<el-table-column prop="aisle" label="巷道" width="180" />
<el-table-column prop="shelf" label="货架" width="180" />
<el-table-column prop="locationRow" label="行" width="180" />
<el-table-column prop="locationColum" label="列" width="180" />
<el-table-column prop="pickPriority" label="备货优先级" width="180" />
<el-table-column prop="maxWeight" label="最大承重" width="180" />
<el-table-column prop="maxArea" label="最大面积" width="180" />
<el-table-column prop="maxVolume" label="最大体积" width="180" />
<el-table-column prop="userGroupCode" label="用户组代码" width="180" />
<el-table-column prop="activeTime" label="生效时间" width="170">
<el-table-column prop="code" :label="t('home.code')" width="180" />
<el-table-column prop="name" :label="t('home.name')" width="180" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180" />
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180" />
<el-table-column prop="type" :label="t('home.type')" width="180" />
<el-table-column prop="aisle" :label="t('home.laneway')" width="180" />
<el-table-column prop="shelf" :label="t('home.goods_shelf')" width="180" />
<el-table-column prop="locationRow" :label="t('home.line')" width="180" />
<el-table-column prop="locationColum" :label="t('home.column')" width="180" />
<el-table-column prop="pickPriority" :label="t('home.stock_priority')" width="180" />
<el-table-column prop="maxWeight" :label="t('home.maximum_load_bearing')" width="180" />
<el-table-column prop="maxArea" :label="t('home.maximum_area')" width="180" />
<el-table-column prop="maxVolume" :label="t('home.maximum_volume')" width="180" />
<el-table-column prop="userGroupCode" :label="t('home.user_group_code')" width="180" />
<el-table-column prop="activeTime" :label="t('home.effective_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="失效时间" width="170">
<el-table-column prop="expireTime" :label="t('home.expiration_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.createTime) }}</span>
</template>
@ -68,86 +68,86 @@
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">待上架成品库存</div>
<div class="title">{{t('home.inventory_of_finished_products_waiting_to_be_putway')}}</div>
<el-table
:data="produceData?.productputawayJobDetailList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="number" label="单据号" width="180" />
<el-table-column prop="fromWarehouseCode" label="从仓库代码" width="180" />
<el-table-column prop="requestTime" label="申请时间" width="170">
<el-table-column prop="number" :label="t('home.document_number')" width="180" />
<el-table-column prop="fromWarehouseCode" :label="t('home.source_warehouse_code')" width="180" />
<el-table-column prop="requestTime" :label="t('home.apply_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.requestTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="requestDueTime" label="要求截止时间" width="170">
<el-table-column prop="requestDueTime" :label="t('home.request_cut_off_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.requestDueTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="140"/>
<el-table-column prop="departmentCode" label="部门" />
<el-table-column prop="acceptUserId" label="承接人用户名" width="170" />
<el-table-column prop="acceptTime" label="承接时间" width="170">
<el-table-column prop="status" :label="t('home.status')" width="140"/>
<el-table-column prop="departmentCode" :label="t('home.department')" />
<el-table-column prop="acceptUserId" :label="t('home.undertaker_user_name')" width="170" />
<el-table-column prop="acceptTime" :label="t('home.undertake_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.acceptTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="fromLocationTypes" label="从库位类型范围" width="170"/>
<el-table-column prop="toLocationTypes" label="到库位类型范围" width="170" />
<el-table-column prop="toWarehouseCode" label="到仓库代码" width="170"/>
<el-table-column prop="fromAreaCodes" label="从库区代码范围" width="170"/>
<el-table-column prop="toAreaCodes" label="到库区代码范围" width="170"/>
<el-table-column prop="autoComplete" label="自动完成" width="120">
<el-table-column prop="fromLocationTypes" :label="t('home.source_location_type_range')" width="170"/>
<el-table-column prop="toLocationTypes" :label="t('home.destination_location_type_range')" width="170" />
<el-table-column prop="toWarehouseCode" :label="t('home.destination_warehouse_code')" width="170"/>
<el-table-column prop="fromAreaCodes" :label="t('home.source_location_area_code_range')" width="170"/>
<el-table-column prop="toAreaCodes" :label="t('home.destination_location_area_code_range')" width="170"/>
<el-table-column prop="autoComplete" :label="t('home.auto_complete')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.autoComplete, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowModifyLocation" label="允许修改库位" width="120">
<el-table-column prop="allowModifyLocation" :label="t('home.modifiable_location')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowModifyLocation, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowModifyQty" label="允许修改数量" width="120">
<el-table-column prop="allowModifyQty" :label="t('home.modifiable_amount')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowModifyQty, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowBiggerQty" label="允许大于推荐数量" width="140">
<el-table-column prop="allowBiggerQty" :label="t('home.allow_greater_than_recommended')" width="140">
<template #default="scope">
<span>{{ formatter(scope.row.allowBiggerQty, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowSmallerQty" label="允许小于推荐数量" width="140">
<el-table-column prop="allowSmallerQty" :label="t('home.allow_less_than_recommended')" width="140">
<template #default="scope">
<span>{{ formatter(scope.row.allowSmallerQty, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowModifyInventoryStatus" label="允许修改库存状态" width="140">
<el-table-column prop="allowModifyInventoryStatus" :label="t('home.allow_modify_location_state')" width="140">
<template #default="scope">
<span>{{
formatter(scope.row.allowModifyInventoryStatus, DICT_TYPE.TRUE_FALSE)
}}</span>
</template>
</el-table-column>
<el-table-column prop="allowContinuousScanning" label="允许连续扫描" width="120">
<el-table-column prop="allowContinuousScanning" :label="t('home.allow_continuous_scanning')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowContinuousScanning, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowPartialComplete" label="允许部分完成" width="120">
<el-table-column prop="allowPartialComplete" :label="t('home.allow_partly_completed')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowPartialComplete, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowModifyBatch" label="允许修改批次" width="120">
<el-table-column prop="allowModifyBatch" :label="t('home.modifiable_batch')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowModifyBatch, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
</el-table-column>
<el-table-column prop="allowModifyPackingNumber" label="允许修改箱码" width="120">
<el-table-column prop="allowModifyPackingNumber" :label="t('home.modifiable_casecode')" width="120">
<template #default="scope">
<span>{{ formatter(scope.row.allowModifyPackingNumber, DICT_TYPE.TRUE_FALSE) }}</span>
</template>
@ -155,7 +155,7 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">待处理任务</div>
<div class="title">{{t('home.waiting_tasks')}}</div>
<Echart :options="barOptions" :height="280" :key="lineIndex" />
</div>
</div>
@ -168,6 +168,8 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { set } from 'lodash-es'
import { EChartsOption } from 'echarts'
import { barOptions } from '../echarts-data'
const { t } = useI18n()
const lineIndex = ref(0)
const produceData = ref()
//
@ -188,10 +190,10 @@ const getJobCharts = async () => {
'xAxis.data',
Object.keys( produceData.value.jobCount)
)
set(barOptionsData, 'legend.data', ['待处理任务'])
set(barOptionsData, 'legend.data', [t('home.waiting_tasks')])
set(barOptionsData, 'series', [
{
name:'待处理任务',
name:t('home.waiting_tasks'),
data: Object.values( produceData.value.jobCount),
type: 'bar',
barMaxWidth:30

146
src/views/home/components/product.vue

@ -4,63 +4,63 @@
<div class="data">
<div class="small-data-item small-data-item1">
<div class="small-data-item-txt">
<div>今日到货计划(已发货)</div>
<div>{{ productData?.deliverPlanTodayCount || 0 }}<span></span></div>
<div>{{ t('home.today_arrival_plan_shipped') }}</div>
<div>{{ productData?.deliverPlanTodayCount || 0 }}<span>{{t('home.single')}}</span></div>
</div>
<img src="../../../assets/imgs/icon1.png" alt="" class="img" />
</div>
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">呆滞库存预警</div>
<div class="title">{{ t('home.slack_stock_warning') }}</div>
<el-table
:data="productData?.stagnantBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="180px" />
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -68,55 +68,55 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">超期库存预警</div>
<div class="title">{{ t('home.overstock_warning') }}</div>
<el-table
:data="productData?.overdueBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="'home.measuring_unit'" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="180px" />
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -126,55 +126,55 @@
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">高低储预警</div>
<div class="title">{{ t('home.high_and_low_storage_warning') }}</div>
<el-table
:data="productData?.warningBalanceList"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="itemCode" label="物料代码" width="180px" />
<el-table-column prop="batch" label="批次" width="180px" />
<el-table-column prop="packingNumber" label="包装号" width="180px" />
<el-table-column prop="containerNumber" label="器具代码" width="180px" />
<el-table-column prop="qty" label="数量" width="180px" />
<el-table-column prop="uom" label="计量单位" width="180px">
<el-table-column prop="itemCode" :label="t('home.material_code')" width="180px" />
<el-table-column prop="batch" :label="t('home.batch')" width="180px" />
<el-table-column prop="packingNumber" :label="t('home.package_number')" width="180px" />
<el-table-column prop="containerNumber" :label="t('home.appliance_code')" width="180px" />
<el-table-column prop="qty" :label="t('home.amount')" width="180px" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="180px">
<template #default="scope">
{{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="locationCode" label="库位代码" width="180px" />
<el-table-column prop="warehouseCode" label="仓库代码" width="180px" />
<el-table-column prop="locationCode" :label="t('home.location_code')" width="180px" />
<el-table-column prop="warehouseCode" :label="t('home.warehouse_code')" width="180px" />
<el-table-column prop="inventoryStatus" label="库存状态" width="180px">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="locationGroupCode" label="库位组代码" width="180px" />
<el-table-column prop="areaCode" label="库区代码" width="180px" />
<el-table-column prop="erpLocationCode" label="ERP库位代码" width="180px" />
<el-table-column prop="locationGroupCode" :label="t('home.location_group_code')" width="180px" />
<el-table-column prop="areaCode" :label="t('home.location_area_code')" width="180px" />
<el-table-column prop="erpLocationCode" :label="t('home.erp_location_code')" width="180px" />
<el-table-column prop="altBatch" label="替代批次" width="180px" />
<el-table-column prop="arriveDate" label="到货日期" width="180px">
<el-table-column prop="arriveDate" :label="t('home.arrival_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="produceDate" label="生产日期" width="180px">
<el-table-column prop="produceDate" :label="t('home.production_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="expireDate" label="失效日期" width="180px">
<el-table-column prop="expireDate" :label="t('home.expiry_date')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerCode" label="货主代码" width="180px" />
<el-table-column prop="lockedQty" label="锁定数量" width="180px" />
<el-table-column prop="usableQty" label="可用数量" width="180px" />
<el-table-column prop="singlePrice" label="单价" width="180px" />
<el-table-column prop="amount" label="金额" width="180px" />
<el-table-column prop="putInTime" label="入库时间" width="180px">
<el-table-column prop="ownerCode" :label="t('home.shipper_code')" width="180px" />
<el-table-column prop="lockedQty" :label="t('home.lock_quantity')" width="180px" />
<el-table-column prop="usableQty" :label="t('home.available_quantity')" width="180px" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="180px" />
<el-table-column prop="amount" :label="t('home.money')" width="180px" />
<el-table-column prop="putInTime" :label="t('home.warehouse_entry_time')" width="180px">
<template #default="scope">
<span>{{ formatDate(scope.row.planDate) }}</span>
</template>
@ -182,7 +182,7 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">待处理任务</div>
<div class="title">{{ t('home.waiting_tasks') }}</div>
<Echart :options="barOptions" :height="280" :key="lineIndex" />
</div>
</div>
@ -195,6 +195,8 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { set } from 'lodash-es'
import { EChartsOption } from 'echarts'
import { barOptions } from '../echarts-data'
const { t } = useI18n()
const lineIndex = ref(0)
//
const productData = ref()
@ -215,10 +217,10 @@ const getJobCharts = async () => {
'xAxis.data',
Object.keys( productData.value.jobCount)
)
set(barOptionsData, 'legend.data', ['待处理任务'])
set(barOptionsData, 'legend.data', [t('home.waiting_tasks')])
set(barOptionsData, 'series', [
{
name:'待处理任务',
name:t('home.waiting_tasks'),
data: Object.values( productData.value.jobCount),
type: 'bar',
barMaxWidth:30

156
src/views/home/components/supplierIndex.vue

@ -3,57 +3,57 @@
<div class="one-row">
<div class="data">
<div class="data-item">
<div class="small-title">订单数</div>
<div class="small-title">{{ t('home.number_orders') }}</div>
<div class="small-data">
<div class="small-data-item small-data-item1">
<div class="small-data-item-txt">
<div>{{ supplierData?.openPurchaseCount || 0 }}<span></span></div>
<div>开放订单数</div>
<div>{{ supplierData?.openPurchaseCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{ t('home.number_open') }}</div>
</div>
<img src="../../../assets/imgs/icon1.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item2 ml-14px">
<div class="small-data-item-txt">
<div>{{ supplierData?.allPurchaseCount || 0 }}<span></span></div>
<div>全部订单数</div>
<div>{{ supplierData?.allPurchaseCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{ t('home.number_total_order') }}</div>
</div>
<img src="../../../assets/imgs/icon5.png" alt="" class="img" />
</div>
</div>
</div>
<div class="data-item ml-14px">
<div class="small-title">要货计划数</div>
<div class="small-title">{{t('home.number_planned_shipments')}}</div>
<div class="small-data">
<div class="small-data-item small-data-item3">
<div class="small-data-item-txt">
<div>{{ supplierData?.openPurchasePlanCount || 0 }}<span></span></div>
<div>开放计划数</div>
<div>{{ supplierData?.openPurchasePlanCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{t('home.number_open_plans')}}</div>
</div>
<img src="../../../assets/imgs/icon6.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item4 ml-14px">
<div class="small-data-item-txt">
<div>{{ supplierData?.allPurchasePlanCount || 0 }}<span></span></div>
<div>全部计划数</div>
<div>{{ supplierData?.allPurchasePlanCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{t('home.number_all_plans')}}</div>
</div>
<img src="../../../assets/imgs/icon3.png" alt="" class="img" />
</div>
</div>
</div>
<div class="data-item ml-14px">
<div class="small-title">发货单数</div>
<div class="small-title">{{t('home.number_invoices')}}</div>
<div class="small-data">
<div class="small-data-item small-data-item5">
<div class="small-data-item-txt">
<div>{{ supplierData?.notTakeSupplierdeliverCount || 0 }}<span></span></div>
<div>未收货订单数</div>
<div>{{ supplierData?.notTakeSupplierdeliverCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{t('home.number_unreceived_orders')}}</div>
</div>
<img src="../../../assets/imgs/icon4.png" alt="" class="img" />
</div>
<div class="small-data-item small-data-item6 ml-14px">
<div class="small-data-item-txt">
<div>{{ supplierData?.takeSupplierdeliverCount || 0 }}<span></span></div>
<div>已收货订单数</div>
<div>{{ supplierData?.takeSupplierdeliverCount || 0 }}<span>{{ t('home.single') }}</span></div>
<div>{{t('home.number_orders_received')}}</div>
</div>
<img src="../../../assets/imgs/icon2.png" alt="" class="img" />
</div>
@ -62,36 +62,36 @@
</div>
<div class="two-row mt-14px">
<div class="data1 w-[65%]">
<div class="title">本月发货单趋势</div>
<div class="title">{{t('home.invoice_trend_month')}}</div>
<Echart :options="lineOptions" :height="280" :key="lineIndex" />
</div>
<div class="data1 w-[35%] ml-14px">
<div class="title">本月发货零件TOP10</div>
<div class="title">{{t('home.TOP10_parts_shipped_month')}}</div>
<Echart :options="pieOptions" :height="280" :key="lineIndex" />
</div>
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">最新消息</div>
<div class="title">{{t('home.latest_news')}}</div>
<el-table :data="notaicList" style="width: 100%" stripe height="240px">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="用户类型" align="center" prop="userType">
<el-table-column :label="t('home.number')" align="center" prop="id" />
<el-table-column :label="t('home.user_type')" align="center" prop="userType">
<template #default="scope">
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="scope.row.userType" />
</template>
</el-table-column>
<el-table-column label="用户编号" align="center" prop="userId" width="80" />
<el-table-column label="模板编码" align="center" prop="templateCode" width="80" />
<el-table-column label="发送人名称" align="center" prop="templateNickname" width="180" />
<el-table-column :label="t('home.user_number')" align="center" prop="userId" width="80" />
<el-table-column :label="t('home.template_coding')" align="center" prop="templateCode" width="80" />
<el-table-column :label="t('home.sender_number')" align="center" prop="templateNickname" width="180" />
<el-table-column
label="模版内容"
:label="t('home.template_content')"
align="center"
prop="templateContent"
width="200"
show-overflow-tooltip
/>
<el-table-column
label="模版参数"
:label="t('home.template_parameters')"
align="center"
prop="templateParams"
width="180"
@ -99,7 +99,7 @@
>
<template #default="scope"> {{ scope.row.templateParams }}</template>
</el-table-column>
<el-table-column label="模版类型" align="center" prop="templateType" width="120">
<el-table-column :label="t('home.template_type')" align="center" prop="templateType" width="120">
<template #default="scope">
<dict-tag
:type="DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE"
@ -107,20 +107,20 @@
/>
</template>
</el-table-column>
<el-table-column label="是否已读" align="center" prop="readStatus" width="100">
<el-table-column :label="t('home.read')" align="center" prop="readStatus" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.readStatus" />
</template>
</el-table-column>
<el-table-column
label="阅读时间"
:label="t('home.read_time')"
align="center"
prop="readTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column
label="创建时间"
:label="t('home.create_time')"
align="center"
prop="createTime"
width="180"
@ -137,91 +137,91 @@
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">最新扣分明细</div>
<div class="title">{{ t('home.latest_deduction_details')}}</div>
<el-table :data="tableData" style="width: 100%" stripe height="240px">
<el-table-column prop="title" label="标题" />
<el-table-column prop="name" label="发布人" />
<el-table-column prop="date" label="发布日期" />
<el-table-column prop="title" :label="t('home.title')" />
<el-table-column prop="name" :label="t('home.publisher')" />
<el-table-column prop="date" :label="t('home.publish_date')" />
</el-table>
</div>
</div>
<div class="two-row mt-14px">
<div class="data1 w-[47.3%]">
<div class="title">本月退货明细</div>
<div class="title">{{t('home.month_return_detials')}}</div>
<el-table
:data="supplierData?.purchasereturnRecordMonth"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="number" label="单据号" width="180" />
<el-table-column prop="fromPackingNumber" label="从包装号" width="180" />
<el-table-column prop="toPackingNumber" label="到包装号" width="180" />
<el-table-column prop="fromContainerNumber" label="从器具号" width="120" />
<el-table-column prop="toContainerNumber" label="到器具号" width="120" />
<el-table-column prop="fromBatch" label="从批次" width="120" />
<el-table-column prop="toBatch" label="到批次" width="120" />
<el-table-column prop="altBatch" label="替代批次" width="120" />
<el-table-column prop="fromLocationCode" label="从库位代码" width="120" />
<el-table-column prop="toLocationCode" label="到库位代码" width="120" />
<el-table-column prop="fromLocationGroupCode" label="从库位组代码" width="120" />
<el-table-column prop="toLocationGroupCode" label="到库位组代码" width="120" />
<el-table-column prop="fromAreaCode" label="从库区代码" width="120" />
<el-table-column prop="toAreaCode" label="到库区代码" width="120" />
<el-table-column prop="fromOwnerCode" label="从货主代码" width="120" />
<el-table-column prop="toOwnerCode" label="到货主代码" width="120" />
<el-table-column prop="inventoryStatus" label="库存状态" width="120">
<el-table-column prop="number" :label="t('home.document_number')" width="180" />
<el-table-column prop="fromPackingNumber" :label="t('home.source_package_number')" width="180" />
<el-table-column prop="toPackingNumber" :label="t('home.destination_package_number')" width="180" />
<el-table-column prop="fromContainerNumber" :label="t('home.source_appliance_number')" width="120" />
<el-table-column prop="toContainerNumber" :label="t('home.destination_appliance_number')" width="120" />
<el-table-column prop="fromBatch" :label="t('home.source_batch')" width="120" />
<el-table-column prop="toBatch" :label="t('home.destination_batch')" width="120" />
<el-table-column prop="altBatch" :label="t('home.replace_batch')" width="120" />
<el-table-column prop="fromLocationCode" :label="t('home.source_location_code')" width="120" />
<el-table-column prop="toLocationCode" :label="t('home.destination_location_code')" width="120" />
<el-table-column prop="fromLocationGroupCode" :label="t('home.source_location_group_code')" width="120" />
<el-table-column prop="toLocationGroupCode" :label="t('home.destination_location_group_code')" width="120" />
<el-table-column prop="fromAreaCode" :label="t('home.source_location_area_code')" width="120" />
<el-table-column prop="toAreaCode" :label="t('home.destination_location_area_code')" width="120" />
<el-table-column prop="fromOwnerCode" :label="t('home.source_shipper_code')" width="120" />
<el-table-column prop="toOwnerCode" :label="t('home.destination_shipper_code')" width="120" />
<el-table-column prop="inventoryStatus" :label="t('home.inventory_state')" width="120">
<template #default="scope">
{{ formatter(scope.row.inventoryStatus,DICT_TYPE.INVENTORY_STATUS) }}
</template>
</el-table-column>
<el-table-column prop="poNumber" label="订单号" width="120" />
<el-table-column prop="poline" label="订单行" width="120" />
<el-table-column prop="reason" label="原因" width="120" />
<el-table-column prop="singlePrice" label="单价" width="120" />
<el-table-column prop="amount" label="金额" width="120" />
<el-table-column prop="itemCode" label="物料代码" width="160" />
<el-table-column prop="itemName" label="物料名称" width="120" />
<el-table-column prop="itemDesc1" label="物料描述1" width="120" />
<el-table-column prop="itemDesc2" label="物料描述2" width="120" />
<el-table-column prop="qty" label="数量" width="120" />
<el-table-column prop="uom" label="计量单位" width="120">
<el-table-column prop="poNumber" :label="t('home.order_number')" width="120" />
<el-table-column prop="poline" :label="t('home.order_line')" width="120" />
<el-table-column prop="reason" :label="t('home.cause')" width="120" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="120" />
<el-table-column prop="amount" :label="t('home.money')" width="120" />
<el-table-column prop="itemCode" :label="t('home.material_code')" width="160" />
<el-table-column prop="itemName" :label="t('home.material_name')" width="120" />
<el-table-column prop="itemDesc1" :label="t('home.material_description1')" width="120" />
<el-table-column prop="itemDesc2" :label="t('home.material_description2')" width="120" />
<el-table-column prop="qty" :label="t('home.amount')" width="120" />
<el-table-column prop="uom" :label="t('home.measuring_unit')" width="120">
<template #default="scope">
{{ formatter(scope.row.uom,DICT_TYPE.UOM) }}
</template>
</el-table-column>
<el-table-column prop="projectCode" label="项目代码" width="120" />
<el-table-column prop="remark" label="备注" width="120" />
<el-table-column prop="createTime" label="创建时间" width="170">
<el-table-column prop="projectCode" :label="t('home.item_code')" width="120" />
<el-table-column prop="remark" :label="t('home.comment')" width="120" />
<el-table-column prop="createTime" :label="t('home.create_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建者" width="120" />
<el-table-column prop="creator" :label="t('home.creater')" width="120" />
</el-table>
</div>
<div class="data1 w-[47.3%]">
<div class="title">本月索赔明细</div>
<div class="title">{{t('home.claim_details_month')}}</div>
<el-table
:data="supplierData?.purchasereturnRecordMonth"
style="width: 100%"
stripe
height="240px"
>
<el-table-column prop="number" label="单据号" width="180" />
<el-table-column prop="fromBatch" label="批次" width="120" />
<el-table-column prop="poNumber" label="订单号" width="120" />
<el-table-column prop="poline" label="订单行" width="120" />
<el-table-column prop="reason" label="原因" width="120" />
<el-table-column prop="singlePrice" label="单价" width="120" />
<el-table-column prop="amount" label="金额" width="120" />
<el-table-column prop="number" :label="t('home.document_number')" width="180" />
<el-table-column prop="fromBatch" :label="t('home.batch')" width="120" />
<el-table-column prop="poNumber" :label="t('home.order_number')" width="120" />
<el-table-column prop="poline" :label="t('home.order_line')" width="120" />
<el-table-column prop="reason" :label="t('home.cause')" width="120" />
<el-table-column prop="singlePrice" :label="t('home.unit_price')" width="120" />
<el-table-column prop="amount" :label="t('home.money')" width="120" />
<el-table-column prop="code" label="代码" width="160" />
<el-table-column prop="createTime" label="创建时间" width="170">
<el-table-column prop="createTime" :label="t('home.create_time')" width="170">
<template #default="scope">
<span>{{ formatDate(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建者" width="120" />
<el-table-column prop="creator" :label="t('home.creater')" width="120" />
</el-table>
</div>
</div>
@ -284,10 +284,10 @@ const getInvoiceCharts = async () => {
'xAxis.data',
supplierData.value.supplierdeliverMonthCount.map((v) => v.date)
)
set(lineOptionsData, 'legend.data', ['本月发货单趋势'])
set(lineOptionsData, 'legend.data', [t('home.invoice_trend_month')])
set(lineOptionsData, 'series', [
{
name: '本月发货单趋势',
name: t('home.invoice_trend_month'),
smooth: true,
type: 'line',
itemStyle: {},

244
src/views/mes/itemRequestMain/index.vue

@ -0,0 +1,244 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="ItemRequestMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="ItemRequestMain.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<Table
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total
}"
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="ItemRequestMainRules"
:formAllSchemas="ItemRequestMain.allSchemas"
:apiUpdate="ItemRequestMainApi.updateItemRequestMain"
:apiCreate="ItemRequestMainApi.createItemRequestMain"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="ItemRequestMain.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/item-request-main/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { ItemRequestMain,ItemRequestMainRules } from './itemRequestMain.data'
import * as ItemRequestMainApi from '@/api/mes/itemRequestMain'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'MesItemRequestMain' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(ItemRequestMain.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({
getListApi: ItemRequestMainApi.getItemRequestMainPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
//defaultButtons.defaultAddBtn({hasPermi:'mes:itemRequestMain:create'}), //
//defaultButtons.defaultImportBtn({hasPermi:'mes:itemRequestMain:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'mes:itemRequestMain:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
handleImport()
} else if (val == 'export') { //
handleExport()
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
}
}
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'mes:itemRequestMain:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'mes:itemRequestMain:delete'}), //
]
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
var isHave =ItemRequestMain.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await ItemRequestMainApi.createItemRequestMain(data)
message.success(t('common.createSuccess'))
} else {
await ItemRequestMainApi.updateItemRequestMain(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicItemRequestMain')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await ItemRequestMainApi.deleteItemRequestMain(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await ItemRequestMainApi.exportItemRequestMain(tableObject.params)
download.excel(data, '叫料申请单主.xlsx')
} catch {
} finally {
exportLoading.value = false
}
}
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '叫料申请单主导入模版.xlsx'
})
//
const importSuccess = () => {
getList()
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await ItemRequestMainApi.importTemplate()
})
</script>

170
src/views/mes/itemRequestMain/itemRequestMain.data.ts

@ -0,0 +1,170 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const ItemRequestMainRules = reactive({
concurrencyStamp: [required],
})
export const ItemRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '删除时间',
field: 'deleteTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
valueFormat: 'x'
}
},
},
{
label: '主键',
field: 'id',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
},
{
label: '状态',
field: 'status',
sort: 'custom',
isSearch: true,
form: {
component: 'Radio'
},
},
{
label: '并发乐观锁',
field: 'concurrencyStamp',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true,
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isForm: false,
},
{
label: '删除用户名',
field: 'deleter',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
},
{
label: '位置ID',
field: 'siteId',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '计划编码',
field: 'planDayCode',
sort: 'custom',
isSearch: true,
},
{
label: '工单编码',
field: 'workBillNo',
sort: 'custom',
isSearch: true,
},
{
label: '批次编码',
field: 'batchCode',
sort: 'custom',
isSearch: true,
},
{
label: '申请单号',
field: 'requestBillNo',
sort: 'custom',
isSearch: true,
},
{
label: '工位编码',
field: 'workstationCode',
sort: 'custom',
isSearch: true,
},
{
label: '产品编码',
field: 'productCode',
sort: 'custom',
isSearch: true,
},
{
label: '工序编码',
field: 'processCode',
sort: 'custom',
isSearch: true,
},
{
label: '类型(1:叫料、2:补料)',
field: 'requestType',
sort: 'custom',
isSearch: true,
form: {
component: 'SelectV2'
},
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

4
src/views/mes/orderDay/components/BasicFormV2.vue

@ -324,6 +324,10 @@ const submitForm = async () => {
if (!elForm) return
const valid = await elForm.validate()
if (!valid) return
if(formRef.value.formModel.startTime>formRef.value.formModel.endTime){
message.warning('开始时间不能大于结束时间!')
return
}
//
if (props.isBusiness) {
formLoading.value = true

2
src/views/mes/orderDay/components/orderDetail.vue

@ -102,7 +102,7 @@ const route = useRoute() // 路由信息
const routeName = ref()
routeName.value = route.name
routeName.value = routeName.value.substring(0, routeName.value.length - 4) + 'Detail'
const activeName = ref('processRouteInfo')
const activeName = ref('processInfo')
const props = defineProps({
allSchemas: {
type: Object,

146
src/views/mes/orderDay/components/schedule.vue

@ -25,18 +25,18 @@
<template #header>
<div class="card-header">
<span>工艺路线</span>
<el-button
<!-- <el-button
type="text"
icon="el-icon-plus"
@click="opensearchTable"
style="float: right; padding: 3px 0"
>添加工序</el-button>
>添加工序</el-button> -->
</div>
</template>
<el-table :data="processData" ref="tableProcess" style="width: 100%; height: 80%" @cell-dblclick="userAddNode">
<el-table-column prop="code" label="工序编码" />
<el-table-column prop="name" label="工序名称" />
<el-table-column prop="opera" label="" width="60">
<!-- <el-table-column prop="opera" label="" width="60">
<template #header>
<span>操作</span>
</template>
@ -45,15 +45,16 @@
>移除</el-button
>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</el-card>
</el-aside>
<el-main style="height: 320px;width: calc(100% - 980px);padding: 0px; margin:0px 20px">
<el-main style="height: 480px; width: calc(100% - 980px);padding: 0px; margin:0px 20px">
<div ref="graphContainer"></div
></el-main>
<el-aside width="640px">
<el-tabs v-model="activeName">
<el-tag>工序编码{{currentNode.id}} -工序名称:{{currentNode.name }}</el-tag>
<el-tabs v-model="activeName" >
<el-tab-pane label="工序工位" name="workstation">
<el-table :data="workstationData" ref="tableWorkstations" style="width: 100%; height: 80%">
<el-table-column prop="stationName" label="工位名称" />
@ -69,15 +70,36 @@
</el-tab-pane>
<el-tab-pane label="工序物料" name="materials">
<el-table :data="materialsData" ref="tableMaterials" style="width: 100%; height: 80%">
<el-table :data="showMaterialsData" ref="tableMaterials" style="width: 100%; height: 80%">
<el-table-column prop="repMaterialCode" label="物料编码" />
<el-table-column prop="repMaterialCounts" label="物料数量" />
<el-table-column prop="repMaterialModel" label="物料单位" />
<el-table-column prop="sourceMaterialCounts" label="需求物料数">
<template #default="scope">{{ getTotalcounts(scope.row.repMaterialCounts) }}</template>
</el-table-column>
<el-table-column prop="replaceFlag" label="是否替换" />
<el-table-column prop="replaceFlag" label="是否替换" >
<template #default="scope">
<el-switch
v-model="scope.row.replaceFlag"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
/>
</template>
</el-table-column>
</el-table>
<el-pagination
small
hide-on-single-page="true"
layout="prev, pager, next"
:total="page.total"
:page-size="page.size"
:current-page="page.current"
@current-change="handleCurrentChangeM"
@prev-click="handlePrevClickM"
@next-click="handleNextClickM"
/>
</el-tab-pane>
<el-tab-pane label="工序人员" name="workers">
<el-button type="primary" @click="opensearchTableUser">添加人员</el-button>
@ -179,6 +201,7 @@
</el-dialog>
</ContentWrap>
<template #footer>
<el-button @click="dialogVisible=false" >关闭</el-button>
<el-button @click="publishPlan" >发布计划</el-button>
</template>
<SearchTable ref="searchTableRef" @search-table-success="searchTableSuccess" />
@ -211,7 +234,7 @@ const graphContainer = ref<HTMLElement | null>(null)
const graph = ref<Graph>()
const message = useMessage() //
const { t } = useI18n() //
const activeName = ref('process')
const activeName = ref('workstation')
const formLoading = ref(false)
const dialogFormVisibleUser = ref(false)
const processData = ref([])
@ -249,6 +272,16 @@ const workstationData=ref([])
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const graphJson =ref()
const currentNode = ref({
name:'',
id:''
})
const showMaterialsData=ref() //
const page=ref({
total:0,
current:1,
size:5
})
/*班组数据*/
const teamData = ref([])
/*班组弹窗搜索条件*/
@ -271,6 +304,8 @@ const closeTeamUser = () =>{
const workerData=ref([])
/*查询班组接口参数*/
const teamParams = ref({
workshopCode:'',
productionLineCode:'',
teamGroup: '',
name: '',
pageNo:1,
@ -292,10 +327,15 @@ const searchTeamList = () => {
}
/** 打开弹窗 */
const open = async (type: string, row?: any, titleName?: any) => {
currentNode.value.name=''
currentNode.value.id=''
//
workerData.value = []
equipmentData.value = []
materialsData.value = []
showMaterialsData.value=[]
page.value.total = 0
page.value.current = 1
workstationData.value = []
getOptions()
dialogVisible.value = true
@ -309,9 +349,9 @@ const open = async (type: string, row?: any, titleName?: any) => {
queryParams.batchCode=row.batchCode
//
if (titleName) {
dialogTitle.value = t('action.' + titleName)
dialogTitle.value = titleName
} else {
dialogTitle.value = t('action.' + type)
dialogTitle.value = type
}
nextTick?.(() => {
graph.value = createGraph(graphContainer.value as HTMLElement, true, 240, 320)
@ -353,14 +393,27 @@ const getProcessBom=async (code:any) => {
queryParams.processCode=code
let res = await orderDayconfigApi.getOrderDayBomByOrder(queryParams)
materialsData.value=res
if(materialsData.value.length>0){
page.value.total = materialsData.value.length
page.value.current = 1
showMaterialsData.value=materialsData.value.slice(0,page.value.size)
}
}
// const currentStartNode = ref({
// id:''
// })
//线
const getProcessroute = async () => {
let res = await orderDayconfigApi.getConfigProcessRoute(queryParams)
//console.log('ddddd',res)
graphJson.value=JSON.parse(res.newGraphData)
graph.value?.fromJSON(graphJson.value.cells)
//
//currentStartNode.value = graphJson.value.cells[0]
currentNode.value = graphJson.value.cells[0]
//
nodeClick('','','',currentNode.value,'')
}
//
const getConfigProcessRouteNode= async () => {
@ -383,11 +436,15 @@ const getConfigProcessEquipment= async (code:any) => {
equipmentData.value = await orderDayconfigApi.getConfigProcessEquipment(queryParams)
}
const nodeClick = (e, x, y, node, view) => {
//console.log(node.id)
getProcessBom(node.id)
getConfigProcessWorkstation(node.id)
getConfigProcessWorker(node.id)
getConfigProcessEquipment(node.id)
processCode.value = node.id
currentNode.value.id=node.id
//console.log(node)
currentNode.value.name=node.attrs.title.text
}
const searchTableRef = ref()
@ -395,13 +452,13 @@ const opensearchTable = (
) => {
//console.log("opensearchTable")
const _searchCondition = {}
const _searchTableTitle = "工序查询"
const _searchTableAllSchemas = ProcessSearch.allSchemas
const _searchTablePage = ProcessApi.getProcessPage
// const _searchTableTitle = ""
// const _searchTableAllSchemas = ProcessSearch.allSchemas
// const _searchTablePage = ProcessApi.getProcessPage
searchTableRef.value.open(
_searchTableTitle,
_searchTableAllSchemas,
_searchTablePage,
'工序查询',
ProcessSearch.allSchemas,
ProcessApi.getProcessPage,
'process',
'process',
true,
@ -409,8 +466,9 @@ const opensearchTable = (
undefined,
_searchCondition,
false,
true
//true
)
}
const publishPlan=()=>{
message.confirm("确认发布当前计划?","question").then(async () => {
@ -427,11 +485,11 @@ const publishPlan=()=>{
}).catch(() => {
message.info("已取消发布")
})
}
const doPublishPlan= ()=>{
let data ={
updateId: detailData.value.id,
status: detailData.value.status,
@ -450,15 +508,19 @@ const doPublishPlan= ()=>{
planDate: detailData.value.planDate,
startTime: detailData.value.planDate,
endTime: detailData.value.endTime,
taskMode: detailData.value.taskMode
}
//console.log("-------",data)
taskMode: detailData.value.taskMode,
batchCode:detailData.value.batchCode,
}
let res = OrderDayApi.publishPlan(data)
if(res.code==0){
res.then(()=>{
message.success("计划发布成功")
}else {
message.error(res.msg)
}
}).catch(()=>{
//console.log("---doPublishPlan-- 458--",res.msg)
message.error("计划发布失败!")
})
}
//
@ -552,6 +614,8 @@ const opensearchTableUser = async (
teamParams.value.teamGroup = ''
teamParams.value.name = ''
teamParams.value.pageNo = 1
teamParams.value.workshopCode = detailData.value.workroomCode
teamParams.value.productionLineCode = detailData.value.lineCode
var teamList = await getTeamList(teamParams.value)
teamData.value = teamList.list
totalTeam.value = teamList.total
@ -622,7 +686,7 @@ const opensearchTableEquipment = async (
/*设备保存接口*/
const saveEquipment = async () =>{
await orderDayconfigApi.saveEquipment(equipmentData.value)
console.log(equipmentData.value)
//console.log(equipmentData.value)
message.success("设备配置成功!")
}
@ -646,7 +710,25 @@ const saveUser = async () =>{
const getTeamList = async (params:any) => {
return TeamApi.getTeamPage(params)
}
const handleCurrentChangeM=(value: number)=>{
let index=(value-1)*page.value.size
page.value.current=value
showMaterialsData.value=materialsData.value.slice(index,index+page.value.size)
}
const handlePrevClickM=(value: number)=>{
page.value.current=value-1
if(page.value.current==0) {
page.value.current=1
}
}
const handleNextClickM=(value: number)=>{
page.value.current=value+1
if(page.value.current>page.value.total/page.value.size) {
page.value.current=page.value.total/page.value.size -1
}
}
defineOptions({ name: 'SechledDetail' })
defineExpose({ open }) // open
//

6
src/views/mes/orderDay/index.vue

@ -214,7 +214,7 @@ const isShowMainButton = (row,val) => {
const butttondata = (row) => {
//console.log('row2',row)
return [
defaultButtons.mainListEditBtn({ hide: isShowMainButton(row,['1']),hasPermi:'mes:orderDay:update'}), //
//defaultButtons.mainListEditBtn({ hide: isShowMainButton(row,['1']),hasPermi:'mes:orderDay:update'}), //
defaultButtons.mainListDeleteBtn({ hide: isShowMainButton(row,['1']),hasPermi:'mes:orderDay:delete'}), //
defaultButtons.mainListHandleBtn({label: '排产',
name: 'publish',
@ -264,7 +264,7 @@ const openForm = (type: string, row?: any) => {
const formsSuccess = async (formType,data) => {
if (formType === 'create') {
let ret=await OrderDayApi.createOrderDay(data)
let ret= OrderDayApi.createOrderDay(data)
if(ret===undefined || ret===null){
message.error(t('common.networkError'))
}else{
@ -272,7 +272,7 @@ const formsSuccess = async (formType,data) => {
}
} else {
let ret=await OrderDayApi.updateOrderDay(data)
let ret= OrderDayApi.updateOrderDay(data)
if(ret.code==0){
message.success(t('common.updateSuccess'))
}else{

2
src/views/mes/orderDay/orderDay.data.ts

@ -335,7 +335,7 @@ export const OrderDay = useCrudSchemas(reactive<CrudSchema[]>([
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'datetime',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},

8
src/views/mes/process/process.data.ts

@ -423,10 +423,10 @@ export const TabsList = [
label: "模具",
prop: 'PatternTab',
},
{
label: "物料",
prop: 'ItembasicTab',
}
// {
// label: "物料",
// prop: 'ItembasicTab',
// }
]

163
src/views/mes/processroute/components/configDialog.vue

@ -12,8 +12,8 @@
<div class="font-size-18px">
<el-row :gutter="10">
<el-col :span="22">
{{ titleValueRef }}
<el-tag type="info">[{{ titleNameRef }}]</el-tag>
{{ titleNameRef }}
<el-tag type="primary">[{{ titleValueRef }}]</el-tag>
</el-col>
<el-col :span="2">
<el-button size="primary" @click="saveResult()" style="width: 100%">
@ -37,7 +37,7 @@
>添加工序</el-button>
</div>
</template>
<el-table :data="processData" ref="tableProcess" style="width: 100%; height: 80%;border: 1px;" @cell-dblclick="userAddNode">
<el-table :data="showProcessNodeData" ref="tableProcess" style="width: 100%; height: 80%;border: 1px;" @cell-dblclick="userAddNode">
<el-table-column prop="code" label="工序编码" />
<el-table-column prop="name" label="工序名称" />
<el-table-column prop="oper" label="操作" width="60">
@ -48,6 +48,17 @@
</template>
</el-table-column>
</el-table>
<el-pagination
small
hide-on-single-page="true"
layout="prev, pager, next"
:total="page.total"
:page-size="page.size"
:current-page="page.current"
@current-change="handleCurrentChange"
@prev-click="handlePrevClick"
@next-click="handleNextClick"
/>
</el-card>
</el-col>
<el-col :span="12"><div ref="graphContainer" style="width: 90%; height: 90%"></div>
@ -81,8 +92,9 @@
<span>工艺路线基本信息</span>
</div>
</template>
<p >工艺路线名称<span v-if="productData!=null">{{ productData.name }}</span></p>
<p >工艺路线编码<span v-if="productData!=null">{{ productData.name }}</span></p>
<p >工艺路线名称<span >{{titleNameRef}}</span></p>
<p >工艺路线编码<span >{{titleValueRef}}</span></p>
<p >产品名称<span v-if="productData!=null">{{ productData.name }}</span></p>
<p>产品编码<span v-if="productData!=null">{{ productData.code }}</span></p>
<p>产品描述<span v-if="productData!=null">{{ productData.desc1 }}</span></p>
@ -92,22 +104,34 @@
><el-card class="footer-card">
<template #header>
<div class="card-header">
<span>物料信息</span>
<span>物料信息</span><el-tag type="primary">[{{ currentNode.name }}]</el-tag>
</div>
</template>
<el-table :data="materialData" ref="tableMaterial" style="width: 100%; height: 80%;overflow-y: auto;">
<el-table-column prop="name" label="物料名称"/>
=
<el-table-column prop="code" label="物料编码"/>
<el-table-column prop="desc1" label="是否替代"/>
<el-table :data="showMaterialsData" ref="tableMaterial" style="width: 100%; height: 80%;overflow-y: auto;">
<!-- <el-table-column prop="name" label="物料名称"/> -->
<el-table-column prop="componentItemCode" label="物料编码"/>
<el-table-column prop="version" label="版本号"/>
<el-table-column prop="componentQty" label="物料数量"/>
</el-table>
<el-pagination
small
hide-on-single-page="true"
layout="prev, pager, next"
:total="pageM.total"
:page-size="pageM.size"
:current-page="pageM.current"
@current-change="handleCurrentChangeM"
@prev-click="handlePrevClickM"
@next-click="handleNextClickM"
/>
</el-card></el-col
>
<el-col :span="6"
><el-card class="footer-card">
<template #header>
<div class="card-header">
<span>模具信息</span>
<span>模具信息</span><el-tag type="primary">[{{ currentNode.name }}]</el-tag>
</div>
</template>
<el-table :data="mouldData" ref="tableMould" style="width: 100%; height: 80%;overflow-y: auto;">
@ -120,7 +144,7 @@
><el-card class="footer-card">
<template #header>
<div class="card-header">
<span>工位信息</span>
<span>工位信息</span><el-tag type="primary">[{{ currentNode.name }}]</el-tag>
</div>
</template>
<el-table :data="workStationList" ref="tableWorkstation" style="width: 100%; height: 80%;overflow-y: auto;">
@ -153,6 +177,7 @@ const message = useMessage() // 消息弹窗
//const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
const currentNode=ref({code:'',name:''})
routeName.value = route.name
routeName.value = routeName.value.substring(0, routeName.value.length - 4) + 'ProcessRouteConfig'
//const updateKey = ref(0)
@ -164,6 +189,22 @@ const tableProcess = ref()
const productData = ref({ name: '', code: '', desc1: '--' }) //
const materialData=ref()
const mouldData = ref()
const page=ref({
total:0,
current:1,
size:5
})
const pageM=ref({
total:0,
current:1,
size:5
})
const showProcessNodeData=ref() //
const showMaterialsData=ref() //
const productCode=ref()
//
const graph = ref<Graph>()
const rowData = ref()
const workStationList = ref() //
//
const annexData = reactive({
@ -194,7 +235,7 @@ const opensearchTable = (
undefined,
_searchCondition,
false,
true
//true
)
}
//
@ -202,23 +243,27 @@ const searchTableSuccess = (formField, searchField, val, type, row) => {
if(val.length>0){
val.forEach(item=>{
if(processData.value.find(obj=>obj.code==item.code)==undefined){
processData.value.push({code:item.code,name:item.name})}
processData.value.push({code:item.code,name:item.name})
page.value.total=processData.value.length
showProcessNodeData.value=processData.value.slice((page.value.current-1)*page.value.size,page.value.size)
}
})
}
}
const deleteNode=(row)=>{
processData.value.splice(processData.value.indexOf(row),1)
page.value.total=processData.value.length
page.value.current=1
graph.value.removeNode(row.code)
}
//
const graph = ref<Graph>()
const rowData = ref()
const openDetail = (row: any) => {
rowData.value = row
console.log('rowData',rowData.value)
titleNameRef.value = rowData.value.processrouteCode
titleValueRef.value = rowData.value.processName
//console.log('rowData',rowData.value)
titleNameRef.value = rowData.value.processName
titleValueRef.value =rowData.value.processrouteCode
processRouteId.value = rowData.value.id
productCode.value=rowData.value.productCode
routeVersion.value=rowData.value.routeVersion
remarksData.data = {
tableId: rowData.value.id,
@ -261,11 +306,17 @@ const getProcessInfo = async (id: any) => {
/** 获取产品信息 */
const getItembasicInfo = async (code: String) => {
const res = await ProcessrouteApi.getProductInfo(code)
//console.log('productData',res)
productData.value = res
}
/** 获取物料列表 */
const getItembasicPage = async (code) => {
return await ProcessrouteApi.getItembasicPage(code);
const getProcessBomList = async (pcode,processCode) => {
let params={
code:pcode ,//""
//version:version,//bom"
processCode:processCode
}
return await ProcessrouteApi.getProcessBomList(params);
}
/** 查询模具基本信息列表 */
const getPatternPage = async (code) => {
@ -290,31 +341,40 @@ const getWorkstationPage = async (code) => {
// }
/**获取工艺路线定义的工序列表 */
const getProcessList = async (code) => {
console.log('code',code)
//console.log('code',code)
const res = await ProcessrouteApi.getProcessrouteNodeList(code)
processData.value = res
showProcessNodeData.value=processData.value.slice((page.value.current-1)*page.value.size,page.value.size)
//return res
}
//
const nodeClick = (e, x, y, node, view) => {
currentNode.value.code=node.id
currentNode.value.name=node.attrs.title.text
Promise.all([
getProcessInfo(node.id),
getItembasicPage(node.id),
getProcessBomList(productCode.value,node.id),
getPatternPage(node.id),
getWorkstationPage(node.id)
]).then(([processIndoList,itembasicPage, patternPage,workstationInfoList]) => {
]).then(([processInfoList,basicBom, patternPage,workstationInfoList]) => {
//
message.info(JSON.stringify(processIndoList))
console.log(processIndoList)
//message.info(JSON.stringify(processIndoList))
//console.log('basicBom',basicBom)
//
materialData.value = itembasicPage.list
materialData.value = basicBom
pageM.value.total=materialData.value.length
pageM.value.current=1
showMaterialsData.value=materialData.value.slice((pageM.value.current-1)*pageM.value.size,pageM.value.size)
//
mouldData.value = patternPage.list
//
workStationList.value = workstationInfoList.list
}).catch(error => {
console.error("Error:", error);
//console.error("Error:", error);
materialData.value = []
showMaterialsData.value=[]
pageM.value.total=materialData.value.length
pageM.value.current=1
mouldData.value = []
workStationList.value = []
});
@ -353,6 +413,7 @@ const userAddNode = (row) => {
// ]
})
}
nodeClick(undefined,undefined, undefined, node_template, graph.value)
}
}
//-------
@ -373,7 +434,7 @@ const saveResult = async () => {
return
}
let gdata = {
processrouteCode: titleNameRef.value,
processrouteCode: titleValueRef.value,
routeVersion:routeVersion.value,
graphJson: graph.value.toJSON(),
processrouteId: processRouteId.value
@ -433,6 +494,46 @@ const deleteAnnexSuccess = async () => {
getFileList()
getChangeRecordList()
}
const handleCurrentChange=(value: number)=>{
let index=(value-1)*page.value.size
page.value.current=value
showProcessNodeData.value=processData.value.slice(index,index+page.value.size)
}
const handlePrevClick=(value: number)=>{
page.value.current=value-1
if(page.value.current==0) {
page.value.current=1
}
}
const handleNextClick=(value: number)=>{
page.value.current=value+1
if(page.value.current>page.value.total/page.value.size) {
page.value.current=page.value.total/page.value.size -1
}
}
const handleCurrentChangeM=(value: number)=>{
let index=(value-1)*pageM.value.size
pageM.value.current=value
showMaterialsData.value=materialData.value.slice(index,index+pageM.value.size)
}
const handlePrevClickM=(value: number)=>{
pageM.value.current=value-1
if(pageM.value.current==0) {
pageM.value.current=1
}
}
const handleNextClickM=(value: number)=>{
pageM.value.current=value+1
if(pageM.value.current>pageM.value.total/page.value.size) {
pageM.value.current=page.value.total/pageM.value.size -1
}
}
//
onUnmounted?.(() => {})
const emit = defineEmits(['close'])

6
src/views/mes/processroute/components/graphbase.data.ts

@ -138,7 +138,7 @@ export const start_node = ref({
id: 'startNode',
label: '开始',
x: 50,
y: 200,
y: 100,
attrs: {
body: {
rx: 20,
@ -151,8 +151,8 @@ export const start_node = ref({
//结束节点的定义
export const end_node = ref({
id: 'endNode',
x: 200,
y: 200,
x: 400,
y: 100,
label: '结束',
attrs: {
body: {

2
src/views/mes/productOffline/index.vue

@ -83,7 +83,7 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
const setV = {}
setV[formField] = val[0][searchField]
setV['workBillno'] = val[0]['schedulingCode']//
setV['planCode'] = val[0]['planMaserCode']//
setV['planCode'] = val[0]['planMasterCode']//
setV['processCode'] = val[0]['workingNode']//
setV['stationCode'] = val[0]['currentWorkstation']//
// job_mes_work_scheduling

4
src/views/mes/productOffline/productOffline.data.ts

@ -48,8 +48,8 @@ export const ProductOffline = useCrudSchemas(reactive<CrudSchema[]>([
searchAllSchemas: workscheduling.allSchemas, // 查询弹窗所需类
searchPage: ProductOfflineApi.getworkSchedulingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'flagDo',
value: '3',
key: 'status',
value: '1',
action: '==',
isSearch: true,
isMainValue: false

2
src/views/mes/productionPlan/productionPlan.data.ts

@ -213,7 +213,7 @@ export const workscheduling = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '计划编号',
field: 'planMaserCode',
field: 'planMasterCode',
sort: 'custom',
isSearch: true,
table: {

244
src/views/mes/reportpStore/index.vue

@ -0,0 +1,244 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="ReportpStore.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="ReportpStore.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<Table
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total
}"
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="ReportpStoreRules"
:formAllSchemas="ReportpStore.allSchemas"
:apiUpdate="ReportpStoreApi.updateReportpStore"
:apiCreate="ReportpStoreApi.createReportpStore"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="ReportpStore.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/reportp-store/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { ReportpStore,ReportpStoreRules } from './reportpStore.data'
import * as ReportpStoreApi from '@/api/mes/reportpStore'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'MesReportpStore' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(ReportpStore.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({
getListApi: ReportpStoreApi.getReportpStorePage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:reportpStore:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:reportpStore:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:reportpStore:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
handleImport()
} else if (val == 'export') { //
handleExport()
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
}
}
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:reportpStore:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:reportpStore:delete'}), //
]
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
var isHave =ReportpStore.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await ReportpStoreApi.createReportpStore(data)
message.success(t('common.createSuccess'))
} else {
await ReportpStoreApi.updateReportpStore(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicReportpStore')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await ReportpStoreApi.deleteReportpStore(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await ReportpStoreApi.exportReportpStore(tableObject.params)
download.excel(data, '工序报工物料明细.xlsx')
} catch {
} finally {
exportLoading.value = false
}
}
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '工序报工物料明细导入模版.xlsx'
})
//
const importSuccess = () => {
getList()
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await ReportpStoreApi.importTemplate()
})
</script>

111
src/views/mes/reportpStore/reportpStore.data.ts

@ -0,0 +1,111 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const ReportpStoreRules = reactive({
})
export const ReportpStore = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '状态',
field: 'status',
sort: 'custom',
isSearch: true,
form: {
component: 'Radio'
},
},
{
label: '并发乐观锁',
field: 'concurrencyStamp',
sort: 'custom',
isTable: false,
isSearch: true,
isForm: false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isTable: false,
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isForm: false,
},
{
label: '计划编码',
field: 'planDayCode',
sort: 'custom',
isSearch: true,
},
{
label: '工单编码',
field: 'workBillNo',
sort: 'custom',
isSearch: true,
},
{
label: '批次编码',
field: 'batchCode',
sort: 'custom',
isSearch: true,
},
{
label: '报工流水号',
field: 'reportUuid',
sort: 'custom',
isSearch: true,
},
{
label: '物料编码',
field: 'itemBasicCode',
sort: 'custom',
isSearch: true,
},
{
label: '物料数量',
field: 'itemCounts',
sort: 'custom',
isSearch: true,
},
{
label: '物料单位',
field: 'itemUom',
sort: 'custom',
isSearch: true,
},
{
label: '工位',
field: 'workstationCode',
sort: 'custom',
isSearch: true,
},
{
label: '产品编码',
field: 'productCode',
sort: 'custom',
isSearch: true,
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

295
src/views/mes/workScheduling/components/Detail.vue

@ -28,7 +28,16 @@
<Tabs ref="tabRef" :tabsList="tabsList" :current="current" @change="change" />
<div class="flex">
<!-- 详情 -->
<ContentWrap class="w-[100%]" v-show="tabsList[current].label!=annexAliasLabel&&tabsList[current].label!='备注'&&tabsList[current].label!='变更记录'&&!annexTableData.some(item=>item.label==tabsList[current].label)"> <!-- 列表头部 -->
<ContentWrap
class="w-[100%]"
v-show="
tabsList[current].label != annexAliasLabel &&
tabsList[current].label != '备注' &&
tabsList[current].label != '变更记录' &&
!annexTableData.some((item) => item.label == tabsList[current].label)
"
>
<!-- 列表头部 -->
<TableHead
v-if="!isBasic"
:HeadButttondata="HeadButttondata"
@ -71,8 +80,15 @@
v-model:pageSize="tableObjectRef.pageSize"
v-model:currentPage="tableObjectRef.currentPage"
>
<template #photos="{ row }">
<div v-for="(item,index) in row.photos.split(',')" :key="index" style="color:#409eff ; cursor: pointer;" @click="openImage(item)">{{ item }}</div> </template>
<template #photos="{ row }">
<div
v-for="(item, index) in row.photos.split(',')"
:key="index"
style="color: #409eff; cursor: pointer"
@click="openImage(item)"
>{{ item }}</div
>
</template>
<template #action="{ row }">
<ButtonBase
:Butttondata="buttondata"
@ -97,21 +113,31 @@
</DetailTable>
</ContentWrap>
<!-- other附件组件:如质检明细 -->
<div v-for="(annexItem ,index) in annexTableData" :key="index" v-show="annexItem.label==tabsList[current].label" class="w-[100%]" :style="{height:annexItem.hasSubDetail?'100%':remarkHeight+'px'}">
<ContentWrap class="w-[100%]">
<ElScrollbar ref="scrollbar" :style="{height:annexItem.hasSubDetail?'100%':(remarkHeight-40)+'px'}">
<Annex v-show="tabsList[current].label==annexItem.label"
:annexData="annexItem"
@handleAnnexSuccess="updateAnnexTableHandle"
@deleteAnnexSuccess="updateAnnexTableHandle"
:upData="{...remarksData.data,tableName:annexItem.tableName}"
/>
<div
v-for="(annexItem, index) in annexTableData"
:key="index"
v-show="annexItem.label == tabsList[current].label"
class="w-[100%]"
:style="{ height: annexItem.hasSubDetail ? '100%' : remarkHeight + 'px' }"
>
<ContentWrap class="w-[100%]">
<ElScrollbar
ref="scrollbar"
:style="{ height: annexItem.hasSubDetail ? '100%' : remarkHeight - 40 + 'px' }"
>
<Annex
v-show="tabsList[current].label == annexItem.label"
:annexData="annexItem"
@handleAnnexSuccess="updateAnnexTableHandle"
@deleteAnnexSuccess="updateAnnexTableHandle"
:upData="{ ...remarksData.data, tableName: annexItem.tableName }"
/>
</ElScrollbar>
</ContentWrap>
</ContentWrap>
<ContentWrap class="w-[100%]" v-if="annexItem.subDetailTableData">
<Table
<Table
v-if="!isBasic && fromeWhere != 'countPlan'"
:align="annexItem.align?annexItem.align:'center'"
:align="annexItem.align ? annexItem.align : 'center'"
:columns="annexItem.subDetailTableData.tableColumns"
:data="annexItem.subDetailTableData.tableList"
:loading="annexItem.subDetailTableData.loading"
@ -119,30 +145,44 @@
v-model:pageSize="tableObjectRef.pageSize"
v-model:currentPage="tableObjectRef.currentPage"
/>
</ContentWrap>
</ContentWrap>
</div>
<!-- 附件/备注/变更记录 -->
<ContentWrap class="w-[100%]" v-show="tabsList[current].label==annexAliasLabel||tabsList[current].label=='备注'||tabsList[current].label=='变更记录'" :style="{height:remarkHeight+'px'}">
<ContentWrap
class="w-[100%]"
v-show="
tabsList[current].label == annexAliasLabel ||
tabsList[current].label == '备注' ||
tabsList[current].label == '变更记录'
"
:style="{ height: remarkHeight + 'px' }"
>
<!-- 附件组件 -->
<ElScrollbar ref="scrollbar" :style="{height:(remarkHeight-40)+'px'}">
<Annex v-show="tabsList[current].label==annexAliasLabel"
:annexData="annexData"
@handleAnnexSuccess="handleAnnexSuccess"
@deleteAnnexSuccess="deleteAnnexSuccess"
:upData="remarksData.data"
:key="count"
/>
<ElScrollbar ref="scrollbar" :style="{ height: remarkHeight - 40 + 'px' }">
<Annex
v-show="tabsList[current].label == annexAliasLabel"
:annexData="annexData"
@handleAnnexSuccess="handleAnnexSuccess"
@deleteAnnexSuccess="deleteAnnexSuccess"
:upData="remarksData.data"
:key="count"
/>
<!-- 备注组件 -->
<Remarks v-show="tabsList[current].label=='备注'"
<Remarks
v-show="tabsList[current].label == '备注'"
:remarksData="remarksData"
class="mt-20px"
@remarksSubmitScuess="remarksSubmitScuess"
:key="count"
/>
<!-- 变更记录组件 -->
<ChangeRecord v-show="tabsList[current].label=='变更记录'" :changeRecordData="changeRecordData" class="mt-20px" :key="count"/>
</ElScrollbar>
<ChangeRecord
v-show="tabsList[current].label == '变更记录'"
:changeRecordData="changeRecordData"
class="mt-20px"
:key="count"
/>
</ElScrollbar>
</ContentWrap>
</div>
</el-drawer>
@ -173,7 +213,6 @@
</template>
<script lang="ts" setup>
import Annex from '@/components/Annex/src/Annex.vue'
import Remarks from '@/components/Remarks/src/Remarks.vue'
import ChangeRecord from '@/components/ChangeRecord/src/ChangeRecord.vue'
@ -185,7 +224,7 @@ import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import DetailTable from '@/components/DetailTable/src/DetailTable.vue'
import { SearchTable } from '@/components/SearchTable'
import {defaultFreshBtn} from "@/utils/disposition/defaultButtons";
import { defaultFreshBtn } from '@/utils/disposition/defaultButtons'
defineOptions({ name: 'Detail' })
@ -209,7 +248,7 @@ const props = defineProps({
annexTable: {
type: Array,
required: false,
default: ()=>[]
default: () => []
},
//tab
annexAliasLabel: {
@ -305,7 +344,7 @@ const props = defineProps({
buttondataTable: {
type: Array,
required: false,
default: ()=>{
default: () => {
return []
}
},
@ -322,38 +361,38 @@ const props = defineProps({
default: null
},
//
detailButtonIsShowFilter:{
detailButtonIsShowFilter: {
type: Boolean,
required: false,
default: true
},
//
detailButtonIsShowAdd:{
detailButtonIsShowAdd: {
type: Boolean,
required: false,
default: true
default: false
},
//
detailButtonIsShowEdit:{
detailButtonIsShowEdit: {
type: Boolean,
required: false,
default: true
default: false
},
//
detailButtonIsShowDelete:{
detailButtonIsShowDelete: {
type: Boolean,
required: false,
default: true
default: false
},
//
isOpenSearchTable:{
isOpenSearchTable: {
type: Boolean,
required: false,
default: false
},
//
otherHeadButttonData:{
type:Array,
otherHeadButttonData: {
type: Array,
required: false,
default: () => []
}
@ -381,39 +420,43 @@ if (props.isBasic == true) {
}
}
const otherList = [...props.annexTable,{
label:props.annexAliasLabel,
prop:'Annex'
},{
label:'备注',
prop:'Remarks'
},{
label:'变更记录',
prop:'ChangeRecord'
}]
tabsList.value = [...tabsList?.value,...otherList]
if (!tabsList.value || tabsList.value && tabsList.value.length == otherList.length) {
const otherList = [
...props.annexTable,
{
label: props.annexAliasLabel,
prop: 'Annex'
},
{
label: '备注',
prop: 'Remarks'
},
{
label: '变更记录',
prop: 'ChangeRecord'
}
]
tabsList.value = [...tabsList?.value, ...otherList]
if (!tabsList.value || (tabsList.value && tabsList.value.length == otherList.length)) {
tabsList.value.unshift({
label: '明细',
prop: 'Detail'
label: '明细',
prop: 'Detail'
})
}
// Tabs
// Tabs
const tabRef = ref()
//
const scrollbar = ref()
const scrollbar = ref()
//
const remarkHeight = computed(() => {
const remarkHeight = computed(() => {
const tab = unref(tabRef)
const tabTop = tab?.$el.getBoundingClientRect().top
const tabHeight = tab?.$el.getBoundingClientRect().height
const height = window.innerHeight - (tabTop) - (tabHeight) - 60
const height = window.innerHeight - tabTop - tabHeight - 60
return height
})
//
const annexData = reactive({
annexList: []
@ -442,31 +485,31 @@ const getFileList = async () => {
}
}
//
const getAnnexFileList = async (row:id) => {
const getAnnexFileList = async (row: id) => {
props.annexTable?.forEach(async (item) => {
let requstData = {...remarksData.data,tableName: item?.tableName}
let requstData = { ...remarksData.data, tableName: item?.tableName }
const annexList = await FileApi.getFileList(requstData)
const annexData = annexTableData.value.find(annex=>annex.label === item.label)
if(annexData){
const annexData = annexTableData.value.find((annex) => annex.label === item.label)
if (annexData) {
annexData.annexList = annexList
}else{
} else {
annexTableData.value.push({
align:item.align,
align: item.align,
label: item.label,
tableName: item?.tableName || '',
annexList,
hasSubDetail:item.hasSubDetail||false,
subDetailTableData:item.subDetailTableData
hasSubDetail: item.hasSubDetail || false,
subDetailTableData: item.subDetailTableData
})
if(item?.subDetailTableData){
const { tableObject:subTableObject, tableMethods:subTableMethods } = useTable({
if (item?.subDetailTableData) {
const { tableObject: subTableObject, tableMethods: subTableMethods } = useTable({
getListApi: item.subDetailTableData.getSubList //
})
const {getList:getSubList} = subTableMethods
subTableObject.params= {}
item.subDetailTableData.queryParams.forEach(queryItem => {
const { getList: getSubList } = subTableMethods
subTableObject.params = {}
item.subDetailTableData.queryParams.forEach((queryItem) => {
subTableObject.params[queryItem.queryField] = row[queryItem.rowField]
});
})
await getSubList()
item.subDetailTableData.tableList = subTableObject.tableList
annexItem.subDetailTableData.tableList
@ -485,7 +528,7 @@ const deleteAnnexSuccess = async () => {
getChangeRecordList()
}
/** 追加的附件 */
const updateAnnexTableHandle = () => {
const updateAnnexTableHandle = () => {
getAnnexFileList(detailData.value)
getChangeRecordList()
}
@ -495,11 +538,10 @@ const current = ref(0)
const change = (item, index) => {
current.value = index
emit('changeTabs', item)
if(otherList.find(other=>other.label==item.label)){
if (otherList.find((other) => other.label == item.label)) {
// // --
scrollbar.value.scrollTo({ top: 0});
scrollbar.value.scrollTo({ top: 0 })
}
}
//
@ -532,8 +574,11 @@ const initModel = (schema: FormSchema[], formModel: Recordable) => {
const searchTableRef = ref()
//
const searchTableFormModel = ref<Recordable>({})
if(props.isOpenSearchTable){
searchTableFormModel.value = initModel(props.detailAllSchemas.formSchema, unref(searchTableFormModel))
if (props.isOpenSearchTable) {
searchTableFormModel.value = initModel(
props.detailAllSchemas.formSchema,
unref(searchTableFormModel)
)
}
const searchTableFormType = ref('') // create - update -
@ -541,7 +586,7 @@ const searchTableFormType = ref('') // 表单的类型:create - 新增;updat
const formRef = ref()
const titleNameRef = ref()
const titleValueRef = ref()
const count =ref(0)
const count = ref(0)
const openDetail = async (row: any, titleName: any, titleValue: any, tableName: any) => {
titleNameRef.value = titleName
titleValueRef.value = titleValue
@ -576,9 +621,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
let detailButtonAdd: any = []
if (props.detailButtonIsShowFilter) {
//
detailButtonFilter = [
defaultButtons.defaultFilterBtn(null)
]
detailButtonFilter = [defaultButtons.defaultFilterBtn(null)]
}
if (props.detailButtonIsShowAdd) {
//
@ -588,10 +631,8 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
})
]
}
let detailButtonRefresh = [
defaultButtons.defaultFreshBtn(null)
]
HeadButttondata.value = [...detailButtonFilter,...detailButtonAdd,...detailButtonRefresh]
let detailButtonRefresh = [defaultButtons.defaultFreshBtn(null)]
HeadButttondata.value = [...detailButtonFilter, ...detailButtonAdd, ...detailButtonRefresh]
//
if (routeName.value.indexOf('Job') > -1) {
@ -599,7 +640,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
defaultButtons.defaultFilterBtn(null) //
]
}
HeadButttondata.value = [...HeadButttondata.value,...props.otherHeadButttonData]
HeadButttondata.value = [...HeadButttondata.value, ...props.otherHeadButttonData]
let detailButtonEdit: any = []
let detailButtonDelete: any = []
if (props.detailButtonIsShowEdit) {
@ -618,8 +659,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
})
]
}
buttondata.value = [...detailButtonEdit,...detailButtonDelete,...props.buttondataTable]
buttondata.value = [...detailButtonEdit, ...detailButtonDelete, ...props.buttondataTable]
} finally {
detailLoading.value = false
}
@ -675,7 +715,7 @@ const { getList } = tableMethodsRef.value
const buttonBaseClick = (val, item) => {
if (val == 'add') {
//
if(props.isOpenSearchTable){
if (props.isOpenSearchTable) {
searchTableFormType.value = 'create'
//
searchTableFormModel.value = Object.assign(unref(searchTableFormModel), {
@ -684,15 +724,17 @@ const buttonBaseClick = (val, item) => {
})
const item = props.detailAllSchemas.formSchema[0]
opensearchTable(
item.field, item?.componentProps?.searchField,
item?.componentProps?.searchTitle,
item?.componentProps?.searchAllSchemas,
item?.componentProps?.searchPage,
item?.componentProps?.searchCondition,
item?.componentProps?.multiple,
undefined,undefined
item.field,
item?.componentProps?.searchField,
item?.componentProps?.searchTitle,
item?.componentProps?.searchAllSchemas,
item?.componentProps?.searchPage,
item?.componentProps?.searchCondition,
item?.componentProps?.multiple,
undefined,
undefined
)
}else{
} else {
openForm('create')
}
} else if (val == 'import') {
@ -709,7 +751,7 @@ const buttonBaseClick = (val, item) => {
} else {
//
console.log('其他按钮', item)
emit('buttonBaseClick',val, item)
emit('buttonBaseClick', val, item)
}
}
@ -729,13 +771,13 @@ const opensearchTable = (
//
if (searchCondition && searchCondition.length > 0) {
//
for (var i=0; i< searchCondition.length; i++ ) {
for (var i = 0; i < searchCondition.length; i++) {
// row
if (searchCondition[i].isMainValue) {
_searchCondition[searchCondition[i].key] = detailData
? detailData.value[searchCondition[i].value]
: ''
}else{
} else {
_searchCondition[searchCondition[i].key] = searchCondition[i].value
}
}
@ -762,29 +804,31 @@ const opensearchTable = (
const buttonTableClick = async (val, row) => {
if (val == 'edit') {
//
if(props.isOpenSearchTable){
if (props.isOpenSearchTable) {
searchTableFormType.value = 'update'
if (row?.id || row?.masterId) {
searchTableFormModel.value = Object.assign(unref(searchTableFormModel), row)
}
const item = props.detailAllSchemas.formSchema[0]
opensearchTable(
item.field, item?.componentProps?.searchField,
item?.componentProps?.searchTitle,
item?.componentProps?.searchAllSchemas,
item?.componentProps?.searchPage,
item?.componentProps?.searchCondition,
item?.componentProps?.multiple,
undefined,undefined
item.field,
item?.componentProps?.searchField,
item?.componentProps?.searchTitle,
item?.componentProps?.searchAllSchemas,
item?.componentProps?.searchPage,
item?.componentProps?.searchCondition,
item?.componentProps?.multiple,
undefined,
undefined
)
}else{
} else {
openForm('update', row)
}
} else if (val == 'delete') {
//
handleDelete(row.id)
} else {
emit('tableFormButton',val, row)
emit('tableFormButton', val, row)
}
}
/** 添加/修改操作 */
@ -815,10 +859,9 @@ const submitForm = async (formType, data) => {
}
}
const searchTableSuccess1 = (formField, searchField, val, formRef) => {
searchTableFormModel.value[formField] = val.map(item=>item[searchField]).join(',')
submitForm(searchTableFormType.value,searchTableFormModel.value)
searchTableFormModel.value[formField] = val.map((item) => item[searchField]).join(',')
submitForm(searchTableFormType.value, searchTableFormModel.value)
emit('searchTableSuccessDetail', formField, searchField, val, formRef)
}
//
@ -885,7 +928,7 @@ const selectChangeDetail = (field, val) => {
emit('selectChangeDetail', field, val)
}
//
const openImage=(item)=>{
const openImage = (item) => {
emit('openImage', item)
}
/**
@ -893,22 +936,22 @@ const openImage=(item)=>{
* @param field 当前操作字段
* @param cur 改变后值
*/
const detailBasicFormOnChange = (field, cur) => {
const detailBasicFormOnChange = (field, cur) => {
emit('detailBasicFormOnChange', field, cur)
}
/**
* 监听失焦事件
* @param field 当前操作字段
* @param e
* @param e
*/
const onBlur = (field, e) => {
const onBlur = (field, e) => {
emit('onBlur', field, e)
}
//
const formFormDateChange = (field, val,row, index) => {
emit('formFormDateChange', field, val,row, index)
const formFormDateChange = (field, val, row, index) => {
emit('formFormDateChange', field, val, row, index)
}
//
watch(
@ -920,7 +963,7 @@ watch(
tableObject.params.schedulingCode = masterParmas.value.schedulingCode
detailAllSchemasRef.value = props.detailAllSchemas
if (props.tableObjectExtend) {
props.tableObjectExtend.forEach(item => {
props.tableObjectExtend.forEach((item) => {
tableObject.params[item.key] = item.value
})
}

18
src/views/mes/workScheduling/index.vue

@ -29,7 +29,7 @@
>
<template #schedulingCode="{row}">
<el-button type="primary" link @click="openDetail(row, '工单详情', row.schedulingCode)">
<span>{{ row.planMaserCode }}</span>
<span>{{ row.schedulingCode }}</span>
</el-button>
</template>
<template #action="{ row }">
@ -60,9 +60,9 @@
:apiCreate="WorkSchedulingDetailApi.createWorkSchedulingDetail"
:apiUpdate="WorkSchedulingDetailApi.updateWorkSchedulingDetail"
:apiDelete="WorkSchedulingDetailApi.deleteWorkSchedulingDetail"
:detailButtonIsShowAdd="true"
:detailButtonIsShowEdit="true"
:detailButtonIsShowDelete="true"
:detailButtonIsShowAdd="false"
:detailButtonIsShowEdit="false"
:detailButtonIsShowDelete="false"
@handleMainFefresh="handleMainFefresh"
@searchTableSuccessDetail="searchTableSuccessDetail"
:key="count"
@ -169,10 +169,10 @@ const buttonBaseClick = (val, item) => {
const butttondata=(row) =>{ return [
defaultButtons.mainListEditBtn({label:"调序",hasPermi:'mes:workScheduling:update'}), //
//defaultButtons.mainListDeleteBtn({hasPermi:'mes:workScheduling:delete'}), //
defaultButtons.mainListHandleBtn({label:"终止",name:'terminate',hide: isShowMainButton(row,['-1','0']),hasPermi:'mes:workScheduling:update'}), //
defaultButtons.mainListHandleBtn({label:"暂停",name:'pause',hide: isShowMainButton(row,['1']),hasPermi:'mes:workScheduling:update'}),
defaultButtons.mainListHandleBtn({label:"恢复",name:'resume',hide: isShowMainButton(row,['3']),hasPermi:'mes:workScheduling:update'}),
//defaultButtons.mainListHandleBtn({label:"",name:'change', hasPermi:'mes:workScheduling:update'}), //
defaultButtons.mainListHandleBtn({label:"终止",name:'terminate',hide: isShowMainButton(row,['-1','0']),hasPermi:'mes:workScheduling:update'}), //
defaultButtons.mainListHandleBtn({label:"暂停",name:'pause',hide: isShowMainButton(row,['1']),hasPermi:'mes:workScheduling:update'}),
defaultButtons.mainListHandleBtn({label:"恢复",name:'resume',hide: isShowMainButton(row,['3']),hasPermi:'mes:workScheduling:update'}),
//defaultButtons.mainListHandleBtn({label:"",name:'change', hasPermi:'mes:workScheduling:update'}), //
]}
// -
@ -184,7 +184,7 @@ const buttonTableClick = async (val, row) => {
}else if (val == 'pause') { //
changeBillStatus(row,"3")
}else if (val == 'resume') { //
changeBillStatus(row,"0")
changeBillStatus(row,"1")
}
}

141
src/views/mes/workScheduling/workScheduling.data.ts

@ -1,5 +1,6 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import { ElTag } from 'element-plus'
// 表单校验
export const WorkSchedulingRules = reactive({
@ -44,10 +45,17 @@ export const WorkScheduling = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '计划编号',
field: 'planMaserCode',
field: 'planMasterCode',
sort: 'custom',
isSearch: true,
isForm: true,
form:{
component: 'Input',
componentProps: {
placeholder: '请输入计划编号',
disabled:true
}
}
},
{
label: '工单编号',
@ -88,7 +96,7 @@ export const WorkScheduling = useCrudSchemas(reactive<CrudSchema[]>([
label: '计划数量',
field: 'planCount',
sort: 'custom',
isForm: true,
isForm: false,
},
{
label: '完工数量',
@ -138,19 +146,19 @@ export const WorkScheduling = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
isForm: true,
},
{
label: '工单模式',
field: 'formType',
sort: 'custom',
isForm: true,
isForm: false,
dictType: DICT_TYPE.MES_WORKBILL_MODEL,
dictClass: 'string',
form: {
component: 'Select',
},
},
{
label: '操作',
field: 'action',
@ -173,7 +181,7 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'id',
sort: 'custom',
isSearch: false,
isTable: false,
isTable: true,
isForm:false,
isDetail:false,
},
@ -186,15 +194,7 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm:false,
isDetail:false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: false,
isTable: false,
isForm:false,
isDetail:false,
},
{
label: '创建时间',
field: 'createTime',
@ -219,16 +219,16 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
isSearch: true,
},
{
label: '任务ID',
field: 'schedulingId',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
},
},
// {
// label: '任务ID',
// field: 'schedulingId',
// sort: 'custom',
// isSearch: true,
// form: {
// component: 'InputNumber',
// value: 0
// },
// },
{
label: '任务序号',
field: 'taskSort',
@ -247,30 +247,55 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '允许工位',
field: 'workstationValidate',
formatter: (_: Recordable, __: TableColumn, cellValue: String) => {
return h(
ElTag,
{
type:'primary'
},
() =>
JSON.parse(cellValue).map((item: any) => {
return '['+item.name+']'
}).join('\r\n')
)
},
sort: 'custom',
},
{
label: '允许设备',
field: 'deviceValidate',
formatter: (_: Recordable, __: TableColumn, cellValue: String) => {
return h(
ElTag,
{
type:'primary'
},
() =>
JSON.parse(cellValue).map((item: any) => {
return '['+item.name+']'
}).join('\r\n')
)
},
sort: 'custom',
},
{
label: '允许人员',
field: 'personValidate',
formatter: (_: Recordable, __: TableColumn, cellValue: String) => {
return h(
ElTag,
{
type:'primary'
},
() =>
JSON.parse(cellValue).map((item: any) => {
return '['+item.name+']'
}).join('\r\n')
)
},
sort: 'custom',
},
{
label: '报工人',
field: 'reportPerson',
sort: 'custom',
isSearch: true,
},
{
label: '生产人',
field: 'receivePerson',
sort: 'custom',
isSearch: true,
},
{
label: '计划数量',
field: 'planCount',
@ -280,6 +305,12 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
value: 0
},
},
{
label: '报工人',
field: 'reportPerson',
sort: 'custom',
isSearch: true,
},
{
label: '报工数量',
field: 'reportCount',
@ -328,18 +359,34 @@ export const WorkSchedulingDetail = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
isSearch: true,
},
{
label: '生产物料',
field: 'materialValidate',
label: '生产',
field: 'receivePerson',
sort: 'custom',
isSearch: true,
},
// {
// label: '生产物料',
// field: 'materialValidate',
// sort: 'custom',
// },
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: false,
isTable: false,
isForm:false,
isDetail:false,
},
// {
// label: '操作',
// field: 'action',
// isForm: false,
// table: {
// width: 150,
// fixed: 'right'
// }
// }
]))

244
src/views/mes/workSchedulingQaform/index.vue

@ -0,0 +1,244 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="WorkSchedulingQaform.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="WorkSchedulingQaform.allSchemas"
/>
<!-- 列表 -->
<ContentWrap>
<Table
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total
}"
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #id="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.id)">
<span>{{ row.id }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="WorkSchedulingQaformRules"
:formAllSchemas="WorkSchedulingQaform.allSchemas"
:apiUpdate="WorkSchedulingQaformApi.updateWorkSchedulingQaform"
:apiCreate="WorkSchedulingQaformApi.createWorkSchedulingQaform"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="WorkSchedulingQaform.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/work-scheduling-qaform/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { WorkSchedulingQaform,WorkSchedulingQaformRules } from './workSchedulingQaform.data'
import * as WorkSchedulingQaformApi from '@/api/mes/workSchedulingQaform'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'MesWorkSchedulingQaform' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(WorkSchedulingQaform.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({
getListApi: WorkSchedulingQaformApi.getWorkSchedulingQaformPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'mes:workSchedulingQaform:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'mes:workSchedulingQaform:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'mes:workSchedulingQaform:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
handleImport()
} else if (val == 'export') { //
handleExport()
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
}
}
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'mes:workSchedulingQaform:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'mes:workSchedulingQaform:delete'}), //
]
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
var isHave =WorkSchedulingQaform.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await WorkSchedulingQaformApi.createWorkSchedulingQaform(data)
message.success(t('common.createSuccess'))
} else {
await WorkSchedulingQaformApi.updateWorkSchedulingQaform(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
getList()
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicWorkSchedulingQaform')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await WorkSchedulingQaformApi.deleteWorkSchedulingQaform(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
//
exportLoading.value = true
const data = await WorkSchedulingQaformApi.exportWorkSchedulingQaform(tableObject.params)
download.excel(data, '任务质检单.xlsx')
} catch {
} finally {
exportLoading.value = false
}
}
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '任务质检单导入模版.xlsx'
})
//
const importSuccess = () => {
getList()
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await WorkSchedulingQaformApi.importTemplate()
})
</script>

208
src/views/mes/workSchedulingQaform/workSchedulingQaform.data.ts

@ -0,0 +1,208 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const WorkSchedulingQaformRules = reactive({
concurrencyStamp: [required],
})
export const WorkSchedulingQaform = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '删除时间',
field: 'deleteTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
valueFormat: 'x'
}
},
},
{
label: '主键',
field: 'id',
sort: 'custom',
isForm: false,
},
{
label: '状态',
field: 'status',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'Radio'
},
},
{
label: '并发乐观锁',
field: 'concurrencyStamp',
sort: 'custom',
iisSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isForm: false,
},
{
label: '删除用户名',
field: 'deleter',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
},
{
label: '位置ID',
field: 'siteId',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '主计划编号',
field: 'planMasterCode',
sort: 'custom',
isSearch: true,
},
{
label: '工单编号',
field: 'schedulingCode',
sort: 'custom',
isSearch: true,
},
{
label: '工序编号',
field: 'nodeCode',
sort: 'custom',
isSearch: true,
},
{
label: '检验单编号',
field: 'qaFormNo',
sort: 'custom',
isSearch: true,
},
{
label: '检验单名称',
field: 'qaFormName',
sort: 'custom',
isSearch: true,
},
{
label: '检验类型',
field: 'qaFormType',
sort: 'custom',
isSearch: true,
},
{
label: '检验时间',
field: 'qaTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
valueFormat: 'x'
}
},
},
{
label: '检测数量',
field: 'qaCount',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '检测合格数量',
field: 'qaCountPassed',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '检测不合格数量',
field: 'qaCountNotpassed',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '合格率',
field: 'qaPassRate',
sort: 'custom',
isSearch: true,
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

110
src/views/qms/aql/aql.data.ts

@ -8,59 +8,59 @@ export const AqlRules = reactive({
code: [required],
inspectionQualification: [required],
sampleCharacterCode: [{ required, max: 1, message: '长度不得超过1个字符', trigger: 'blur' }],
sampleSize: [required],
a0separator010: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator010: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator015: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator015: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator025: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator025: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator040: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator040: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator065: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator065: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator10: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator10: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator15: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator15: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator25: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator25: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator40: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator40: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator65: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator65: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator0: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator0: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a2separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r2separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a4separator0: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r4separator0: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a6separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r6separator5: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a10: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r10: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a15: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r15: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a25: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r25: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a40: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r40: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a65: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r65: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a100: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r100: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a150: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r150: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a250: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r250: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a400: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r400: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a650: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r650: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1000: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1000: [{ validator: validateNum, message: '请输入整数', trigger: 'blur' }],
sampleQty: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator010: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator010: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator015: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator015: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator025: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator025: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator040: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator040: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator065: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator065: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a0separator65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r0separator65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a2separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r2separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a4separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r4separator0: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a6separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r6separator5: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r10: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r15: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r25: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r40: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r65: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a100: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r100: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a150: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r150: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a250: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r250: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a400: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r400: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a650: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r650: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
a1000: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
r1000: [{ required, validator: validateNum, message: '请输入整数', trigger: 'blur' }],
})
const samplingSchemeList = await getSamplingScheme()
export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
@ -108,8 +108,8 @@ export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '样本量',
field: 'sampleSize',
label: '样品份数',
field: 'sampleQty',
sort: 'custom',
table: {
width: 95

27
src/views/qms/basicDataManage/inspectionScheme/addForm.vue

@ -187,6 +187,11 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="每份样品量" prop="samplePieceSize">
<el-input v-model="data.samplePieceSize" placeholder="请填写每份样品量" :disabled='isSamplePieceSizeDisabled'/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效时间" prop="effectiveDate">
<el-date-picker
@ -637,6 +642,7 @@ import * as DynamicRuleApi from '@/api/qms/dynamicRule' //动态修改规则
import { DynamicRule } from '@/views/qms/basicDataManage/dynamicRule/dynamicRule.data' //
import * as SelectedSetApi from '@/api/qms/selectedSet' //
import { SelectedSet } from '@/views/qms/basicDataManage/selectedSet/selectedSet.data' //
import {validateTwoNum} from '@/utils/validator'
const message = useMessage() //
@ -696,6 +702,8 @@ const data = ref({
available: 'TRUE',
dynamicUpdateCode: '',
description:'',
samplePieceSize:'',
uom:'',
process: []
})
@ -721,7 +729,13 @@ const rules = ref({
],
splitRule: [{ required: true, message: '请选择拆分规则', trigger: ['blur', 'change'] }],
aql: [{ required: true, message: '请选择aql', trigger: ['blur', 'change'] }],
inspectionLevel: [{ required: true, message: '请选择检验水平', trigger: ['blur', 'change'] }],
inspectionLevel: [
{ required: true, message: '请选择检验水平', trigger: ['blur', 'change'] },
],
samplePieceSize: [
{ required: true, message: '请输入每份样品量', trigger: ['blur', 'change']},
{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'},
],
effectiveDate: [{ required: true, message: '请选择生效时间', trigger: ['blur', 'change'] }],
expirationDate: [{ required: true, message: '请选择失效时间', trigger: ['blur', 'change'] }],
'inspectionCharacteristicsBaseVO.description': [
@ -826,6 +840,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
available: 'TRUE',
dynamicUpdateCode:'',
description:"",
samplePieceSize:"",
uom:"",
process: []
}
}
@ -1074,6 +1090,7 @@ const opensearchTable = (
_searchCondition
)
}
const isSamplePieceSizeDisabled = ref(false)//
//
// val row
const searchTableSuccess = async (formField, searchField, val, type, row) => {
@ -1094,6 +1111,14 @@ const searchTableSuccess = async (formField, searchField, val, type, row) => {
data.value[formField] = val[0].code
if (formField == 'itemCode') {
data.value.itemName = val[0].name
data.value.uom = val[0].uom
if(data.value.uom == 'EA'){
data.value.samplePieceSize = 1
isSamplePieceSizeDisabled.value = true
}else{
data.value.samplePieceSize = ''
isSamplePieceSizeDisabled.value = false
}
} else if (formField == 'inspectionType') {
data.value.testTypeName = val[0].description
} else if (formField == 'programmeTemplateCode') {

2
src/views/qms/basicDataManage/inspectionScheme/index.vue

@ -180,6 +180,8 @@ const submitForm = async (formType,data) => {
inspectionLevel: data.inspectionLevel,
effectiveDate: data.effectiveDate,
expirationDate: data.expirationDate,
samplePieceSize: data.samplePieceSize,
uom: data.uom,
available: data.available,
content:JSON.stringify(data.process)
}

8
src/views/qms/basicDataManage/inspectionScheme/inspectionScheme.data.ts

@ -161,6 +161,14 @@ export const InspectionSchemeMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true,
},
{
label: '每份样品量',
field: 'samplePieceSize',
sort: 'custom',
table: {
width: 140
}
},
{
label: '生效时间',
field: 'effectiveDate',

118
src/views/qms/basicDataManage/inspectionTemplate/addForm.vue

@ -562,30 +562,99 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
formType.value = type
if (row) {
data.value = JSON.parse(JSON.stringify(row))
data.value.version = String(data.value.version)
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
//
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
console.log(row)
//
if(formType.value == 'create'){
data.value ={
code: '',
description:row.description,
version:String(row.version),
dynamicUpdateCode:row.dynamicUpdateCode,
dynamicUpdateName:row.dynamicUpdateName,
process: []
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
})
data.value.process = list
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
let arr = []
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
console.log(item.inspectionCharacteristicsBaseVO)
let obj = {
description:item.description,
inspectionCharCode:item.inspectionCharCode,
inspectionCode:item.inspectionCode,
sequenceCode:item.sequenceCode,
name : index + 1,
inspectionCharacteristicsBaseVO:{
description:item.inspectionCharacteristicsBaseVO.description,
featureType:item.inspectionCharacteristicsBaseVO.featureType,
inspectionMethodCode:item.inspectionCharacteristicsBaseVO.inspectionMethodCode,
inspectionMethodName:item.inspectionCharacteristicsBaseVO.inspectionMethodName,
isCanUpdate:item.inspectionCharacteristicsBaseVO.isCanUpdate,
isDestructionInspection:item.inspectionCharacteristicsBaseVO.isDestructionInspection,
quantifyCapping:item.inspectionCharacteristicsBaseVO.quantifyCapping,
quantifyDecimal:item.inspectionCharacteristicsBaseVO.quantifyDecimal,
quantifyIsCapping:item.inspectionCharacteristicsBaseVO.quantifyIsCapping,
quantifyIsLowlimit:item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit,
quantifyIsTarget:item.inspectionCharacteristicsBaseVO.quantifyIsTarget,
quantifyLowlimit:item.inspectionCharacteristicsBaseVO.quantifyLowlimit,
quantifyQuantifyCode:item.inspectionCharacteristicsBaseVO.quantifyQuantifyCode,
quantifyQuantifyName:item.inspectionCharacteristicsBaseVO.quantifyQuantifyName,
quantifyTarget:item.inspectionCharacteristicsBaseVO.quantifyTarget,
quantifyUom:item.inspectionCharacteristicsBaseVO.quantifyUom,
resultEntryMethod:item.inspectionCharacteristicsBaseVO.resultEntryMethod,
samplingProcessCode:item.inspectionCharacteristicsBaseVO.samplingProcessCode,
samplingProcessName:item.inspectionCharacteristicsBaseVO.samplingProcessName,
}
}
//
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
arr.push(obj)
})
data.value.process = arr
}else{
data.value = JSON.parse(JSON.stringify(row))
data.value.version = String(data.value.version)
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
//
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
})
data.value.process = list
}
} else {
data.value = {
code: '',
@ -643,7 +712,6 @@ const buttonBaseClick1 = (val) => {
sequenceCode: '',
inspectionCharCode: '',
inspectionCharacteristicsBaseVO: {
describe: '',
inspectionMethodCode: '',
samplingProcessCode: '',
isCanUpdate: '',
@ -783,7 +851,7 @@ const submitForm = async () => {
console.log(99,arr2)
if (arr2 && arr2.length > 0) {
const str = arr2.map((item) => item.description).join(',')
message.error(`${str}上限值应大目标值大于下限值`)
message.error(`${str}上限值应大目标值大于下限值`)
return
}
if (formType.value == 'create') {

3
src/views/qms/basicDataManage/inspectionTemplate/index.vue

@ -138,6 +138,7 @@ const butttondata = (row) => {
defaultButtons.mainListEditBtn({hasPermi: 'qms:programme-template:update'}),
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'qms:programme-template:enable'}),
defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'qms:programme-template:disable'}),
defaultButtons.mainCopyBtn({hasPermi:'qms:programme-template:copy'}),
]
}
@ -151,6 +152,8 @@ const buttonTableClick = async (val, row) => {
handleEnable(row.id)
}else if (val == 'disable') {
handleDisable(row.id)
}else if (val == 'copy') {
openForm('create', row)
}
}

59
src/views/qms/inspection/inspectionJob/addForm.vue

@ -8,7 +8,7 @@
<TableForm ref="tableFormRef" style="width:100%;" :maxHeight = "490" :tableFields="tableAllSchemas.tableFormColumns" :tableFormRules="tableFormRules" :tableData="data.packageList" :isShowButton="false" :isShowReduceButton="false" />
</div>
<el-tabs v-model="editableTabsValue" class="demo-tabs" @edit="handleTabsEdit" type="border-card" tab-position="left" :stretch="false">
<el-tab-pane v-for="item in data.subList" :key="item.name" :label="item.processCode" :name="item.name">
<el-tab-pane v-for="item in data.subList" :key="item.name" :label="item.processDescribe" :name="item.name">
<div class="small-title">检验工序</div>
<el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef">
<el-row :gutter="20">
@ -62,12 +62,19 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="样品份数" prop="inspectionJobCharacteristicsUpdateReqVO.inspectionQty">
<el-form-item label="样品份数" prop="inspectionJobCharacteristicsUpdateReqVO.sampleQty">
<div style="display: flex; width: 100%">
<el-input v-model=" item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty" disabled placeholder="请输入样品份数" />
<el-input v-model="item.inspectionJobCharacteristicsUpdateReqVO.sampleQty" disabled placeholder="请输入样品份数" />
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="每份样品量" prop="inspectionJobCharacteristicsUpdateReqVO.samplePieceSize">
<div style="display: flex; width: 100%">
<el-input v-model="item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize" disabled placeholder="请输入样品份数" />
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否允许修改特征值" prop="inspectionJobCharacteristicsUpdateReqVO.isCanUpdate">
@ -308,21 +315,15 @@ const rules = ref({
'inspectionJobCharacteristicsUpdateReqVO.quantifyQuantifyCode': [
{ required: true, message: '请选择集编码', trigger: 'change' }
],
'inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime': [
{ required: true, message: '请选择开始时间', trigger: 'change' }
],
'inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime': [
{ required: true, message: '请选择结束时间', trigger: 'blur' }
],
'inspectionJobCharacteristicsUpdateReqVO.estimateCode': [
{ required: true, message: '请选择评估代码', trigger: 'blur' }
],
'inspectionJobCharacteristicsUpdateReqVO.inspectionQty': [
'inspectionJobCharacteristicsUpdateReqVO.sampleQty': [
{ required: true, message: '请输入样品份数', trigger: 'blur' }
],
qualifiedQuantity: [{ required: true, message: '请输入选择结束时间', trigger: 'blur' }]
})
const allSamplePieceSize = ref(0)
/** 打开弹窗 */
let tabIndex = 1
const open = async (type: string, row?: any, masterParmas?: any, titleName?: any) => {
@ -332,6 +333,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
dialogTitle.value = t('action.' + type)
}
formType.value = type
allSamplePieceSize.value =0//0
if (row) {
data.value = JSON.parse(JSON.stringify(row))
// console.log(data.value)//
@ -343,11 +345,14 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
editableTabsValue.value = index + 1
item.name = index + 1
item.inspectionJobCharacteristicsUpdateReqVO = item.inspectionJobCharacteristicsRespVO
//
allSamplePieceSize.value += parseFloat((parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty) * parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.samplePieceSize)).toFixed(2))
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 0) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList = []
for (let i = 0; i < parseInt(item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty); i++) {
for (let i = 0; i < parseInt(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty); i++) {
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.push({
inspectionValue: '', //
qualitativeCode: '', //
@ -390,8 +395,25 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
rules.value['inspectionJobCharacteristicsUpdateReqVO.estimateCode'][0].required = false
}
})
console.log(22,allSamplePieceSize.value )
data.value.subList = list
/**
设置采样数量默认第一个包装采样数量<总数量显示数量字段第二个包装和剩下的总数量对比以此类推
第一个包装采样数量>总数量 则显示总数量
*/
for(let i = 0; i<data.value.packageList.length;i++){
if(allSamplePieceSize.value>data.value.packageList[i].amount){
data.value.packageList[i].sampleAmount = data.value.packageList[i].amount
allSamplePieceSize.value = parseFloat((allSamplePieceSize.value - data.value.packageList[i].amount).toFixed(2))
}else{
data.value.packageList[i].sampleAmount = allSamplePieceSize.value
allSamplePieceSize.value=0
// return;
}
}
// data.value.packageList.forEach(item=>{
// })
dialogVisible.value = true
nextTick(() => {
formMainRef.value.setValues(row)
@ -528,7 +550,12 @@ const submitForm = async () => {
console.log(11,data.value.packageList)
if(data.value.packageList?.length>0){
const validateForm1 = await tableFormRef.value.validateForm()
if (!validateForm1) return
if (!validateForm1) return
let isPass = data.value.packageList.some(cur=>parseFloat(cur.sampleAmount)>parseFloat(cur.amount))
if(isPass){
message.error(`采样数量不能大于数量`)
return
}
// let number = 0
// data.value.packageList.forEach(cur=>{
// number += parseFloat(cur.sampleAmount)
@ -597,8 +624,8 @@ const submitForm = async () => {
(cur, key) => {
console.log(12,cur.qualifiedQuantity)
console.log(13,cur.unqualifiedQuantity)
console.log(14,item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty)
return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty)
console.log(14,item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty)
}
)
)
@ -783,7 +810,7 @@ const resultEntryMethodChange = (e, item) => {
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList = []
if (e == 0) {
// rules.value['inspectionJobCharacteristicsUpdateReqVO.quantifyCapping'][0].required = true
for (let i = 0; i < parseInt(item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty); i++) {
for (let i = 0; i < parseInt(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty); i++) {
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.push({
inspectionValue: '', //
qualitativeCode: '', //

17
src/views/qms/inspection/inspectionJob/detail.vue

@ -11,7 +11,7 @@
</ContentWrap>
<ContentWrap>
<el-tabs v-model="editableTabsValue" class="demo-tabs" type="border-card" tab-position="left" :stretch="false">
<el-tab-pane v-for="item in data.subList" :key="item.name" :label="item.processCode" :name="item.name">
<el-tab-pane v-for="item in data.subList" :key="item.name" :label="item.processDescribe" :name="item.name">
<div class="small-title">检验工序</div>
<el-form :model="item" label-width="auto" ref="formProcessRef">
<el-row :gutter="20">
@ -59,6 +59,21 @@
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="样品份数" prop="inspectionJobCharacteristicsRespVO.sampleQty">
<div style="display: flex; width: 100%">
<el-input v-model="item.inspectionJobCharacteristicsRespVO.sampleQty" disabled placeholder="请输入样品份数" />
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="每份样品量" prop="inspectionJobCharacteristicsRespVO.samplePieceSize">
<div style="display: flex; width: 100%">
<el-input v-model="item.inspectionJobCharacteristicsRespVO.samplePieceSize" disabled placeholder="请输入样品份数" />
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否允许修改特征值" prop="inspectionJobCharacteristicsRespVO.isCanUpdate">
<el-switch v-model="item.inspectionJobCharacteristicsRespVO.isCanUpdate" disabled />

20
src/views/qms/inspection/inspectionRecord/addForm.vue

@ -136,14 +136,20 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
tableSchemas.value.tableFormColumns.map(item=>{
item.tableForm.disabled = true
})
// 1使
if(row.estimateCode == 1){
data.value.useDecision = '1'
}else{
data.value.useDecision =''
}
// ==
if(row.useDecision == 1){
if(data.value.useDecision == 1){
data.value.packageList.forEach(item=>{
item.qualifiedAmount = item.amount
})
}
//
else if(row.useDecision == 2 || row.useDecision == 6){
else if(data.value.useDecision == 2 || data.value.useDecision == 6){
tableSchemas.value.tableFormColumns.map(item=>{
if(item.field == 'noQualifiedAmount'){
item.tableForm.disabled = false
@ -153,20 +159,17 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
})
}
//
else if(row.useDecision == 3){
else if(data.value.useDecision == 3){
data.value.packageList.forEach(item=>{
item.noQualifiedAmount = item.amount
})
}
else if(row.useDecision == 4){
else if(data.value.useDecision == 4){
data.value.packageList.forEach(item=>{
item.frozenAmount = item.amount
})
}
// 1使
if(row.estimateCode == 1){
data.value.useDecision = '1'
}
nextTick(() => {
formMainRef.value.setValues( data.value)
})
@ -241,6 +244,7 @@ const tableFormBlur = (field, val,row)=>{
row.qualifiedAmount = 0
}else{
row.qualifiedAmount = row.amount - val
row.qualifiedAmount = row.qualifiedAmount.toFixed(2)
}
}

96
src/views/qms/inspection/inspectionRecord/detail.vue

@ -76,47 +76,61 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="检验方法"
prop="inspectionRecordCharacteristicsRespVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.inspectionMethodName"
disabled
placeholder="请输入检验方法"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="采样过程"
prop="inspectionRecordCharacteristicsRespVO.inspectionMethod"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.samplingProcessName"
disabled
placeholder="请输入采样过程"
/>
</div>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item
label="动态修改规则编码"
prop="inspectionRecordCharacteristicsRespVO.dynamicUpdateCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.dynamicUpdateName"
disabled
placeholder="请输入动态修改规则编码"
/>
</div>
</el-form-item>
</el-col> -->
<el-form-item
label="检验方法"
prop="inspectionRecordCharacteristicsRespVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.inspectionMethodName"
disabled
placeholder="请输入检验方法"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="采样过程"
prop="inspectionRecordCharacteristicsRespVO.inspectionMethod"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.samplingProcessName"
disabled
placeholder="请输入采样过程"
/>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="采样过程编码" prop="inspectionRecordCharacteristicsRespVO.samplingProcessCode">
<div style="display: flex; width: 100%">
<el-input v-model="item.inspectionRecordCharacteristicsRespVO.samplingProcessName" disabled placeholder="请选择采样过程编码" />
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="样品份数" prop="inspectionRecordCharacteristicsRespVO.sampleQty">
<div style="display: flex; width: 100%">
<el-input v-model="item.inspectionRecordCharacteristicsRespVO.sampleQty" disabled placeholder="请输入样品份数" />
</div>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item
label="动态修改规则编码"
prop="inspectionRecordCharacteristicsRespVO.dynamicUpdateCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionRecordCharacteristicsRespVO.dynamicUpdateName"
disabled
placeholder="请输入动态修改规则编码"
/>
</div>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item
label="是否允许修改特征值"

9
src/views/qms/inspection/inspectionRequest/index.vue

@ -46,11 +46,8 @@
/>
<!-- 详情 -->
<!-- <Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionMain.allSchemas" /> -->
<!-- <Detail ref="detailRef" :isBasic="false" :allSchemas="InspectionMain.allSchemas"
:detailAllSchemas="InspectionRequestPackage.allSchemas" :detailAllSchemasRules="InspectionRequestPackageRules"
:apiPage="InspectionMainApi.getInspectionRequestPackageList"
/> -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionMain.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/request/inspection-main/import" :importTemplateData="importTemplateData"
@ -64,7 +61,7 @@
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionMain, InspectionMainRules,InspectionRequestPackage,InspectionRequestPackageRules } from './inspectionMain.data'
import { InspectionMain, InspectionMainRules,InspectionRequestPackage,InspectionRequestPackageRules } from './inspectionRequestMain.data'
import * as InspectionMainApi from '@/api/qms/inspectionRequest'
import * as InspectionRequestPackageApi from '@/api/qms/inspectionRequest/InspectionRequestPackage'
import * as defaultButtons from '@/utils/disposition/defaultButtons'

123
src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts → src/views/qms/inspection/inspectionRequest/inspectionRequestMain.data.ts

@ -15,10 +15,10 @@ export const InspectionMainRules = reactive({
requestInspectionNum: [required,{ validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}],
referenceCertificateRow: [{ validator:validateInteger, message: '请输入正确的整数', trigger: 'blur'}],
inspectionType: [required],
minPackageQty: [required],
})
export const InspectionMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '申请编码',
field: 'number',
@ -311,15 +311,6 @@ export const InspectionMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
}
},
// {
// label: '检验方案编码',
// field: 'inspectionSchemeCode',
// sort: 'custom',
// isSearch: false,
// table: {
// width: 150
// }
// },
{
label: '检验类型',
field: 'inspectionType',
@ -335,78 +326,38 @@ export const InspectionMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 175
}
},
// {
// label: '检验阶段',
// field: 'inspectionStage',
// sort: 'custom',
// isSearch: false,
// form: {
// component: 'InputNumber',
// value: 0,
// componentProps: {
// disabled: true
// }
// },
// table: {
// width: 130
// }
// },
// {
// label: '检验严格性',
// field: 'inspectionStringency',
// sort: 'custom',
// isSearch: false,
// dictType: DICT_TYPE.INSPECTION_SEVERITY,
// dictClass: 'string',
// form: {
// componentProps: {
// disabled: true
// }
// },
// table: {
// width: 150
// }
// },
// {
// label: '检验申请包装列表',
// field: 'applicationPackageCode',
// sort: 'custom',
// isSearch: false,
// table: {
// width: 150
// }
// },
// {
// label: '检验水平',
// field: 'inspectionLevel',
// dictType: DICT_TYPE.INSPECTION_LEVEL,
// sort: 'custom',
// isSearch: false,
// table: {
// width: 150
// }
// },
// {
// label: 'AQL值',
// field: 'aqlValue',
// sort: 'custom',
// isSearch: false,
// dictType: DICT_TYPE.BASIC_AQL,
// table: {
// width: 150
// }
// },
// {
// label: '是否可用',
// field: 'available',
// sort: 'custom',
// isSearch: false,
// dictType: DICT_TYPE.TRUE_FALSE,
// table: {
// width: 150
// }
// },
{
label: '小包装数',
field: 'minPackageQty',
sort: 'custom',
isSearch: false,
form: {
component: 'InputNumber',
value: 0
},
table: {
width: 150
}
}, {
label: '检验水平',
field: 'inspectionLevel',
sort: 'custom',
dictType: DICT_TYPE.INSPECTION_LEVEL,
dictClass: 'string',
table: {
width: 150
},
isSearch: true,
}, {
label: 'aql',
field: 'aql',
sort: 'custom',
dictType: DICT_TYPE.BASIC_AQL,
dictClass: 'string',
table: {
width: 150
}
}, {
label: '操作',
field: 'action',
isForm: false,
@ -498,15 +449,5 @@ export const InspectionRequestPackage = useCrudSchemas(reactive<CrudSchema[]>([
table:{
width:150
}
},
{
label: '操作',
field: 'action',
isForm: false,
isTable:true,
table: {
width: 120,
fixed: 'right'
}
}
]))

11
src/views/qms/sampleCode/sampleCode.data.ts

@ -7,9 +7,14 @@ import {validateNum} from "@/utils/validator";
export const SampleCodeRules = reactive({
code: [required],
batchLowLimiting: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}],
batchUpperLimiting: [
{ required:true, message: '该项为必填', trigger: 'blur'},
{ validator:validateNum, message: '请输入整数', trigger: 'blur'}],
batchUpperLimiting: [{ required:true, message: '该项为必填', trigger: 'blur'}, { validator:validateNum, message: '请输入整数', trigger: 'blur'}],
s1: [{ required }],
s2: [{ required }],
s3: [{ required }],
s4: [{ required }],
g1: [{ required }],
g2: [{ required }],
g3: [{ required }]
})
const samplingSchemeList = await getSamplingScheme()
export const SampleCode = useCrudSchemas(reactive<CrudSchema[]>([

52
src/views/qms/samplingProcess/index.vue

@ -256,43 +256,47 @@ const importSuccess = () => {
}
const updateFormFields = (sampleType, formRef) => {
let sampleSizeLabel = '';
let sampleSizeDisabled = false;
let sampleQtyLabel = '';
let sampleQtyDisabled = false;
let sampleProgCodeDisabled = true;
let sampleSizeRequired = false;
let sampleQtyRequired = false;
let sampleProgCodeRequired = false;
switch (sampleType) {
case '1':
sampleSizeLabel = '样品量';
sampleSizeDisabled = true;
if( SamplingProcessRules.sampleSize.length==3){
SamplingProcessRules.sampleSize.pop()
sampleQtyLabel = '样品份数';
sampleQtyDisabled = true;
sampleQtyRequired = false;
if( SamplingProcessRules.sampleQty.length==3){
SamplingProcessRules.sampleQty.pop()
}
break;
case '2':
sampleSizeLabel = '样品量(%)';
sampleSizeRequired = true;
if( SamplingProcessRules.sampleSize.length==2){
SamplingProcessRules.sampleSize.push({
sampleQtyLabel = '样品份数(%)';
sampleQtyDisabled = false;
sampleQtyRequired = true;
if( SamplingProcessRules.sampleQty.length==2){
SamplingProcessRules.sampleQty.push({
validator:validatePercent, message: '百分比范围 0 ~ 100', trigger: 'blur'
})
}
break;
case '3':
sampleSizeLabel = '样品量';
sampleSizeRequired = true;
if( SamplingProcessRules.sampleSize.length==3){
SamplingProcessRules.sampleSize.pop()
sampleQtyLabel = '样品份数';
sampleQtyDisabled = false;
sampleQtyRequired = true;
if( SamplingProcessRules.sampleQty.length==3){
SamplingProcessRules.sampleQty.pop()
}
break;
case '4':
sampleSizeLabel = '样品量';
sampleSizeDisabled = true;
sampleQtyLabel = '样品份数';
sampleQtyDisabled = true;
sampleQtyRequired = false;
sampleProgCodeDisabled = false;
sampleProgCodeRequired = true;
if( SamplingProcessRules.sampleSize.length==3){
SamplingProcessRules.sampleSize.pop()
if( SamplingProcessRules.sampleQty.length==3){
SamplingProcessRules.sampleQty.pop()
}
break;
default:
@ -300,20 +304,20 @@ const updateFormFields = (sampleType, formRef) => {
}
SamplingProcess.allSchemas.formSchema.forEach(item => {
if (item.field === 'sampleSize') {
item.label = sampleSizeLabel;
item.componentProps.disabled = sampleSizeDisabled;
if (item.field === 'sampleQty') {
item.label = sampleQtyLabel;
item.componentProps.disabled = sampleQtyDisabled;
}
if (item.field === 'sampleProgCode') {
item.componentProps.disabled = sampleProgCodeDisabled;
}
});
SamplingProcessRules.sampleSize[0].required = sampleSizeRequired;
SamplingProcessRules.sampleQty[0].required = sampleQtyRequired;
SamplingProcessRules.sampleProgCode[0].required = sampleProgCodeRequired;
formRef.value.setValues({
sampleSize: '',
sampleQty: '',
sampleProgCode: '',
});
};

45
src/views/qms/samplingProcess/samplingProcess.data.ts

@ -8,7 +8,7 @@ export const SamplingProcessRules = reactive({
sampleType: [required],
evaluationMode: [required],
description: [required],
sampleSize:ref([{ required: true, message: '该项为必填项', trigger: 'blur' },{validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}]),
sampleQty:ref([{ required: true, message: '该项为必填项', trigger: 'blur' },{validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}]),
sampleProgCode:ref([{ required: true, message: '该项为必填项', trigger: 'blur' }]),
inspectionQty: [required, {validator:validateInteger, message: '请输入正确的整数', trigger: 'blur'}]
})
@ -29,10 +29,7 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
label: '描述',
field: 'description',
sort: 'custom',
isSearch: true,
table: {
width: 175
}
isSearch: true
},
{
label: '取样类型',
@ -43,39 +40,22 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true,
form: {
component: 'Select'
},
table: {
width: 140
}
},
{
label: '评估模式',
field: 'evaluationMode',
sort: 'custom',
dictType: DICT_TYPE.EVALUATION_MODE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
form: {
component: 'Select'
},
table: {
width: 140
}
},
{
label: '样品量',
field: 'sampleSize',
sort: 'custom',
table: {
width: 140
dictType: DICT_TYPE.EVALUATION_MODE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
form: {
component: 'Select'
}
},
{
label: '样品份数',
field: 'inspectionQty',
sort: 'custom',
table: {
width: 140
}
field: 'sampleQty',
sort: 'custom'
},
{
label: '采样方案编码',
@ -90,9 +70,6 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
valueField: 'code'
},
}
},
table: {
width: 175
}
},
{
@ -112,9 +89,6 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
table: {
width: 175
}
},
{
@ -130,9 +104,6 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
table: {
width: 110
}
},
{

2
src/views/wms/basicDataManage/itemManage/itemarea/index.vue

@ -143,6 +143,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
setV['itemCode'] = val[0]['code']
}else if(formField == 'overflowLocationCode') {
setV['overflowLocationCode'] = val[0]['code']
}else if(formField == 'repleinshFromArea') {
setV['repleinshFromArea'] = val[0]['code']
}else{
setV[formField] = setV[0][searchField]
}

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

@ -82,7 +82,7 @@ export const Packageunit = useCrudSchemas(reactive<CrudSchema[]>([
label: '单位',
field: 'unit',
sort: 'custom',
dictType: DICT_TYPE.PACK_UNIT,
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: false,
table: {

4
src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts

@ -94,9 +94,9 @@ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '包装单位',
label: '计量单位', // 发料申请 与当前物料计量单位做匹配 : 原PACK_UNIT 修改:UOM
field: 'uom',
dictType: DICT_TYPE.PACK_UNIT,
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',

162
src/views/wms/deliversettlementManage/customerreceipt/customerreceiptRecordMain/customerreceiptRecordMain.data.ts

@ -40,6 +40,19 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 180
},
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
},
{
label: '客户代码',
field: 'customerCode',
@ -55,6 +68,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承运商',
@ -63,6 +77,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '运输方式',
@ -71,6 +86,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '车牌号',
@ -79,6 +95,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '申请时间',
@ -91,6 +108,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -111,6 +129,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -131,6 +150,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -151,6 +171,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -168,6 +189,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -176,13 +198,14 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -195,13 +218,14 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -214,6 +238,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '出库事务类型',
@ -222,6 +247,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -230,6 +256,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '业务类型',
@ -238,6 +265,8 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '部门',
@ -246,13 +275,14 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -265,6 +295,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -277,6 +308,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -293,6 +325,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false
},
// {
// label: '代码',
@ -308,7 +341,7 @@ export const CustomerreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -396,6 +429,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
},
// {
// label: '销售订单号',
@ -436,6 +470,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain:true,
},
{
label: '物料描述2',
@ -444,107 +479,138 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain:true,
},
{
label: '批次',
field: 'fromBatch',
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到批次',
field: 'toBatch',
label: '包装代码',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '包装号',
// field: 'packingNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '从包装号',
field: 'fromPackingNumber',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到包装号',
field: 'toPackingNumber',
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '从器具号',
field: 'fromContainerNumber',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到器具号',
field: 'toContainerNumber',
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '数量',
field: 'qty',
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
label: '从批次',
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '到批次',
field: 'toBatch',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '从包装号',
field: 'fromPackingNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '到包装号',
field: 'toPackingNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '到器具号',
field: 'toContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -559,7 +625,9 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
},
form: {
component: 'InputNumber',
}
},
isTable: false,
},
{
label: '金额',
@ -568,6 +636,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
@ -579,6 +648,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '到库位组代码',
@ -587,6 +657,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码',
@ -595,6 +666,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码',
@ -603,6 +675,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '从货主代码',
@ -611,6 +684,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '到货主代码',
@ -619,6 +693,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '项目代码',
@ -627,6 +702,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
// {
// label: '任务明细ID',
@ -649,7 +725,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -662,6 +738,8 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -674,6 +752,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -690,6 +769,7 @@ export const CustomerreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
},
]))

89
src/views/wms/deliversettlementManage/customerreceipt/customerreceiptRequestMain/customerreceiptRequestMain.data.ts

@ -38,30 +38,30 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isSearch: true,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
label: '发货记录单号',
field: 'deliverRecordNumber',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '发货记录单号',
field: 'deliverRecordNumber',
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -83,6 +83,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '承运商',
@ -91,6 +92,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '运输方式',
@ -99,6 +101,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '车牌号',
@ -107,6 +110,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
sortTableDefault:1000,
},
{
label: '申请时间',
@ -119,6 +123,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -139,6 +144,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -156,6 +162,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -165,13 +172,14 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -183,7 +191,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
isForm: false,
table: {
@ -195,6 +203,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'fromAreaCodes',
sort: 'custom',
isForm: false,
isTable: false,
table: {
width: 150
},
@ -204,6 +213,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'toAreaCodes',
sort: 'custom',
isForm: false,
isTable: false,
table: {
width: 150
},
@ -215,13 +225,15 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isForm: false
isForm: false,
isTable: false,
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
isTable: false,
table: {
width: 150
},
@ -255,7 +267,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -276,7 +288,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -297,7 +309,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -353,6 +365,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
valueFormat: 'x',
}
},
isTable: false,
isForm: false
},
{
@ -370,6 +383,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
valueFormat: 'x',
}
},
isTable: false,
isForm: false
},
{
@ -391,6 +405,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
valueFormat: 'x',
}
},
isTable: false,
isForm: false
},
{
@ -400,6 +415,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -468,6 +484,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 180
},
isTable: false,
isTableForm: false,
form: {
componentProps: {
@ -516,6 +533,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain:true,
},
{
label: '物料描述2',
@ -524,6 +542,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain:true,
},
{
label: '批次',
@ -534,13 +553,29 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
},
},
{
label: '包装',
label: '包装代码',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
@ -548,6 +583,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false
},
{
label: '数量',
@ -572,7 +608,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
},
},
{
label: '从库位代码',
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
@ -580,7 +616,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
},
},
{
label: '到库位代码',
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
table: {
@ -592,7 +628,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -605,6 +641,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false
},
{
label: '从货主代码',
@ -613,6 +650,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false
},
{
label: '到货主代码',
@ -621,6 +659,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false
},
{
label: '备注',
@ -629,6 +668,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false
},
{
label: '创建时间',
@ -641,6 +681,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -659,6 +700,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -673,6 +715,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -691,6 +734,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -703,6 +747,7 @@ export const CustomerreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]
width: 150,
fixed: 'right'
},
hiddenInMain:true,
isTableForm:false,
}
]))

7
src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts

@ -552,9 +552,9 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
//表单校验
export const CustomerreturnRequestMainRules = reactive({
// deliverRecordNumber: [
// { required: true, message: '请选择发货记录单号', trigger: 'change' }
// ],
deliverRecordNumber: [
{ required: true, message: '请选择发货记录单号', trigger: 'change' }
],
customerCode: [
{ required: true, message: '请选择客户代码', trigger: 'blur' }
],
@ -1051,6 +1051,7 @@ export const CustomerreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
fixed: 'right'
},
isTableForm:false,
hiddenInMain:true
}
]))

157
src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts

@ -15,6 +15,15 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true,
},
{
label: '申请单号',
field: 'requestNumber',
sort: 'custom',
table: {
width: 180
},
isSearch: true,
},
{
label: '状态',
field: 'status',
@ -28,64 +37,60 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '申请单号',
field: 'requestNumber',
sort: 'custom',
table: {
width: 180
},
isSearch: true,
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',
label: '客户代码',
field: 'customerCode',
sort: 'custom',
table: {
width: 180
width: 150
},
},
{
label: '客户发货单号',
field: 'customerDeliverNumber',
label: '发货月台',
field: 'deliverDock',
sort: 'custom',
table: {
width: 180
width: 150
},
},
{
label: '客户代码',
field: 'customerCode',
label: '发货类型',
field: 'deliverType',
sort: 'custom',
dictType: DICT_TYPE.DELIVER_TYPE,
dictClass: 'string',
table: {
width: 150
},
},
{
label: '客户月台代码',
field: 'customerDockCode',
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
},
{
label: '发货月台',
field: 'deliverDock',
label: '客户发货单号',
field: 'customerDeliverNumber',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
},
{
label: '发货类型',
field: 'deliverType',
label: '客户月台代码',
field: 'customerDockCode',
sort: 'custom',
dictType: DICT_TYPE.DELIVER_TYPE,
dictClass: 'string',
table: {
width: 150
},
isTable: false,
},
{
label: '承运商',
field: 'carrierCode',
@ -93,6 +98,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '运输方式',
@ -102,6 +108,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '车牌号',
@ -110,6 +117,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '申请时间',
@ -122,6 +130,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -142,6 +151,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -162,6 +172,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -178,6 +189,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -186,13 +198,14 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -203,7 +216,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -216,6 +229,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -224,6 +238,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从月台代码',
@ -232,6 +247,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
// {
// label: '状态',
@ -248,6 +264,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
@ -259,6 +276,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
@ -270,6 +288,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '部门',
@ -278,13 +297,14 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '自动完成',
field: 'autoComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -303,7 +323,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -322,7 +342,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -341,7 +361,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowBiggerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -360,7 +380,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowSmallerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -379,7 +399,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyInventoryStatus',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -398,7 +418,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowContinuousScanning',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -417,7 +437,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowPartialComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -436,7 +456,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyBatch',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -455,7 +475,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyPackingNumber',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -476,6 +496,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接时间',
@ -488,6 +509,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -504,6 +526,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '完成时间',
@ -516,6 +539,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -532,6 +556,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -544,6 +569,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -560,6 +586,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '最后更新时间',
@ -572,6 +599,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -588,6 +616,7 @@ export const DeliverJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '操作',
@ -676,6 +705,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false
},
// {
// label: '销售订单号',
@ -716,6 +746,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
@ -724,6 +755,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '批次',
@ -733,22 +765,6 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '数量',
field: 'qty',
@ -772,7 +788,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '在途库位',
label: '在途库位',
field: 'onTheWayLocationCode',
sort: 'custom',
table: {
@ -780,7 +796,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '从库位代码',
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
@ -788,19 +804,37 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '到库位代码',
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -813,6 +847,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '项目代码',
@ -821,6 +856,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -829,6 +865,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -841,6 +878,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -857,6 +895,7 @@ export const DeliverJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
]))

169
src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts

@ -33,16 +33,38 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',
label: '发货记录单号',
field: 'deliverRecordNumber',
sort: 'custom',
table: {
width: 180
width: 150
},
isSearch: true,
},
// {
// label: '发货计划单号',
// field: 'deliverPlanNumber',
// sort: 'custom',
// table: {
// width: 180
// },
// },
// {
// label: '客户发货单号',
// field: 'customerDeliverNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '客户发货单号',
field: 'customerDeliverNumber',
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -64,6 +86,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承运商',
@ -72,6 +95,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '运输方式',
@ -80,6 +104,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '车牌号',
@ -88,6 +113,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '申请时间',
@ -100,6 +126,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -120,6 +147,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -140,6 +168,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -160,6 +189,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -177,6 +207,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -185,13 +216,14 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -202,7 +234,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -215,6 +247,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -223,6 +256,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从月台代码',
@ -231,6 +265,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '出库事务类型',
@ -239,6 +274,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -247,6 +283,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '业务类型',
@ -255,6 +292,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '部门',
@ -263,13 +301,14 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -282,6 +321,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -294,6 +334,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -310,6 +351,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
// {
// label: '代码',
@ -325,7 +367,7 @@ export const DeliverRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -413,6 +455,7 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false
},
// {
// label: '销售订单号',
@ -453,6 +496,7 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
@ -461,6 +505,7 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '批次',
@ -479,16 +524,8 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到器具号',
field: 'toContainerNumber',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
@ -517,117 +554,144 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '在途库库位',
field: 'onTheWayLocationCode',
label: '单价',
field: 'singlePrice',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '金额',
field: 'amount',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '在途库库位',
field: 'onTheWayLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库位组代码',
label: '从库位组',
field: 'fromLocationGroupCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到库位组代码',
label: '到库位组',
field: 'toLocationGroupCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从库区代码',
label: '从库区',
field: 'fromAreaCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到库区代码',
label: '到库区',
field: 'toAreaCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从货主代码',
field: 'fromOwnerCode',
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '到货主代码',
field: 'toOwnerCode',
label: '到器具号',
field: 'toContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '项目代码',
field: 'projectCode',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: false,
sort: 'custom',
table: {
width: 150
},
},
{
label: '单价',
field: 'singlePrice',
label: '从货主代码',
field: 'fromOwnerCode',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
isTable: false,
},
{
label: '金额',
field: 'amount',
label: '到货主代码',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
isTable: false,
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -636,13 +700,14 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -659,6 +724,7 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -675,6 +741,7 @@ export const DeliverRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
// {
// label: '任务明细ID',

221
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts

@ -5,7 +5,8 @@ import { dateFormatter } from '@/utils/formatTime'
import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
import * as DeliverPlanMainApi from '@/api/wms/deliverPlanMain'
import { DeliverPlanMain } from '../../deliverplan/deliverPlanMain/deliverPlanMain.data'
import * as DeliverPlanDetailApi from '@/api/wms/deliverPlanDetail'
import { DeliverPlanMain ,DeliverPlanDetail} from '../../deliverplan/deliverPlanMain/deliverPlanMain.data'
import * as CustomerItemApi from '@/api/wms/customeritem'
import { Customeritem } from '@/views/wms/basicDataManage/customerManage/customeritem/customeritem.data'
@ -69,44 +70,6 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
table: {
width: 180
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择发货计划单号', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段
searchTitle: '发货计划信息', // 查询弹窗标题
searchAllSchemas: DeliverPlanMain.allSchemas, // 查询弹窗所需类
searchPage: DeliverPlanMainApi.getDeliverPlanMainPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},
{
key: 'status',
value: '6',
isMainValue: false
}]
}
}
},
{
label: '客户发货单号',
field: 'customerDeliverNumber',
sort: 'custom',
table: {
width: 180
},
isForm: false,
},
{
label: '客户代码',
field: 'customerCode',
@ -118,7 +81,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
disabled: true,
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
@ -134,7 +97,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '客户月台代码',
label: '客户月台',
field: 'customerDockCode',
sort: 'custom',
table: {
@ -174,6 +137,47 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
table: {
width: 180
},
isTable:false,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择发货计划单号', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段
searchTitle: '发货计划信息', // 查询弹窗标题
searchAllSchemas: DeliverPlanDetail.allSchemas, // 查询弹窗所需类
searchPage: DeliverPlanDetailApi.getDeliverPlanDetailPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},
{
key: 'status',
value: '6',
isMainValue: false
}]
}
}
},
{
label: '客户发货单号',
field: 'customerDeliverNumber',
sort: 'custom',
table: {
width: 180
},
isTable:false,
isForm: false,
},
{
label: '承运商',
field: 'carrierCode',
@ -181,6 +185,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
@ -207,6 +212,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
},
{
label: '车牌号',
@ -215,6 +221,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
},
{
label: '申请时间',
@ -227,6 +234,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable:false,
form: {
component: 'DatePicker',
componentProps: {
@ -249,6 +257,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable:false,
form: {
component: 'DatePicker',
componentProps: {
@ -266,6 +275,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
isForm: false,
},
{
@ -275,6 +285,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
isForm: false,
},
{
@ -282,7 +293,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable:false,
sort: 'custom',
table: {
width: 150
@ -294,7 +305,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable:false,
sort: 'custom',
table: {
width: 150
@ -308,6 +319,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
isForm: false,
},
{
@ -317,6 +329,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
isForm: false,
},
{
@ -326,6 +339,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
isForm: false,
},
{
@ -335,6 +349,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
form: {
value: 'Deliver',
componentProps: {
@ -351,6 +366,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable:false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -372,7 +388,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -393,7 +409,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -414,7 +430,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -471,6 +487,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -489,6 +506,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -502,6 +520,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -520,6 +539,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -582,6 +602,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isTableForm: false,
form: {
componentProps: {
@ -671,6 +692,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
tableForm:{
multiple:true,
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode',
@ -724,6 +746,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true,
isForm: false,
isTableForm: false
},
@ -734,39 +757,10 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true,
isForm: false,
isTableForm: false
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '数量',
field: 'qty',
@ -808,7 +802,34 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '到库位代码',
label: '承运商',
field: 'carrierCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '运输方式',
field: 'transferMode',
sort: 'custom',
dictType: DICT_TYPE.TRANSFER_MODE,
dictClass: 'string',
table: {
width: 150
},
},
{
label: '到仓库',
field: 'toWarehouseCode',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
table: {
@ -866,6 +887,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
tableForm: {
type: 'Select'
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
@ -876,9 +898,44 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true,
isForm: false,
isTableForm: false
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '从货主代码',
field: 'fromOwnerCode',
@ -886,6 +943,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
isTableForm: false
},
@ -896,6 +954,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
@ -906,6 +965,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '计划数量',
@ -914,6 +974,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
tableForm: {
disabled: true
},
@ -926,6 +987,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
tableForm: {
disabled: true
},
@ -942,6 +1004,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -961,6 +1024,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -975,6 +1039,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -994,6 +1059,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -1006,6 +1072,7 @@ export const DeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150,
fixed: 'right'
},
hiddenInMain:true,
isTableForm:false,
}
]))

109
src/views/wms/deliversettlementManage/deliver/deliverRequestMain/index.vue

@ -43,6 +43,8 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn="itemCode"
@success="getList"
:rules="DeliverRequestMainRules"
:formAllSchemas="DeliverRequestMain.allSchemas"
@ -119,9 +121,18 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
nextTick(() => {
if (type == 'tableForm') {
if(formField == 'itemCode') {
row['itemCode'] = val[0]['itemCode']
row['uom'] = val[0]['customerUom']
}else {
const tableFormKeys = {}
DeliverRequestDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
console.log('tableData.value',tableData.value)
val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['uom'] = item['customerUom']
tableData.value.push(newRow)
})
}else{
row[formField] = val[0][searchField]
}
} else {
@ -129,54 +140,54 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
setV[formField] = val[0][searchField]
if(formField == 'deliverPlanNumber') {
setV['deliverPlanNumber'] = val[0]['number']
if(setV['deliverPlanNumber'] != null){
isShowButton.value = false
}
// if(setV['deliverPlanNumber'] != null){
// isShowButton.value = false
// }
setV['customerCode'] = val[0]['customerCode']
// getBomDisassemble
DeliverPlanDetailApi.selectDetailByMasterID(val[0]['id'])
.then(res => {
res.forEach(item => {
item.qty = item.planQty
})
if (res) tableData.value = res
// tableform
DeliverRequestDetail.allSchemas.tableFormColumns.map(item => {
if(item.field == 'itemCode') {
item.isInpuFocusShow = false
item.tableForm.isInpuFocusShow = false
item.tableForm.disabled = true
}
if(item.field == 'uom') {
item.tableForm.disabled = true
}
})
// tableform
if(formField == 'customerCode'){
console.log(1111,val);
customerCode.value = val[0]['code']
console.log(11112,customerCode.value);
}
DeliverRequestMain.allSchemas.tableFormColumns.map(item => {
if(item.field == 'customerDockCode') {
item.tableForm.searchCondition = [
{
key: 'customerCode',
value: customerCode.value ,
isMainValue: true
}]
item.form.componentProps.searchCondition = [
{
key: 'customerCode',
value: customerCode.value ,
isMainValue: true
}]}
else {
delete item.tableForm.searchCondition
delete item.form.componentProps.searchCondition
}
})
})
// DeliverPlanDetailApi.selectDetailByMasterID(val[0]['id'])
// .then(res => {
// res.forEach(item => {
// item.qty = item.planQty
// })
// if (res) tableData.value = res
// // tableform
// DeliverRequestDetail.allSchemas.tableFormColumns.map(item => {
// if(item.field == 'itemCode') {
// item.isInpuFocusShow = false
// item.tableForm.isInpuFocusShow = false
// item.tableForm.disabled = true
// }
// if(item.field == 'uom') {
// item.tableForm.disabled = true
// }
// })
// // tableform
// if(formField == 'customerCode'){
// console.log(1111,val);
// customerCode.value = val[0]['code']
// console.log(11112,customerCode.value);
// }
// DeliverRequestMain.allSchemas.tableFormColumns.map(item => {
// if(item.field == 'customerDockCode') {
// item.tableForm.searchCondition = [
// {
// key: 'customerCode',
// value: customerCode.value ,
// isMainValue: true
// }]
// item.form.componentProps.searchCondition = [
// {
// key: 'customerCode',
// value: customerCode.value ,
// isMainValue: true
// }]}
// else {
// delete item.tableForm.searchCondition
// delete item.form.componentProps.searchCondition
// }
// })
// })
if(formField == 'itemCode'){
console.log( val[0]);
row['uom'] = val[0]['customerUom']

264
src/views/wms/deliversettlementManage/deliverplan/deliverPlanMain/deliverPlanMain.data.ts

@ -52,6 +52,18 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true
},
{
label: '状态',
field: 'status',
sort: 'custom',
table: {
width: 150
},
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
},
{
label: '客户代码',
field: 'customerCode',
@ -63,6 +75,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
@ -77,6 +90,51 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '客户月台',
field: 'customerDockCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: true,
// tableForm:{
// isInpuFocusShow: true, // 开启查询弹窗
// searchListPlaceholder: '请选择客户月台代码',
// searchField: 'code',
// searchTitle: '客户月台基础信息',
// searchAllSchemas: Customerdock.allSchemas,
// searchPage: CustomerDockApi.pageCustomerCodeToCustomerDock,
// searchCondition: [{
// key: 'available',
// value: 'TRUE',
// },{
// key: 'customerCode',
// value: 'customerCode',
// isMainValue: true
// }]
// },
form: {
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择客户月台代码',
searchField: 'code',
searchTitle: '客户月台基础信息',
searchAllSchemas: Customerdock.allSchemas,
searchPage: CustomerDockApi.pageCustomerCodeToCustomerDock,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'customerCode',
value: 'customerCode',
isMainValue: true
}]
}
},
},
{
label: '发货类型',
field: 'deliverType',
@ -116,16 +174,9 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
field: 'createTime',
@ -137,6 +188,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -154,6 +206,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -167,6 +220,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -187,6 +241,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -196,25 +251,13 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '状态',
field: 'status',
sort: 'custom',
table: {
width: 150
},
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -229,12 +272,21 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '自动提交',
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -255,7 +307,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -276,7 +328,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -299,6 +351,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -312,6 +365,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -413,6 +467,35 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
// }
// }
// },
{
label: '客户代码',
field: 'customerCode',
sort: 'custom',
table: {
width: 150
},
isTable:false,
isTableForm: false,
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择客户代码',
searchField: 'code',
searchTitle: '客户信息',
searchAllSchemas: Customer.allSchemas,
searchPage: CustomerApi.getCustomerPage
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择客户代码',
searchField: 'code',
searchTitle: '客户信息',
searchAllSchemas: Customer.allSchemas,
searchPage: CustomerApi.getCustomerPage
}
}
},
{
label: '客户月台',
field: 'customerDockCode',
@ -420,6 +503,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTableForm: false,
tableForm:{
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户月台代码',
@ -456,30 +540,6 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '项目',
field: 'project',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
isTableForm: false,
form: {
componentProps: {
disabled: true
}
}
},
{
label: '物料代码',
field: 'itemCode',
@ -488,6 +548,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
tableForm:{
multiple:true,
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode',
@ -524,6 +585,55 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '计划数量',
field: 'planQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true,
type: 'Select'
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '到仓库代码',
field: 'toWarehouseCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
},
{
label: '到库位代码',
field: 'toLocationCode',
@ -570,6 +680,34 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '项目',
field: 'project',
sort: 'custom',
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
isTable: false,
isTableForm: false,
form: {
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -577,6 +715,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -589,6 +728,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -607,6 +747,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
@ -617,6 +758,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
componentProps: {
@ -630,26 +772,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true,
type: 'Select'
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
field: 'updateTime',
@ -661,6 +784,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -679,6 +803,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
@ -687,7 +812,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -712,6 +837,7 @@ export const DeliverPlanDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150,
fixed: 'right'
},
hiddenInMain: true,
isTableForm:false,
}
]))

12
src/views/wms/deliversettlementManage/deliverplan/deliverPlanMain/index.vue

@ -42,6 +42,8 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn="itemCode"
:rules="DeliverPlanMainRules"
:formAllSchemas="DeliverPlanMain.allSchemas"
:tableAllSchemas="DeliverPlanDetail.allSchemas"
@ -124,8 +126,16 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
})
if (type == 'tableForm') {
if(formField == 'itemCode') {
row['uom'] = val[0]['customerUom']
val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['uom'] = item['customerUom']
tableData.value.push(newRow)
})
}
// if(formField == 'itemCode') {
// row['uom'] = val[0]['customerUom']
// }
//
row[formField] = val[0][searchField]
} else {

103
src/views/wms/deliversettlementManage/stockup/stockupMainJob/stockupMainJob.data.ts

@ -17,7 +17,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '发货记录单号',
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
isForm: false,
@ -33,24 +33,27 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false
},
{
label: '从仓库代码',
label: '从仓库',
field: 'fromWarehouseCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
sortTableDefault:1000
},
{
label: '到仓库代码',
label: '到仓库',
field: 'toWarehouseCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
sortTableDefault:1000
},
{
label: '状态',
@ -58,7 +61,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -73,6 +76,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -97,6 +101,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -122,6 +127,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -142,11 +148,13 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isTable: false,
},
{
label: '承接人用户名',
field: 'acceptUserName',
sort: 'custom',
isTable: false,
table: {
width: 150
},
@ -159,6 +167,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -182,6 +191,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '完成时间',
@ -191,6 +201,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -212,7 +223,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -224,7 +235,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -235,17 +246,19 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
label: '业务类型',
field: 'businessType',
sort: 'custom',
form: {
component: 'SelectV2'
},
table: {
width: 120
},
isTable: false,
form: {
component: 'SelectV2'
},
table: {
width: 120
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isTable: false,
},
{
label: '自动完成',
@ -254,6 +267,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
isTable: false,
},
{
label: '允许修改库位',
@ -262,6 +276,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '允许修改数量',
@ -270,6 +285,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '允许大于推荐数量',
@ -278,6 +294,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '允许小于推荐数量',
@ -286,6 +303,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '允许修改库存状态',
@ -294,6 +312,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'Radio'
},
@ -305,6 +324,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '允许部分完成',
@ -313,6 +333,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '允许修改批次',
@ -321,6 +342,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '允许修改箱码',
@ -329,6 +351,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -337,6 +360,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -345,6 +369,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库库存状态范围',
@ -353,6 +378,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '出库库存状态范围',
@ -361,6 +387,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '创建者',
@ -369,6 +396,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
isTable: false,
},
{
label: '创建时间',
@ -378,6 +406,7 @@ export const StockupMainJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -412,6 +441,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '包装号',
@ -421,6 +451,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '批次',
@ -430,6 +461,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '库存状态',
@ -439,6 +471,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'Radio'
},
hiddenInMain:true,
table: {
width: 120
},
@ -451,6 +484,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain:true,
},
{
label: '器具号',
@ -460,27 +494,11 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain:true,
},
{
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
},
{
label: '到库位代码',
field: 'toLocationCode',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
},
{
label: '物品代码',
label: '物料代码',
field: 'itemCode',
sort: 'custom',
isSearch: true,
@ -505,6 +523,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain:true,
},
{
label: '物品描述2',
@ -514,6 +533,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain:true,
},
{
label: '项目代码',
@ -523,6 +543,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain:true,
},
{
label: '数量',
@ -550,11 +571,30 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
},
{
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true,
hiddenInMain:true,
},
{
label: '创建时间',
@ -562,6 +602,7 @@ export const StockupDetailJob = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
hiddenInMain:true,
search: {
component: 'DatePicker',
componentProps: {

62
src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts

@ -17,7 +17,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '发货记录单号',
label: '发货计划单号',
field: 'deliverPlanNumber',
sort: 'custom',
isForm: false,
@ -33,6 +33,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '任务单号',
@ -42,22 +43,25 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
},
{
label: '从仓库代码',
label: '从仓库',
field: 'fromWarehouseCode',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:1000
},
{
label: '到仓库代码',
label: '到仓库',
field: 'toWarehouseCode',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:1000
},
{
label: '出库事务类型',
@ -65,7 +69,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
table: {
width: 150
},
@ -76,7 +80,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'inTransactionType',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -88,7 +92,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 180
@ -99,6 +103,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaCodes',
sort: 'custom',
isSearch: true,
isTable: false,
table: {
width: 180
},
@ -108,7 +113,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 180
@ -118,6 +123,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '到库区代码范围',
field: 'toAreaCodes',
sort: 'custom',
isTable: false,
table: {
width: 180
},
@ -138,6 +144,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -157,6 +164,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -174,6 +182,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -199,6 +208,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -223,6 +233,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isForm: false,
},
{
@ -232,13 +243,14 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -251,13 +263,14 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -278,6 +291,7 @@ export const StockupMainRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 100
},
isTable: false,
},
{
label: '操作',
@ -303,6 +317,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true
},
{
label: '包装号',
@ -312,6 +327,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '批次',
@ -321,6 +337,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从器具号',
@ -330,9 +347,10 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物代码',
label: '物代码',
field: 'itemCode',
sort: 'custom',
isSearch: true,
@ -357,6 +375,8 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物品描述2',
@ -366,6 +386,8 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '项目代码',
@ -375,6 +397,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '数量',
@ -406,6 +429,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从货主代码',
@ -415,9 +439,10 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库位代码',
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
isSearch: true,
@ -433,6 +458,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库区代码',
@ -442,6 +468,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到货主代码',
@ -451,6 +478,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到器具号',
@ -460,9 +488,10 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到库位代码',
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
isSearch: true,
@ -475,6 +504,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toLocationGroupCode',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
table: {
width: 150
},
@ -484,6 +514,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaCode',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
table: {
width: 150
},
@ -493,6 +524,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'singlePrice',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
table: {
width: 150
},
@ -502,6 +534,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'amount',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
table: {
width: 150
},
@ -512,6 +545,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
hiddenInMain: true,
sort: 'custom',
table: {
width: 150
@ -524,6 +558,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
hiddenInMain: true,
sort: 'custom',
table: {
width: 150
@ -546,6 +581,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
search: {
component: 'DatePicker',
componentProps: {
@ -561,6 +597,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
field: 'remark',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
table: {
width: 150
},
@ -569,6 +606,7 @@ export const StockupDetailRecord = useCrudSchemas(reactive<CrudSchema[]>([
label: '操作',
field: 'action',
isForm: false,
hiddenInMain: true,
table: {
width: 150,
fixed: 'right'

15
src/views/wms/deliversettlementManage/stockup/stockupMainRequest/index.vue

@ -43,6 +43,8 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn = "itemCode"
@success="getList"
:rules="StockupMainRequestRules"
:formAllSchemas="StockupMainRequest.allSchemas"
@ -119,9 +121,18 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
const setV = {}
setV[formField] = val[0][searchField]
if (type == 'tableForm') {
// if(formField == 'itemCode') {
// row['itemCode'] = val[0]['code']
// row['uom'] = val[0]['uom']
// }
if(formField == 'itemCode') {
row['itemCode'] = val[0]['code']
row['uom'] = val[0]['uom']
val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['uom'] = item['uom']
newRow['itemCode'] = item['code']
tableData.value.push(newRow)
})
}
if(formField == 'toLocationCode'){
row['toLocationCode'] = val[0]['code']

58
src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts

@ -81,13 +81,14 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '从仓库代码',
label: '从仓库',
field: 'fromWarehouseCode',
sort: 'custom',
isSearch: false,
table: {
width: 120
},
sortTableDefault:1000,
// form: {
// // labelMessage: '信息提示说明!!!',
// componentProps: {
@ -107,7 +108,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '到仓库代码',
label: '到仓库',
field: 'toWarehouseCode',
sort: 'custom',
isSearch: false,
@ -115,13 +116,15 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
width: 120
},
isForm: false,
sortTableDefault:1000,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -136,6 +139,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 160
},
isTable: false,
isForm: false
},
{
@ -143,6 +147,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'businessType',
sort: 'custom',
isSearch: false,
isTable: false,
form: {
value: 'Stockup',
componentProps: {
@ -168,6 +173,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: false,
table: {
width: 180
},
@ -179,6 +185,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -204,6 +211,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -229,6 +237,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isTable: false,
search: {
component: 'DatePicker',
componentProps: {
@ -255,6 +264,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -278,7 +288,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -289,13 +299,14 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'remark',
sort: 'custom',
isSearch: false,
isTable: false,
},
{
label: '自动提交',
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -316,7 +327,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -337,7 +348,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm: false,
sort: 'custom',
table: {
@ -379,7 +390,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -394,6 +405,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -405,7 +417,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
},
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
tableForm: {
disabled: true,
@ -424,7 +436,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
},
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTable: false,
tableForm: {
disabled: true,
type: 'Select',
@ -477,6 +489,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true
},
// {
// label: '包装号',
@ -565,7 +578,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
// }
// },
{
label: '物代码',
label: '物代码',
field: 'itemCode',
sort: 'custom',
isSearch: true,
@ -573,7 +586,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
tableForm:{
isInpuFocusShow: true, // 开启查询弹窗
isInpuFocusShow: false, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码',
searchField: 'code',
searchTitle: '物料基础信息',
@ -620,6 +633,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain: true
},
{
label: '物品描述2',
@ -630,6 +644,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain: true
},
{
label: '项目代码',
@ -640,12 +655,18 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain: true
},
{
label: '数量',
field: 'qty',
sort: 'custom',
isSearch: true,
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
},
},
{
label: '计量单位',
@ -668,7 +689,15 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '到库位代码',
label: '从库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位',
field: 'toLocationCode',
sort: 'custom',
isSearch: true,
@ -719,6 +748,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'remark',
sort: 'custom',
isSearch: true,
hiddenInMain: true
},
{
label: '创建时间',
@ -729,6 +759,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
hiddenInMain: true,
search: {
component: 'DatePicker',
componentProps: {
@ -748,6 +779,7 @@ export const StockupDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
width: 150,
fixed: 'right'
},
hiddenInMain: true,
isTableForm:false,
}
]))

194
src/views/wms/issueManage/productionreturn/productionreturnJobMain/productionreturnJobMain.data.ts

@ -16,13 +16,16 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true,
},
{
label: '申请单号',
field: 'requestNumber',
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 180
width: 150
},
isSearch: true,
},
{
label: '车间代码',
@ -32,6 +35,16 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '申请单号',
field: 'requestNumber',
sort: 'custom',
table: {
width: 180
},
isSearch: true,
isTable: false,
},
{
label: '从仓库代码',
field: 'fromWarehouseCode',
@ -39,6 +52,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -47,6 +61,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '申请时间',
@ -59,6 +74,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -79,6 +95,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -88,18 +105,6 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '过期时间',
field: 'expiredTime',
@ -111,6 +116,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -131,6 +137,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -147,6 +154,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
// {
// label: '状态',
@ -163,6 +171,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
@ -174,6 +183,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
@ -185,6 +195,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接人',
@ -193,6 +204,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接时间',
@ -205,6 +217,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -221,6 +234,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '完成时间',
@ -233,6 +247,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -247,7 +262,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -258,7 +273,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -271,6 +286,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -279,6 +295,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -291,6 +308,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -307,6 +325,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -315,6 +334,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -323,13 +343,14 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '自动完成',
field: 'autoComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -348,7 +369,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -367,7 +388,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -386,7 +407,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowBiggerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -405,7 +426,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowSmallerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -424,7 +445,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyInventoryStatus',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -443,7 +464,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowContinuousScanning',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -462,7 +483,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowPartialComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -481,7 +502,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyBatch',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -500,7 +521,7 @@ export const ProductionreturnJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyPackingNumber',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -602,20 +623,38 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '包装号',
field: 'packingNumber',
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '批次',
@ -626,93 +665,105 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 120
},
},
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料代码',
field: 'itemCode',
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '物料名称',
field: 'itemName',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料描述1',
field: 'itemDesc1',
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料描述2',
field: 'itemDesc2',
label: '目标库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '项目代码',
field: 'projectCode',
label: '从货主代码',
field: 'fromOwnerCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '数量',
field: 'qty',
label: '到货主代码',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
hiddenInMain: true
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '单据号',
@ -721,6 +772,7 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true
},
{
label: '备注',
@ -729,6 +781,7 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '创建者',
@ -737,6 +790,7 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '创建时间',
@ -749,6 +803,7 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -758,22 +813,7 @@ export const ProductionreturnJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '从货主代码',
field: 'fromOwnerCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到货主代码',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 150
},
},
]))
//表单校验

176
src/views/wms/issueManage/productionreturn/productionreturnRecordMain/productionreturnRecordMain.data.ts

@ -15,6 +15,26 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
},
isSearch: true
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isForm: false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '车间代码',
field: 'workshopCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '申请单号',
field: 'requestNumber',
@ -22,8 +42,10 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
isSearch: true
},
{
label: '任务单号',
field: 'jobNumber',
@ -31,16 +53,10 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
isSearch: true
},
{
label: '车间代码',
field: 'workshopCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '出库事务类型',
field: 'outTransactionType',
@ -48,6 +64,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -56,6 +73,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '执行时间',
@ -68,6 +86,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -88,6 +107,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -109,6 +129,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -129,6 +150,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -145,13 +167,14 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -164,6 +187,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -172,6 +196,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '创建者',
@ -180,6 +205,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -192,6 +218,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -216,13 +243,14 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -235,6 +263,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -243,13 +272,14 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -262,6 +292,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable: false,
},
{
label: '是否可用',
@ -269,7 +300,7 @@ export const ProductionreturnRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -357,14 +388,6 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
width: 150
},
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
},
{
label: '物料代码',
field: 'itemCode',
@ -385,6 +408,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
label: '物料描述1',
field: 'itemDesc1',
sort: 'custom',
hiddenInMain: true,
table: {
width: 150
},
@ -393,14 +417,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
label: '物料描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
hiddenInMain: true,
table: {
width: 150
},
@ -412,33 +429,29 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
label: '从批次',
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '到批次',
field: 'toBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从包装号',
field: 'fromPackingNumber',
@ -446,6 +459,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到包装号',
@ -454,34 +468,42 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从器具号',
field: 'fromContainerNumber',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到器具号',
field: 'toContainerNumber',
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从批次',
field: 'fromBatch',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到批次',
field: 'toBatch',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
@ -510,6 +532,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到库位组代码',
@ -518,6 +541,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从库区代码',
@ -526,6 +550,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到库区代码',
@ -534,6 +559,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '从货主代码',
@ -542,6 +568,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '到货主代码',
@ -550,25 +577,34 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '备注',
field: 'remark',
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
hiddenInMain: true,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '创建者',
@ -577,6 +613,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '创建时间',
@ -589,6 +626,7 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -598,6 +636,36 @@ export const ProductionreturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]
}
},
},
{
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false
},
{
label: '到器具号',
field: 'toContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: false,
sort: 'custom',
table: {
width: 150
},
},
]))
//表单校验

1
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue

@ -581,6 +581,7 @@ const submitForm = async (formType, data) => {
data.subList = tableData.value //
let isZC = true //
data.subList.forEach(item => {
item.productionLineCode = data.productionLineCode
if (item.qty % item.packQty !== 0) {
isZC = false
}

415
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts

@ -61,7 +61,26 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
isSearch: true,
},
{
label: '车间代码',
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '车间',
field: 'workshopCode',
sort: 'custom',
table: {
@ -86,23 +105,51 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
},
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
label: '生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
// labelMessage: '信息提示说明!!!',
componentProps: {
disabled: true
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '生产线信息', // 查询弹窗标题
searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineApi.getProductionlinePage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
}
}
},
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '生产线信息', // 查询弹窗标题
searchAllSchemas: Productionline.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineApi.getProductionlinePage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
},
},
{
label: '申请时间',
@ -115,6 +162,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -137,6 +185,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -152,7 +201,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -165,7 +214,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -179,6 +228,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -188,6 +238,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -197,6 +248,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -206,6 +258,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -224,6 +277,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -234,6 +288,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -255,7 +310,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -276,7 +331,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -297,7 +352,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -345,6 +400,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -363,6 +419,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -376,6 +433,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -394,6 +452,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -405,6 +464,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
width: 300,
fixed: 'right'
},
isTable: false,
}
]))
@ -444,6 +504,8 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
@ -558,12 +620,14 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'locationCode',
value: 'fromLocationCode',
message: '请填写从库位代码!',
isMainValue: true
},{
searchCondition:[
// {
// key: 'locationCode',
// value: 'fromLocationCode',
// message: '请填写从库位代码!',
// isMainValue: true
// },
{
key: 'inventoryStatus',
value: 'OK',
isMainValue: false
@ -577,12 +641,14 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'locationCode',
value: 'fromLocationCode',
message: '请填写从库位代码!',
isMainValue: true
},{
searchCondition:[
// {
// key: 'locationCode',
// value: 'fromLocationCode',
// message: '请填写从库位代码!',
// isMainValue: true
// },
{
key: 'inventoryStatus',
value: 'OK',
isMainValue: false
@ -632,88 +698,61 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
isForm: false,
},
{
label: '数量',
field: 'qty',
label: '物料描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '物料描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
}
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '包装规格',
field: 'packUnit',
label: '批次',
field: 'batch',
sort: 'custom',
isSearch: true,
table: {
width: 120
width: 150
},
tableForm:{
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}]
tableForm: {
disabled: true
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
disabled: true
}
}
},
{
label: '标包数量',
field: 'packQty',
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 120
},
tableForm:{
disabled: true
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
}
},
{
@ -737,44 +776,18 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '物料描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '物料描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTableForm: false,
isForm: false,
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
tableForm: {
type: 'Select',
disabled: true
},
form: {
@ -783,14 +796,14 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
}
},
{
label: '从库位代码',
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
tableForm: {
disabled: true
},
@ -801,49 +814,47 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '从货主',
field: 'fromOwnerCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
type: 'Select',
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '单据号',
field: 'number',
label: '到货主',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 180
width: 150
},
hiddenInMain: true,
isTableForm: false,
form: {
componentProps: {
disabled: true
}
}
isForm: false,
},
{
label: '包装号',
field: 'packingNumber',
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
hiddenInMain: true,
isTableForm: false,
form: {
componentProps: {
disabled: true
@ -851,32 +862,24 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '从货主代码',
field: 'fromOwnerCode',
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
},
{
label: '到货主代码',
field: 'toOwnerCode',
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isForm: false
},
{
label: '创建时间',
@ -889,6 +892,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -901,15 +905,94 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
isTableForm: false,
isForm: false
},
{
label: '创建者',
field: 'creator',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
isTable:true,
isTableForm: true,
tableForm:{
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
}
}
},
{
label: '标包数量',
field: 'packQty',
sort: 'custom',
table: {
width: 120
},
isTable:true,
isTableForm: true,
tableForm:{
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isTable:false,
isTableForm: false,
isForm: false
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
@ -922,6 +1005,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 180
},
isTable:false,
form: {
component: 'DatePicker',
componentProps: {
@ -941,6 +1025,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
isTable:false,
isTableForm: false,
isForm: false
},

306
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts

@ -29,6 +29,8 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
isTableForm: false,
hiddenInMain: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
@ -162,12 +164,14 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'locationCode',
value: 'fromLocationCode',
message: '请填写从库位代码!',
isMainValue: true
},{
searchCondition:[
// {
// key: 'locationCode',
// value: 'fromLocationCode',
// message: '请填写从库位代码!',
// isMainValue: true
// },
{
key: 'inventoryStatus',
value: 'OK',
isMainValue: false
@ -216,111 +220,6 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
isTableForm: false,
isForm: false,
},
{
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
}
},
{
label: '包装规格',
field: 'packUnit',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
tableForm:{
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
}
}
},
{
label: '标包数量',
field: 'packQty',
sort: 'custom',
table: {
width: 120
},
tableForm:{
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm: {
type: 'Select',
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '物料描述1',
field: 'itemDesc1',
@ -328,6 +227,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
@ -338,20 +238,10 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
{
label: '批次',
field: 'batch',
@ -369,25 +259,29 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
}
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
@ -405,13 +299,20 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '单据号',
field: 'number',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
isTableForm: false,
sort: 'custom',
table: {
width: 180
width: 150
},
tableForm: {
type: 'Select',
disabled: true
},
isTableForm: false,
form: {
componentProps: {
disabled: true
@ -419,12 +320,13 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '包装号',
field: 'packingNumber',
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isTableForm:false,
tableForm: {
disabled: true
},
@ -435,25 +337,53 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
},
{
label: '从货主代码',
label: '从货主',
field: 'fromOwnerCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '到货主代码',
label: '到货主',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
hiddenInMain: true,
isTableForm: false,
form: {
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -461,6 +391,18 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
{
label: '创建时间',
@ -473,6 +415,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -486,14 +429,91 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
isForm: false
},
{
label: '创建者',
field: 'creator',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
isSearch: true,
table: {
width: 120
},
isTable: false,
isTableForm: false,
tableForm:{
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
isMainValue: true
}]
}
}
},
{
label: '标包数量',
field: 'packQty',
sort: 'custom',
table: {
width: 120
},
isTable: false,
isTableForm: false,
tableForm:{
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
@ -506,6 +526,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -525,6 +546,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},

969
src/views/wms/moveManage/inventorymove/inventorymoveJobMain/inventorymoveJobMain.data.ts

File diff suppressed because it is too large

459
src/views/wms/moveManage/inventorymove/inventorymoveRecordMain/inventorymoveRecordMain.data.ts

@ -33,106 +33,106 @@ export const InventorymoveRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true
},
{
label: '使用在途库',
field: 'useOnTheWayLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
}
},
{
label: '申请时间',
field: 'requestTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '截止时间',
field: 'dueTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '执行时间',
field: 'executeTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '生效日期',
field: 'activeDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
},
// {
// label: '使用在途库',
// field: 'useOnTheWayLocation',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: 'TRUE',
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE'
// }
// }
// },
// {
// label: '申请时间',
// field: 'requestTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// },
// {
// label: '截止时间',
// field: 'dueTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// },
// {
// label: '执行时间',
// field: 'executeTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// },
// {
// label: '生效日期',
// field: 'activeDate',
// formatter: dateFormatter2,
// detail: {
// dateFormat: 'YYYY-MM-DD'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// style: {width: '100%'},
// type: 'date',
// dateFormat: 'YYYY-MM-DD',
// valueFormat: 'x',
// }
// },
// },
{
label: '从仓库代码',
field: 'fromWarehouseCode',
@ -149,44 +149,44 @@ export const InventorymoveRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库区代码范围',
field: 'fromAreaCodes',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库区代码范围',
field: 'toAreaCodes',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '从库区类型范围',
// field: 'fromAreaTypes',
// dictType: DICT_TYPE.AREA_TYPE,
// dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到库区类型范围',
// field: 'toAreaTypes',
// dictType: DICT_TYPE.AREA_TYPE,
// dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '从库区代码范围',
// field: 'fromAreaCodes',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到库区代码范围',
// field: 'toAreaCodes',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '出库事务类型',
field: 'outTransactionType',
@ -211,61 +211,61 @@ export const InventorymoveRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '部门',
// field: 'departmentCode',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '接口类型',
// field: 'interfaceType',
// dictType: DICT_TYPE.INTERFACE_TYPE,
// dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '备注',
// field: 'remark',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '创建时间',
// field: 'createTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// },
// {
// label: '创建者',
// field: 'creator',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '代码',
// field: 'code',
@ -274,26 +274,26 @@ export const InventorymoveRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
// width: 150
// },
// },
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
}
},
// {
// label: '是否可用',
// field: 'available',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isSearch: true,
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: 'TRUE',
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE'
// }
// }
// },
]))
//表单校验
@ -362,6 +362,7 @@ export const InventorymoveRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
},
{
label: '物料代码',
@ -435,22 +436,22 @@ export const InventorymoveRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到器具号',
field: 'toContainerNumber',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '从器具号',
// field: 'fromContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
// {
// label: '到器具号',
// field: 'toContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '数量',
field: 'qty',

3
src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue

@ -84,7 +84,6 @@ import { InventorymoveRequestMain,InventorymoveRequestMainRules,InventorymoveReq
import * as InventorymoveRequestMainApi from '@/api/wms/inventorymoveRequestMain'
import * as InventorymoveRequestDetailApi from '@/api/wms/inventorymoveRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { log } from 'console'
//
defineOptions({ name: 'InventorymoveRequestMain' })
@ -602,8 +601,6 @@ const submitForm = async (formType, data) => {
data.subList = tableData.value //
let isExist = false
tableData.value.forEach(item => {
console.log(item,777777777777);
let rs = tableData.value.filter(filterItem => (filterItem.fromPackingNumber == item.fromPackingNumber) )
console.log(rs,5666);
if(rs.length > 1) isExist = true

664
src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts

@ -102,70 +102,6 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '申请时间',
field: 'requestTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: { width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isForm: false,
},
{
label: '截止时间',
field: 'dueTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: { width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
// dictType: DICT_TYPE.AREA_TYPE,
// dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '从库区代码范围',
field: 'fromAreaCodes',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '到仓库代码',
field: 'toWarehouseCode',
@ -176,182 +112,8 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
// dictType: DICT_TYPE.AREA_TYPE,
// dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
isSearch: true,
isForm: false,
},
{
label: '到库区代码范围',
field: 'toAreaCodes',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '业务类型',
field: 'businessType',
sort: 'custom',
table: {
width: 150
},
form: {
value: 'Move',
componentProps: {
disabled: true
}
},
isForm: false,
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
form: {
value: userDept.id,
component: 'Select',
api: () => userDeptArray,
componentProps: {
disabled: true,
optionsAlias: {
labelField: 'name',
valueField: 'id'
}
}
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '自动提交',
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: requestsettingData.autoCommit,
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE',
disabled: true
}
}
},
{
label: '自动通过',
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: requestsettingData.autoAgree,
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE',
disabled: true
}
}
},
{
label: '自动执行',
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: requestsettingData.autoExecute,
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE',
disabled: true
}
}
},
{
label: '直接生成记录',
field: 'directCreateRecord',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm: false,
isTable: false,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: requestsettingData.directCreateRecord,
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE',
disabled: true
}
}
},
{
label: '使用在途库',
field: 'useOnTheWayLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
}
},
{
label: '创建时间',
field: 'createTime',
label: '申请时间',
field: 'requestTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
@ -372,17 +134,8 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
isForm: false,
},
{
label: '最后更新时间',
field: 'updateTime',
label: '截止时间',
field: 'dueTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
@ -400,17 +153,265 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
valueFormat: 'x',
}
},
isForm: false
},
{
label: '最后更新者',
field: 'updater',
sort: 'custom',
table: {
width: 150
},
isForm: false
},
// {
// label: '从库区类型范围',
// field: 'fromAreaTypes',
// // dictType: DICT_TYPE.AREA_TYPE,
// // dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// isForm: false,
// },
// {
// label: '从库区代码范围',
// field: 'fromAreaCodes',
// sort: 'custom',
// table: {
// width: 150
// },
// isForm: false,
// },
// {
// label: '到库区类型范围',
// field: 'toAreaTypes',
// // dictType: DICT_TYPE.AREA_TYPE,
// // dictClass: 'string',
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// isSearch: true,
// isForm: false,
// },
// {
// label: '到库区代码范围',
// field: 'toAreaCodes',
// sort: 'custom',
// table: {
// width: 150
// },
// isForm: false,
// },
// {
// label: '业务类型',
// field: 'businessType',
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// value: 'Move',
// componentProps: {
// disabled: true
// }
// },
// isForm: false,
// },
// {
// label: '部门',
// field: 'departmentCode',
// sort: 'custom',
// isForm: false,
// table: {
// width: 150
// },
// formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
// return userDeptArray.find((account) => account.id == cellValue)?.name
// },
// form: {
// value: userDept.id,
// component: 'Select',
// api: () => userDeptArray,
// componentProps: {
// disabled: true,
// optionsAlias: {
// labelField: 'name',
// valueField: 'id'
// }
// }
// }
// },
// {
// label: '备注',
// field: 'remark',
// sort: 'custom',
// table: {
// width: 150
// },
// isTable: false,
// },
// {
// label: '自动提交',
// field: 'autoCommit',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isTable: true,
// isForm: false,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: requestsettingData.autoCommit,
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE',
// disabled: true
// }
// }
// },
// {
// label: '自动通过',
// field: 'autoAgree',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isTable: true,
// isForm: false,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: requestsettingData.autoAgree,
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE',
// disabled: true
// }
// }
// },
// {
// label: '自动执行',
// field: 'autoExecute',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isTable: true,
// isForm: false,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: requestsettingData.autoExecute,
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE',
// disabled: true
// }
// }
// },
// {
// label: '直接生成记录',
// field: 'directCreateRecord',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isForm: false,
// isTable: false,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: requestsettingData.directCreateRecord,
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE',
// disabled: true
// }
// }
// },
// {
// label: '使用在途库',
// field: 'useOnTheWayLocation',
// dictType: DICT_TYPE.TRUE_FALSE,
// dictClass: 'string',
// isSearch: true,
// isTable: true,
// sort: 'custom',
// table: {
// width: 150
// },
// form: {
// component: 'Switch',
// value: 'TRUE',
// componentProps: {
// inactiveValue: 'FALSE',
// activeValue: 'TRUE'
// }
// }
// },
// {
// label: '创建时间',
// field: 'createTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// style: { width:'100%'},
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// isForm: false,
// },
// {
// label: '创建者',
// field: 'creator',
// sort: 'custom',
// table: {
// width: 150
// },
// isForm: false,
// },
// {
// label: '最后更新时间',
// field: 'updateTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// style: { width:'100%'},
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// isForm: false
// },
// {
// label: '最后更新者',
// field: 'updater',
// sort: 'custom',
// table: {
// width: 150
// },
// isForm: false
// },
{
label: '操作',
field: 'action',
@ -463,6 +464,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 180
},
isTableForm: false,
hiddenInMain: true,
form: {
componentProps: {
disabled: true
@ -578,32 +580,32 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm: false,
isForm: false,
},
{
label: '从器具号',
field: 'fromContainerNumber',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '到器具号',
field: 'toContainerNumber',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
},
// {
// label: '从器具号',
// field: 'fromContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// tableForm: {
// disabled: true
// },
// form: {
// componentProps: {
// disabled: true
// }
// }
// },
// {
// label: '到器具号',
// field: 'toContainerNumber',
// sort: 'custom',
// table: {
// width: 150
// },
// isTableForm: false,
// isForm: false,
// },
{
label: '数量',
field: 'qty',
@ -747,6 +749,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
},
{
label: '到货主代码',
@ -757,6 +760,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
},
{
label: '项目代码',
@ -767,15 +771,16 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '备注',
// field: 'remark',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '创建时间',
field: 'createTime',
@ -796,6 +801,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
valueFormat: 'x',
}
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
@ -806,42 +812,43 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
{
label: '最后更新时间',
field: 'updateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: { width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isTableForm: false,
isForm: false
},
{
label: '最后更新者',
field: 'updater',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false
},
// {
// label: '最后更新时间',
// field: 'updateTime',
// formatter: dateFormatter,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// sort: 'custom',
// table: {
// width: 180
// },
// form: {
// component: 'DatePicker',
// componentProps: {
// style: { width:'100%'},
// type: 'datetime',
// dateFormat: 'YYYY-MM-DD HH:mm:ss',
// valueFormat: 'x',
// }
// },
// isTableForm: false,
// isForm: false
// },
// {
// label: '最后更新者',
// field: 'updater',
// sort: 'custom',
// table: {
// width: 150
// },
// isTableForm: false,
// isForm: false
// },
{
label: '操作',
field: 'action',
@ -851,6 +858,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150,
fixed: 'right'
},
hiddenInMain: true,
isTableForm:false,
}
]))

27
src/views/wms/productionManage/productionplan/productionMain/index.vue

@ -42,6 +42,8 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn="itemCode"
@success="getList"
:rules="ProductionMainRules"
:formAllSchemas="ProductionMain.allSchemas"
@ -106,14 +108,23 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
nextTick(async() => {
if (type == 'tableForm') {
//
await ItemBasicApi.getItembasicPage({
code: row['itemCode']
}).then(res => {
row['uom'] = res?.list[0].uom
}).catch(err =>{
console.log(err);
})
row[formField] = val[0][searchField]
// await ItemBasicApi.getItembasicPage({
// code: row['itemCode']
// }).then(res => {
// row['uom'] = res?.list[0].uom
// }).catch(err =>{
// console.log(err);
// })
if(formField=='itemCode'){
row[formField] = val[0][searchField]
val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
tableData.value.push(newRow)
})
} else {
row[formField] = val[0][searchField]
}
} else {
const setV = {}
if(formField == 'workshop'){

247
src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts

@ -44,6 +44,24 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'predict',
componentProps: {
disabled: true
}
}
},
{
label: '状态',
field: 'status',
@ -61,7 +79,6 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// disabled: true
// }
// },
isForm:false,
isSearch: true,
},
{
@ -78,7 +95,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '机台',
label: '车间',
field: 'workshop',
sort: 'custom',
table: {
@ -101,6 +118,15 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '机台',
field: 'abc',
sort: 'custom',
table: {
width: 150
},
isForm: true
},
{
label: '生产线',
field: 'productionLine',
@ -131,8 +157,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'shift',
label: '班',
field: 'team',
sort: 'custom',
table: {
width: 150
@ -141,11 +167,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -155,8 +181,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'team',
label: '班',
field: 'shift',
sort: 'custom',
table: {
width: 150
@ -165,11 +191,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -186,6 +212,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -195,6 +222,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -208,6 +236,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -229,6 +258,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -250,6 +280,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -267,6 +298,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
value: 'ProductReceipt',
componentProps: {
@ -275,24 +307,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isForm: false,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'predict',
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -307,7 +322,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -326,7 +341,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -347,7 +362,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -368,7 +383,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -478,6 +493,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -491,6 +507,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -509,6 +526,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -522,6 +540,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -616,6 +635,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
tableForm:{
multiple:true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段
@ -634,6 +654,14 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
}],
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Bom版本',
field: 'bomVersion',
@ -682,8 +710,8 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '合格数量',
field: 'goodQty',
label: '计划数量',
field: 'planQty',
sort: 'custom',
table: {
width: 150
@ -691,25 +719,42 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '不合格数量',
field: 'notGoodQty',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select',
disabled: true,
dictType: DICT_TYPE.UOM,
dictClass: 'string'
}
},
{
label: '合格数量',
field: 'goodQty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -726,26 +771,38 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单据号',
field: 'number',
label: '不合格数量',
field: 'notGoodQty',
sort: 'custom',
table: {
width: 180
width: 150
},
isTableForm: false,
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 1,
precision: 6
}
}
},
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '创建时间',
@ -758,6 +815,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -771,49 +829,55 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '创建者',
field: 'creator',
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '计划数量',
field: 'planQty',
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
isTableForm: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
disabled: true
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
isTable: false,
},
{
label: '最后更新时间',
@ -826,6 +890,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -845,35 +910,11 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '操作',
hiddenInMain:true,

232
src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts

@ -44,6 +44,24 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'assemble',
componentProps: {
disabled: true
}
}
},
{
label: '状态',
field: 'status',
@ -61,7 +79,6 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// disabled: true
// }
// },
isForm:false,
isSearch: true,
},
{
@ -131,8 +148,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'shift',
label: '班',
field: 'team',
sort: 'custom',
table: {
width: 150
@ -141,11 +158,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -155,8 +172,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'team',
label: '班',
field: 'shift',
sort: 'custom',
table: {
width: 150
@ -165,11 +182,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -186,6 +203,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -195,6 +213,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -208,6 +227,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -229,6 +249,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -250,6 +271,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -267,6 +289,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
value: 'ProductReceipt',
componentProps: {
@ -275,24 +298,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isForm: false,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'assemble',
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -307,7 +313,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -326,7 +332,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -347,7 +353,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -368,7 +374,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -478,6 +484,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -491,6 +498,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -509,6 +517,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -522,6 +531,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -634,6 +644,14 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
}],
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Bom版本',
field: 'bomVersion',
@ -682,8 +700,8 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '合格数量',
field: 'goodQty',
label: '计划数量',
field: 'planQty',
sort: 'custom',
table: {
width: 150
@ -691,25 +709,39 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '不合格数量',
field: 'notGoodQty',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
},
{
label: '合格数量',
field: 'goodQty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -726,26 +758,38 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单据号',
field: 'number',
label: '不合格数量',
field: 'notGoodQty',
sort: 'custom',
table: {
width: 180
width: 150
},
isTableForm: false,
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 1,
precision: 6
}
}
},
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
},
{
label: '创建时间',
@ -758,6 +802,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -771,49 +816,56 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '创建者',
field: 'creator',
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '计划数量',
field: 'planQty',
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
isTableForm: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
disabled: true
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
isTable: false,
},
{
label: '最后更新时间',
@ -826,6 +878,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -845,35 +898,10 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '操作',
hiddenInMain:true,

231
src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts

@ -44,6 +44,24 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'assembleSparePart',
componentProps: {
disabled: true
}
}
},
{
label: '状态',
field: 'status',
@ -130,8 +148,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'shift',
label: '班',
field: 'team',
sort: 'custom',
table: {
width: 150
@ -140,11 +158,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -154,8 +172,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'team',
label: '班',
field: 'shift',
sort: 'custom',
table: {
width: 150
@ -164,11 +182,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -185,6 +203,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -194,6 +213,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -207,6 +227,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -228,6 +249,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -249,6 +271,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -272,26 +295,10 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
disabled: true
}
},
isTable: false,
isForm: false,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'assembleSparePart',
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -306,7 +313,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -325,7 +332,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -346,7 +353,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -367,7 +374,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -477,6 +484,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -490,6 +498,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -508,6 +517,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -521,6 +531,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -633,6 +644,14 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
}],
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Bom版本',
field: 'bomVersion',
@ -681,8 +700,8 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '合格数量',
field: 'goodQty',
label: '计划数量',
field: 'planQty',
sort: 'custom',
table: {
width: 150
@ -690,25 +709,39 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '不合格数量',
field: 'notGoodQty',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
},
{
label: '合格数量',
field: 'goodQty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -725,26 +758,38 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单据号',
field: 'number',
label: '不合格数量',
field: 'notGoodQty',
sort: 'custom',
table: {
width: 180
width: 150
},
isTableForm: false,
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 1,
precision: 6
}
}
},
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '创建时间',
@ -757,6 +802,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -770,49 +816,55 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '创建者',
field: 'creator',
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
hiddenInMain: true,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '计划数量',
field: 'planQty',
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
isTableForm: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
disabled: true
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
isTable: false,
},
{
label: '最后更新时间',
@ -825,6 +877,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -844,35 +897,11 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '操作',
hiddenInMain:true,

235
src/views/wms/productionManage/productionplan/productionMainPredictSparePart/productionMainPredictSparePart.data.ts

@ -44,6 +44,24 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'predictSparePart',
componentProps: {
disabled: true
}
}
},
{
label: '状态',
field: 'status',
@ -61,7 +79,6 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// disabled: true
// }
// },
isForm:false,
isSearch: true,
},
{
@ -78,7 +95,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '机台',
label: '车间',
field: 'workshop',
sort: 'custom',
table: {
@ -131,8 +148,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'shift',
label: '班',
field: 'team',
sort: 'custom',
table: {
width: 150
@ -141,11 +158,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -155,8 +172,8 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '班',
field: 'team',
label: '班',
field: 'shift',
sort: 'custom',
table: {
width: 150
@ -165,11 +182,11 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择班',
searchListPlaceholder: '请选择班',
searchField: 'code',
searchTitle: '班信息',
searchAllSchemas: Team.allSchemas,
searchPage: TeamApi.getTeamPage,
searchTitle: '班信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition:[{
key: 'available',
value: 'TRUE',
@ -178,6 +195,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '物料代码',
field: 'detailItemCode',
@ -186,6 +204,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -195,6 +214,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -208,6 +228,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 120
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -229,6 +250,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -250,6 +272,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
sortTableDefault:1000,
form: {
component: 'DatePicker',
componentProps: {
@ -267,6 +290,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
value: 'ProductReceipt',
componentProps: {
@ -275,24 +299,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isForm: false,
},
{
label: '计划类型',
field: 'planType',
dictType: DICT_TYPE.PLAN_PRODUCTION_TYPE,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Select',
value: 'predictSparePart',
componentProps: {
disabled: true
}
}
},
{
label: '备注',
field: 'remark',
@ -307,7 +314,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -326,7 +333,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -347,7 +354,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -368,7 +375,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -478,6 +485,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -491,6 +499,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -509,6 +518,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -522,6 +532,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -634,6 +645,14 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
}],
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Bom版本',
field: 'bomVersion',
@ -682,8 +701,8 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '合格数量',
field: 'goodQty',
label: '计划数量',
field: 'planQty',
sort: 'custom',
table: {
width: 150
@ -691,25 +710,39 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
min: 0,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '不合格数量',
field: 'notGoodQty',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
},
{
label: '合格数量',
field: 'goodQty',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -726,27 +759,40 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单据号',
field: 'number',
label: '不合格数量',
field: 'notGoodQty',
sort: 'custom',
table: {
width: 180
width: 150
},
isTableForm: false,
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
disabled: true
min: 1,
precision: 6
}
}
},
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
},
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false,
},
{
label: '创建时间',
field: 'createTime',
@ -758,6 +804,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -771,49 +818,55 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '创建者',
field: 'creator',
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
hiddenInMain: true,
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false,
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '计划数量',
field: 'planQty',
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
width: 180
},
isTable: false,
isTableForm: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
disabled: true
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isSearch: true,
isTable: true,
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
tableForm:{
type: 'Select'
}
isTable: false,
},
{
label: '最后更新时间',
@ -826,6 +879,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -845,35 +899,10 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false,
},
{
label: '是否可用',
field: 'available',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
tableForm: {
type: 'Select',
default: 'TRUE'
},
// isTableForm: false,
// isForm: false
},
{
label: '操作',
hiddenInMain:true,

168
src/views/wms/productionManage/productputaway/productputawayJobMain/productputawayJobMain.data.ts

@ -15,6 +15,18 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '申请单号',
field: 'requestNumber',
@ -22,6 +34,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isSearch: true,
},
// {
@ -39,6 +52,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '申请时间',
@ -51,6 +65,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -71,6 +86,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -99,6 +115,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -119,6 +136,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -135,19 +153,9 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '优先级',
field: 'priority',
@ -158,6 +166,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '优先级增量',
@ -169,6 +178,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '部门',
@ -177,6 +187,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接人用户名',
@ -185,6 +196,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接时间',
@ -197,6 +209,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -213,6 +226,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '完成时间',
@ -225,6 +239,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -239,7 +254,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -251,7 +266,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -264,6 +279,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -272,6 +288,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -284,6 +301,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -300,6 +318,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -308,6 +327,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -316,6 +336,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -324,13 +345,14 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '自动完成',
field: 'autoComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -349,7 +371,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -368,7 +390,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -387,7 +409,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowBiggerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -406,7 +428,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowSmallerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -425,7 +447,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyInventoryStatus',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -444,7 +466,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowContinuousScanning',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -463,7 +485,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowPartialComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -482,7 +504,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyBatch',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -501,7 +523,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyPackingNumber',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -587,16 +609,32 @@ export const ProductputawayJobMainRules = reactive({
*/
export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '包装号',
field: 'packingNumber',
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
@ -611,64 +649,80 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单号',
field: 'poNumber',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单行',
field: 'poLine',
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false
},
{
label: '物料代码',
field: 'itemCode',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料名称',
field: 'itemName',
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位代码',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料描述1',
field: 'itemDesc1',
@ -676,6 +730,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
@ -684,6 +739,8 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '项目代码',
@ -692,6 +749,8 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '数量',
@ -700,21 +759,12 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '单据号',
field: 'number',
@ -722,6 +772,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain: true
},
{
label: '备注',
@ -730,6 +781,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从货主代码',
@ -738,6 +790,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到货主代码',
@ -746,6 +799,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
{
label: '创建时间',
@ -766,6 +820,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
valueFormat: 'x',
}
},
hiddenInMain: true
},
{
label: '创建者',
@ -774,6 +829,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain: true
},
]))

183
src/views/wms/productionManage/productputaway/productputawayRecordMain/productputawayRecordMain.data.ts

@ -15,6 +15,19 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
sortTableDefault:1,
},
{
label: '申请单号',
field: 'requestNumber',
@ -22,6 +35,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isSearch: true
},
{
@ -31,6 +45,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isSearch: true
},
// {
@ -48,6 +63,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -56,6 +72,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '执行时间',
@ -68,6 +85,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -88,6 +106,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -109,6 +128,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -129,6 +149,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -145,13 +166,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -164,6 +186,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -172,6 +195,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建者',
@ -180,6 +204,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -192,6 +217,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -216,6 +242,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -224,13 +251,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -243,13 +271,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -262,6 +291,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '是否可用',
@ -269,7 +299,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -283,6 +313,24 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '包装号', // 子表数据 只是为了展示
field: 'fromPackingNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:6,
},
{
label: '批次', // 子表数据 只是为了展示
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:5,
},
]))
//表单校验
@ -342,41 +390,61 @@ export const ProductputawayRecordMainRules = reactive({
*/
export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '从包装号',
field: 'fromPackingNumber',
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:2,
},
{
label: '到包装号',
field: 'toPackingNumber',
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:2,
},
{
label: '从批次',
field: 'fromBatch',
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:3,
},
{
label: '到批次',
field: 'toBatch',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:3,
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
@ -385,21 +453,53 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
},
{
label: '订单号',
field: 'poNumber',
label: '从包装号',
field: 'fromPackingNumber',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '订单行',
field: 'poLine',
label: '到包装号',
field: 'toPackingNumber',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从批次',
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到批次',
field: 'toBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '从货主代码',
field: 'fromOwnerCode',
@ -407,6 +507,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库位代码',
@ -423,6 +524,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库区代码',
@ -431,6 +533,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到货主代码',
@ -439,6 +542,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到库位代码',
@ -455,6 +559,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到库区代码',
@ -463,6 +568,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '单据号',
@ -471,14 +577,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '备注',
@ -487,6 +586,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '创建时间',
@ -507,6 +607,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
valueFormat: 'x',
}
},
hiddenInMain: true
},
{
label: '创建者',
@ -515,14 +616,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述1',
@ -531,6 +625,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
@ -539,6 +634,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '项目代码',
@ -547,6 +643,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '数量',
@ -555,21 +652,12 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '代码',
// field: 'code',
@ -584,6 +672,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
hiddenInMain: true,
sort: 'custom',
table: {
width: 150
@ -604,6 +693,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到器具号',
@ -612,6 +702,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
]))

24
src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue

@ -42,6 +42,8 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="formRef"
:isOpenSearchTable="true"
fieldTableColumn="itemCode"
@success="getList"
:rules="ProductputawayRequestMainRules"
:formAllSchemas="ProductputawayRequestMain.allSchemas"
@ -106,14 +108,20 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
nextTick(() => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
row['poLine'] = val[0]['itemCode']
row['packingNumber'] = val[0]['packingNumber']
row['containerNumber'] = val[0]['containerNumber']
row['batch'] = val[0]['batch']
row['uom'] = val[0]['uom']
row['inventoryStatus'] = val[0]['inventoryStatus']
row['fromLocationCode'] = val[0]['locationCode']
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
val.forEach(item=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow[formField] = item[searchField]
newRow['poLine'] = item['itemCode']
newRow['packingNumber'] = item['packingNumber']
newRow['containerNumber'] = item['containerNumber']
newRow['batch'] = item['batch']
newRow['uom'] = item['uom']
newRow['qty'] = item['qty']
newRow['inventoryStatus'] = item['inventoryStatus']
newRow['fromLocationCode'] = item['locationCode']
tableData.value.push(newRow)
})
} else {
const setV = {}
setV[formField] = val[0][searchField]

234
src/views/wms/productionManage/productputaway/productputawayRequestMain/productputawayRequestMain.data.ts

@ -1,6 +1,7 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
import * as getBusinessTypeApi from '@/api/wms/businesstype/index'
import * as BalanceApi from '@/api/wms/balance'
import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
@ -14,8 +15,15 @@ const queryParams = {
pageSize:10,
pageNo:1,
code:'ProductPutawayRequest'
}
const businessTypeQueryParams = {
pageSize:10,
pageNo:1,
code:'ProductPutaway'
}
const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
const businessTypeValue = await getBusinessTypeApi.getBusinesstypePage(businessTypeQueryParams)
const businessTypeData =businessTypeValue?.list[0]||{}
const requestsettingData =data?.list[0]||{}
// 获取当前操作人的部门
@ -41,6 +49,25 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
// {
// label: '供应商代码',
// field: 'supplierCode',
@ -58,6 +85,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -65,7 +93,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -79,6 +107,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -88,6 +117,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
value: 'ProductPutaway',
componentProps: {
@ -116,6 +146,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -133,6 +164,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -146,6 +178,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -167,6 +200,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -185,6 +219,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -201,25 +236,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
field: 'updateTime',
@ -231,6 +248,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -248,6 +266,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -257,6 +276,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -265,7 +285,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -279,6 +299,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -286,7 +307,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -307,7 +328,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -328,7 +349,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -406,6 +427,26 @@ export const ProductputawayRequestMainRules = reactive({
* @returns {Array}
*/
export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '物料代码',
field: 'itemCode',
@ -414,13 +455,18 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150
},
tableForm:{
multiple:true,
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage // 查询弹窗所需分页方法
searchPage: BalanceApi.getBalancePageByBusinessType, // 查询弹窗所需分页方法
searchCondition: [{
key: 'businessType',
value: businessTypeData.code,
}]
},
form: {
// labelMessage: '信息提示说明!!!',
@ -430,13 +476,27 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage // 查询弹窗所需分页方法
searchPage: BalanceApi.getBalancePageByBusinessType, // 查询弹窗所需分页方法
searchCondition: [{
key: 'businessType',
value: businessTypeData.code,
}]
}
}
},
{
label: '包装号',
field: 'packingNumber',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
@ -451,8 +511,8 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '器具号',
field: 'containerNumber',
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
@ -467,8 +527,27 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '批次',
field: 'batch',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
@ -478,7 +557,8 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
disabled: true
}
},
tableForm: {
tableForm:{
type: 'Select',
disabled: true
}
},
@ -502,26 +582,6 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
disabled: true
}
},
{
label: '订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '从库位代码',
field: 'fromLocationCode',
@ -545,6 +605,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
hiddeInMain: true,
isTableForm: false,
form: {
componentProps: {
@ -552,6 +613,15 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
hiddeInMain: true,
},
{
label: '创建时间',
field: 'createTime',
@ -563,6 +633,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
hiddeInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -581,19 +652,11 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false
},
{
label: '物料描述1',
field: 'itemDesc1',
@ -601,6 +664,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
@ -611,6 +675,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
@ -621,6 +686,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
@ -631,6 +697,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -644,26 +711,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
componentProps: {
disabled: true
}
},
tableForm:{
type: 'Select',
disabled: true
}
},
{
label: '从货主代码',
field: 'fromOwnerCode',
@ -671,6 +719,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
@ -681,16 +730,27 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddeInMain: true,
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
form: {
componentProps: {
disabled: true
}
},
tableForm: {
disabled: true
}
},
{
label: '最后更新时间',
@ -703,6 +763,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -721,6 +782,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -729,10 +791,12 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
field: 'action',
isDetail: false,
isForm: false ,
hiddenInMain:true,
table: {
width: 150,
fixed: 'right'
},
hiddenInMain:true,
isTableForm:false,
}
]))

166
src/views/wms/productionManage/productputawayAssemble/productputawayAssembleJobMain/productputawayAssembleJobMain.data.ts

@ -15,6 +15,18 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '申请单号',
field: 'requestNumber',
@ -23,6 +35,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 180
},
isSearch: true,
isTable: false,
},
// {
// label: '供应商代码',
@ -39,6 +52,8 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '申请时间',
@ -51,6 +66,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -71,6 +87,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -99,6 +116,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -119,6 +137,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -135,25 +154,16 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '优先级',
field: 'priority',
form: {
component: 'InputNumber',
},
isTable: false,
sort: 'custom',
table: {
width: 150
@ -165,6 +175,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
form: {
component: 'InputNumber',
},
isTable: false,
sort: 'custom',
table: {
width: 150
@ -177,6 +188,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接人用户名',
@ -185,6 +197,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '承接时间',
@ -197,6 +210,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -213,6 +227,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '完成时间',
@ -225,6 +240,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -239,7 +255,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -251,7 +267,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -264,6 +280,8 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -272,6 +290,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -284,6 +303,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -300,6 +320,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到仓库代码',
@ -308,6 +329,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -316,6 +338,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区代码范围',
@ -324,13 +347,14 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '自动完成',
field: 'autoComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -349,7 +373,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyLocation',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -368,7 +392,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -387,7 +411,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowBiggerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -406,7 +430,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowSmallerQty',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -425,7 +449,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyInventoryStatus',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -444,7 +468,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowContinuousScanning',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -463,7 +487,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowPartialComplete',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -482,7 +506,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyBatch',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -501,7 +525,7 @@ export const ProductputawayJobMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'allowModifyPackingNumber',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -587,16 +611,32 @@ export const ProductputawayJobMainRules = reactive({
*/
export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '包装号',
field: 'packingNumber',
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
@ -611,59 +651,62 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单号',
field: 'poNumber',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单行',
field: 'poLine',
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料代码',
field: 'itemCode',
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料名称',
field: 'itemName',
label: '到库位代码',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
@ -676,6 +719,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '物料描述2',
@ -684,6 +728,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '项目代码',
@ -692,6 +737,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '数量',
@ -700,21 +746,12 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '单据号',
field: 'number',
@ -722,6 +759,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain:true
},
{
label: '备注',
@ -730,6 +768,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '从货主代码',
@ -738,6 +777,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '到货主代码',
@ -746,6 +786,8 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '创建时间',
@ -758,6 +800,7 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
hiddenInMain:true ,
form: {
component: 'DatePicker',
componentProps: {
@ -774,6 +817,17 @@ export const ProductputawayJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
hiddenInMain:true
},
{
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false
},
]))

191
src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/productputawayAssembleRecordMain.data.ts

@ -15,6 +15,19 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.JOB_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
sort: 'custom',
table: {
width: 150
},
sortTableDefault:1,
},
{
label: '申请单号',
field: 'requestNumber',
@ -22,6 +35,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isSearch: true
},
{
@ -31,6 +45,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
isSearch: true
},
// {
@ -48,6 +63,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -56,6 +72,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '执行时间',
@ -68,6 +85,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -88,6 +106,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -109,6 +128,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -129,6 +149,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -145,13 +166,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -164,6 +186,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -172,6 +195,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建者',
@ -180,6 +204,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -192,6 +217,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -216,6 +242,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区代码范围',
@ -224,13 +251,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '从库区类型范围',
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -243,13 +271,14 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -262,6 +291,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '是否可用',
@ -269,7 +299,7 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -283,6 +313,24 @@ export const ProductputawayRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '包装号', // 子表数据 只是为了展示
field: 'fromPackingNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:6,
},
{
label: '批次', // 子表数据 只是为了展示
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:5,
},
]))
//表单校验
@ -342,41 +390,61 @@ export const ProductputawayRecordMainRules = reactive({
*/
export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '从包装号',
field: 'fromPackingNumber',
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:2,
},
{
label: '到包装号',
field: 'toPackingNumber',
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:2,
},
{
label: '从批次',
field: 'fromBatch',
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:3,
},
{
label: '到批次',
field: 'toBatch',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:3,
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
@ -385,21 +453,55 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
},
{
label: '订单号',
field: 'poNumber',
label: '从包装号',
field: 'fromPackingNumber',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '订单行',
field: 'poLine',
label: '到包装号',
field: 'toPackingNumber',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从批次',
field: 'fromBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到批次',
field: 'toBatch',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '从货主代码',
field: 'fromOwnerCode',
@ -407,6 +509,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库位代码',
@ -423,6 +526,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '从库区代码',
@ -431,6 +535,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到货主代码',
@ -439,6 +544,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到库位代码',
@ -455,6 +561,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到库区代码',
@ -463,6 +570,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '单据号',
@ -471,15 +579,9 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
hiddenInMain: true
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '备注',
field: 'remark',
@ -487,6 +589,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '创建时间',
@ -499,6 +602,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -515,15 +619,10 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料描述1',
field: 'itemDesc1',
@ -531,6 +630,8 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '物料描述2',
@ -539,6 +640,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '项目代码',
@ -547,6 +649,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '数量',
@ -555,21 +658,12 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '代码',
// field: 'code',
@ -588,6 +682,7 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
// {
// label: '任务明细ID',
@ -604,6 +699,8 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
{
label: '到器具号',
@ -612,6 +709,8 @@ export const ProductputawayRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
hiddenInMain: true
},
]))

216
src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRequestMain/productputawayAssembleRequestMain.data.ts

@ -41,6 +41,25 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
isSearch: true,
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
// {
// label: '供应商代码',
// field: 'supplierCode',
@ -58,6 +77,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -65,7 +85,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'fromAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -79,6 +99,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -88,6 +109,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
form: {
value: 'ProductPutaway',
componentProps: {
@ -116,6 +138,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -133,6 +156,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -154,6 +178,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
valueFormat: 'x',
}
},
isTable: false,
isForm: false,
},
{
@ -167,6 +192,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -185,6 +211,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -201,25 +228,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '状态',
field: 'status',
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '最后更新时间',
field: 'updateTime',
@ -231,6 +240,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -248,6 +258,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -257,6 +268,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -265,7 +277,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -279,6 +291,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false,
},
{
@ -286,7 +299,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -307,7 +320,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -328,7 +341,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isTable: false,
isForm:false,
sort: 'custom',
table: {
@ -406,6 +419,26 @@ export const ProductputawayRequestMainRules = reactive({
* @returns {Array}
*/
export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '采购订单号',
field: 'poNumber',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '物料代码',
field: 'itemCode',
@ -435,8 +468,18 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '包装号',
field: 'packingNumber',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false
},
{
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
@ -451,8 +494,8 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '器具号',
field: 'containerNumber',
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
@ -467,8 +510,27 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '批次',
field: 'batch',
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
@ -478,7 +540,8 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
disabled: true
}
},
tableForm: {
tableForm:{
type: 'Select',
disabled: true
}
},
@ -502,33 +565,32 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
disabled: true
}
},
{
label: '订单号',
field: 'poNumber',
label: '从库位代码',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isForm: false,
isTableForm: false,
},
{
label: '订单行',
field: 'poLine',
sort: 'custom',
table: {
width: 150
form: {
componentProps: {
disabled: true
}
},
isForm: false,
isTableForm: false,
tableForm: {
disabled: true
}
},
{
label: '从库位代码',
field: 'fromLocationCode',
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable:false,
form: {
componentProps: {
disabled: true
@ -545,6 +607,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
hiddenInMain: true,
isTableForm: false,
form: {
componentProps: {
@ -552,6 +615,15 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{
label: '创建时间',
field: 'createTime',
@ -563,6 +635,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
hiddenInMain: true,
form: {
component: 'DatePicker',
componentProps: {
@ -581,19 +654,11 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
{
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
isForm: false
},
{
label: '物料描述1',
field: 'itemDesc1',
@ -601,6 +666,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
@ -611,6 +677,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
@ -622,6 +689,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150
},
isTableForm: false,
hiddenInMain: true,
isForm: false
},
{
@ -631,6 +699,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
form: {
component: 'InputNumber',
componentProps: {
@ -644,26 +713,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
componentProps: {
disabled: true
}
},
tableForm:{
type: 'Select',
disabled: true
}
},
{
label: '从货主代码',
field: 'fromOwnerCode',
@ -671,6 +721,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
@ -681,17 +732,11 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
hiddenInMain: true,
isTableForm: false,
isForm: false
},
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
},
{
label: '最后更新时间',
field: 'updateTime',
@ -703,6 +748,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -721,6 +767,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTable: false,
isTableForm: false,
isForm: false
},
@ -734,6 +781,7 @@ export const ProductputawayRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150,
fixed: 'right'
},
isTable: false,
isTableForm:false,
}
]))

250
src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts

@ -16,7 +16,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true
},
{
label: '申请单号',
label: '申请单号',
field: 'requestNumber',
sort: 'custom',
table: {
@ -40,6 +40,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false
},
{
label: '车间代码',
@ -48,6 +49,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false
},
{
label: '班组',
@ -56,6 +58,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false
},
{
label: '班次',
@ -64,6 +67,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false
},
{
label: '收货类型',
@ -74,6 +78,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
isForm: false
},
{
@ -83,6 +88,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '入库事务类型',
@ -91,6 +97,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '执行时间',
@ -103,6 +110,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -123,6 +131,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -144,6 +153,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -164,6 +174,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
@ -180,13 +191,14 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '接口类型',
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -199,6 +211,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '备注',
@ -207,6 +220,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建者',
@ -215,6 +229,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
@ -223,6 +238,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
isTable: false,
sort: 'custom',
table: {
width: 180
@ -251,13 +267,14 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '到库区类型范围',
field: 'toAreaTypes',
dictType: DICT_TYPE.AREA_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -270,6 +287,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isTable: false,
},
{
label: '是否可用',
@ -277,7 +295,7 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isSearch: true,
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -371,147 +389,129 @@ export const ProductreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
},
{
label: '包装号',
field: 'packingNumber',
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '器具号',
field: 'containerNumber',
label: '物料名称',
field: 'itemName',
sort: 'custom',
table: {
width: 150
},
},
{
label: '批次',
field: 'batch',
label: '物料描述1',
field: 'itemDesc1',
sort: 'custom',
table: {
width: 150
},
},
{
label: '生产日期',
field: 'produceDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
},
{
label: '过期日期',
field: 'expireDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
label: '物料描述2',
field: 'itemDesc2',
sort: 'custom',
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
width: 150
},
},
{
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
label: '批次',
field: 'batch',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到货主代码',
field: 'toOwnerCode',
label: '包装号',
field: 'packingNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位代码',
field: 'toLocationCode',
label: '包装规格',
field: 'packUnit',
// dictType: DICT_TYPE.PACK_UNIT,
// dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '到库位组代码',
field: 'toLocationGroupCode',
label: '数量',
field: 'qty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '到库区代码',
field: 'toAreaCode',
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单号',
field: 'woNumber',
label: '库存状态',
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
},
{
label: '订单行',
field: 'woLine',
label: '生产日期',
field: 'produceDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 150
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
},
{
label: '包装数量',
field: 'packQty',
label: '目标库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
}
},
{
label: '包装规格',
field: 'packUnit',
// dictType: DICT_TYPE.PACK_UNIT,
// dictClass: 'string',
isTable: true,
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
@ -526,102 +526,134 @@ export const ProductreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
},
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '备注',
field: 'remark',
label: '器具号',
field: 'containerNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
label: '过期日期',
field: 'expireDate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
},
{
label: '创建者',
field: 'creator',
label: '到货主代码',
field: 'toOwnerCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '物料名称',
field: 'itemName',
label: '到库位组代码',
field: 'toLocationGroupCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '物料描述1',
field: 'itemDesc1',
label: '到库区代码',
field: 'toAreaCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '物料描述2',
field: 'itemDesc2',
label: '订单号',
field: 'woNumber',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '项目代码',
field: 'projectCode',
label: '订单行',
field: 'woLine',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '数量',
field: 'qty',
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
isTable: false,
form: {
component: 'InputNumber',
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
table: {
width: 150
},
isTable: false,
},
// {
// label: '任务明细ID',
@ -644,7 +676,7 @@ export const ProductreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
field: 'interfaceType',
dictType: DICT_TYPE.INTERFACE_TYPE,
dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150

62
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue

@ -55,7 +55,15 @@
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
/>
>
<template v-slot="{row}">
<el-date-picker v-bind:modelValue="row['expireTime']?addDay(row['produceDate'],row['expireTime']):dayjs('2099-12-31').valueOf()"
:clearable="true"
style="width: 100%"
:disabled="true"
placeholder="选择日期"/>
</template>
</BasicForm>
<!-- 详情 -->
<Detail
@ -135,7 +143,7 @@ import * as ItembasicApi from '@/api/wms/itembasic'
import * as PackageApi from '@/api/wms/package'
import { formatTime } from '@/utils/index'
import { getAccessToken } from '@/utils/auth'
import dayjs from 'dayjs'
//
//
defineOptions({ name: 'ProductreceiptRequestMain' })
@ -190,6 +198,9 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
if (formField == 'secondPackUnit') {
row['secondPackUnit'] = val[0]['packUnit']
row['secondPackQty'] = val[0]['packQty']
}else if (formField == 'itemCode') {
row['uom'] = val[0]['uom']
row['produceDate'] = dayjs().valueOf()
}
//
row[formField] = val[0][searchField]
@ -544,6 +555,9 @@ const handleDeleteTable = (item, index) => {
//
const submitForm = async (formType, data) => {
tableData.value.forEach((row, index) => {
row['expireDate'] = row['expireTime']?addDay(row['produceDate'],row['expireTime']).valueOf():dayjs('2099-12-31').valueOf()
})
data.type = 'predict'
data.subList = tableData.value //
if(data.subList.find(item => (item.qty <= 0))) {
@ -680,42 +694,24 @@ const handlePoint = async (row) => {
const searchTableRef = ref()
//
const labelPrint = async (row) => {
console.log("------------",row);
tableObject.loading = true
const subTableDFata = await PackageApi.getLabel(row.masterId)
tableObject.loading = false
const tableObject1 = {
//
currentPage: 1,
//
exportLoading: false,
//
loading: false,
//
pageSize: subTableDFata.length,
params:null,
//
sort: {
order: '', //
prop: '' //
},
//
total: subTableDFata.length,
//
tableList: subTableDFata,
currentRow:null
}
console.log("标签打印",subTableDFata,tableObject1,SupplierdeliverRequestPackage.allSchemas)
const defaultParams = {'moduleName':'productreceipt_predict','recordNumber':row.number}
const {tableObject:tableObjectPrint ,tableMethods} = useTable({
defaultParams,
getListApi: PackageApi.getLabelDetailPage //
})
//
const { getList:getListPrint } = tableMethods
getListPrint()
tableObject.loading = false
const tableColumns = SupplierdeliverRequestPackage.allSchemas.tableFormColumns
tableColumns.forEach((item) => {
item.width = item.table?.width || 150
})
searchTableRef.value.openData("标签信息",tableObject1,{tableColumns},true)
// window.open(src.value + '&asn_number=' + row.asnNumber)
searchTableRef.value.openData("标签信息",tableObjectPrint,{tableColumns},true)
}
// --
const searchTableSuccess1 = async (formField, searchField, val, formRef, type, row) => {
console.log('批量打印',val)
@ -733,10 +729,10 @@ const searchTableSuccess1 = async (formField, searchField, val, formRef, type, r
console.log(res)
if (labelType.value == 'cg') {
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken())
window.open(src.value+'&request_number='+res)
window.open(src.value+'&asn_number='+res)
} else {
const src = ref(BASE_URL + '/jmreport/view/922734157577715712?token=' + getAccessToken())
window.open(src.value+'&request_number='+res)
window.open(src.value+'&asn_number='+res)
}
}).catch(err => {
console.log(err)

59
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

@ -122,6 +122,54 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
isTable: false,
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码',
searchField: 'code',
searchTitle: '生产线信息',
searchAllSchemas: Productionline.allSchemas,
searchPage: ProductionlineApi.getProductionlinePage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'workshopCode',
value: 'workshopCode',
message: '请填写车间代码!',
isMainValue: true
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择生产线代码',
searchField: 'code',
searchTitle: '生产线信息',
searchAllSchemas: Productionline.allSchemas,
searchPage: ProductionlineApi.getProductionlinePage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'workshopCode',
value: 'workshopCode',
message: '请填写车间代码!',
isMainValue: true
}]
}
}
},
{
label: '班组',
field: 'team',
@ -515,6 +563,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isTableForm: false,
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码',
@ -990,9 +1039,13 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 180
},
tableForm: {
type: 'FormDate',
valueFormat: 'x',
// tableForm: {
// type: 'FormDate',
// valueFormat: 'x',
// },
tableForm:{
type: 'slot',
disabled: true
},
form: {
component: 'DatePicker',

2
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleJobMain/index.vue

@ -62,7 +62,7 @@
:detailAllSchemas="ProductreceiptJobDetail.allSchemas"
:detailAllSchemasRules="ProductreceiptJobDetailRules"
:searchTableParams="searchTableParams"
:apiPage="ProductreceiptJobDetailApi.getProductreceiptJobDetailPage"
:apiPage="ProductreceiptJobDetailApi.getProductreceiptJobDetailPageAssemble"
/>
</template>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save