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 10 months ago
parent
commit
0d712a9af1
  1. 53
      src/api/mes/ordermonthplan/index.ts
  2. 66
      src/api/mes/pattern/index.ts
  3. 54
      src/api/mes/patternType/index.ts
  4. 60
      src/api/qms/aql/index.ts
  5. 20
      src/api/qms/inspectionJob/inspectionJobDetail/index.ts
  6. 16
      src/api/qms/inspectionJob/inspectionJobMain/index.ts
  7. 3
      src/api/qms/inspectionMethod/index.ts
  8. 65
      src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts
  9. 65
      src/api/qms/inspectionRecord/inspectionRecordMain/index.ts
  10. 2
      src/api/qms/samplingScheme/index.ts
  11. 12
      src/api/wms/balance/index.ts
  12. 57
      src/api/wms/systemInstallPackage/index.ts
  13. 25
      src/api/wms/unplannedissueRecordMain/index.ts
  14. 27
      src/api/wms/unplannedissueRequestMain/index.ts
  15. 48
      src/components/BasicForm/src/BasicForm.vue
  16. 12
      src/components/Detail/src/Detail.vue
  17. 3
      src/components/TableForm/src/TableForm.vue
  18. 8
      src/components/UploadFile/src/UploadFile.vue
  19. 2
      src/utils/dict.ts
  20. 66
      src/views/mes/ordermonthplan/index.vue
  21. 88
      src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts
  22. 177
      src/views/mes/ordermonthplan/mesOrderMonthSub.data.ts
  23. 244
      src/views/mes/pattern/index.vue
  24. 217
      src/views/mes/pattern/pattern.data.ts
  25. 244
      src/views/mes/patternType/index.vue
  26. 145
      src/views/mes/patternType/patternType.data.ts
  27. 83
      src/views/mes/workstation/mesOrderMonthMain.data.ts
  28. 67
      src/views/qms/aql/aql.data.ts
  29. 10
      src/views/qms/aql/index.vue
  30. 240
      src/views/qms/basicDataManage/inspectionPlan/addForm.vue
  31. 1
      src/views/qms/basicDataManage/inspectionPlan/index.vue
  32. 43
      src/views/qms/basicDataManage/inspectionPlan/inspectionPlan.data.ts
  33. 97
      src/views/qms/basicDataManage/inspectionTemplate/addForm.vue
  34. 4
      src/views/qms/basicDataManage/inspectionTemplate/inspectionTemplate.data.ts
  35. 1010
      src/views/qms/inspection/inspectionJob/addForm.vue
  36. 43
      src/views/qms/inspection/inspectionJob/index.vue
  37. 38
      src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts
  38. 289
      src/views/qms/inspection/inspectionRecord/index.vue
  39. 453
      src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts
  40. 211
      src/views/qms/inspection/inspectionRequest/index.vue
  41. 2
      src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts
  42. 10
      src/views/qms/inspectionMethod/index.vue
  43. 17
      src/views/qms/inspectionMethod/inspectionMethod.data.ts
  44. 2
      src/views/qms/samplingProcess/samplingProcess.data.ts
  45. 2
      src/views/qms/samplingScheme/samplingScheme.data.ts
  46. 198
      src/views/system/systemInstallPackage/index.vue
  47. 114
      src/views/system/systemInstallPackage/systemInstallPackage.data.ts
  48. 10
      src/views/wms/countManage/count/countPlanMain/countPlanMain.data.ts
  49. 11
      src/views/wms/countManage/count/countRequestMain/countRequestMain.data.ts
  50. 12
      src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts
  51. 11
      src/views/wms/deliversettlementManage/customerreceipt/customerreceiptRequestMain/customerreceiptRequestMain.data.ts
  52. 5
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts
  53. 11
      src/views/wms/deliversettlementManage/customersettle/customersettleRequestMain/customersettleRequestMain.data.ts
  54. 11
      src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts
  55. 9
      src/views/wms/deliversettlementManage/deliverplan/deliverPlanMain/deliverPlanMain.data.ts
  56. 4
      src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts
  57. 11
      src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts
  58. 5
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
  59. 5
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts
  60. 2
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionJobMain/index.vue
  61. 4
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRecordMain/index.vue
  62. 5
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/index.vue
  63. 29
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts
  64. 5
      src/views/wms/inventoryjobManage/transferissue/transferissueRequestMain/transferissueRequestMain.data.ts
  65. 5
      src/views/wms/inventoryjobManage/transferreceipt/transferreceiptRequestMain/transferreceiptRequestMain.data.ts
  66. 2
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/index.vue
  67. 5
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts
  68. 5
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts
  69. 5
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  70. 4
      src/views/wms/issueManage/preparetoissueplan/preparetoissueMain/preparetoissueMain.data.ts
  71. 5
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  72. 5
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
  73. 5
      src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
  74. 5
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts
  75. 5
      src/views/wms/productionManage/offlinesettlement/offlinesettlementRequestMain/offlinesettlementRequestMain.data.ts
  76. 5
      src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts
  77. 4
      src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
  78. 4
      src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
  79. 5
      src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts
  80. 4
      src/views/wms/productionManage/productionplan/productionMainPredictSparePart/productionMainPredictSparePart.data.ts
  81. 5
      src/views/wms/productionManage/productputaway/productputawayRequestMain/productputawayRequestMain.data.ts
  82. 5
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
  83. 5
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
  84. 5
      src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts
  85. 1
      src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts
  86. 5
      src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts
  87. 5
      src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts
  88. 5
      src/views/wms/purchasereceiptManage/inspect/inspectRequestMain/inspectRequestMain.data.ts
  89. 4
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts
  90. 4
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
  91. 4
      src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/putawayRequestMain.data.ts
  92. 4
      src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts
  93. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/demandforecastingMain.data.ts
  94. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts
  95. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts
  96. 6
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts
  97. 4
      src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/purchaseclaimRequestMain.data.ts
  98. 42
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue
  99. 45
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

53
src/api/mes/ordermonthplan/index.ts

@ -58,3 +58,56 @@ export const exportMesOrderMonthMain = async (params) => {
export const importTemplate = () => {
return request.download({ url: '/plan/mes-order-month-main/get-import-template' })
}
export interface MesOrderMonthSubVO {
status: string
remark: string
productCode: string
bomCode: string
inStoreCode: string
planBegin: Date
planEnd: Date
realStart: string
realFinish: Date
planCount: number
finishCount: number
qualifiedCount: number
unqualifiedCount: number
flagBackwash: string
productBatchcode: string
}
// 查询订单月计划子列表
export const getMesOrderMonthSubPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/plan/mes-order-month-sub/senior', data })
} else {
return await request.get({ url: `/plan/mes-order-month-sub/page`, params })
}
}
// 查询订单月计划子详情
export const getMesOrderMonthSub = async (id: number) => {
return await request.get({ url: `/plan/mes-order-month-sub/get?id=` + id })
}
// 新增订单月计划子
export const createMesOrderMonthSub = async (data: MesOrderMonthSubVO) => {
return await request.post({ url: `/plan/mes-order-month-sub/create`, data })
}
// 修改订单月计划子
export const updateMesOrderMonthSub = async (data: MesOrderMonthSubVO) => {
return await request.put({ url: `/plan/mes-order-month-sub/update`, data })
}
// 删除订单月计划子
export const deleteMesOrderMonthSub = async (id: number) => {
return await request.delete({ url: `/plan/mes-order-month-sub/delete?id=` + id })
}
// 导出订单月计划子 Excel
export const exportMesOrderMonthSub = async (params) => {
return await request.download({ url: `/plan/mes-order-month-sub/export-excel`, params })
}

66
src/api/mes/pattern/index.ts

@ -0,0 +1,66 @@
import request from '@/config/axios'
export interface PatternVO {
deleteTime: Date
id: number
status: string
concurrencyStamp: number
remark: string
deleter: string
siteId: number
code: string
name: string
partternName: string
productCode: string
dateUseStart: Date
dateUseStop: Date
partternFrom: string
partternGo: string
initCout: number
effectStart: Date
effectEnd: Date
factoryCode: string
factoryName: string
factoryType: string
}
// 查询模具基本信息列表
export const getPatternPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/mes/pattern/senior', data })
} else {
return await request.get({ url: `/mes/pattern/page`, params })
}
}
// 查询模具基本信息详情
export const getPattern = async (id: number) => {
return await request.get({ url: `/mes/pattern/get?id=` + id })
}
// 新增模具基本信息
export const createPattern = async (data: PatternVO) => {
return await request.post({ url: `/mes/pattern/create`, data })
}
// 修改模具基本信息
export const updatePattern = async (data: PatternVO) => {
return await request.put({ url: `/mes/pattern/update`, data })
}
// 删除模具基本信息
export const deletePattern = async (id: number) => {
return await request.delete({ url: `/mes/pattern/delete?id=` + id })
}
// 导出模具基本信息 Excel
export const exportPattern = async (params) => {
return await request.download({ url: `/mes/pattern/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/mes/pattern/get-import-template' })
}

54
src/api/mes/patternType/index.ts

@ -0,0 +1,54 @@
import request from '@/config/axios'
export interface PatternTypeVO {
deleteTime: Date
id: number
status: string
concurrencyStamp: number
remark: string
deleter: string
siteId: number
code: string
name: string
}
// 查询模具类型列表
export const getPatternTypePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/mes/pattern-type/senior', data })
} else {
return await request.get({ url: `/mes/pattern-type/page`, params })
}
}
// 查询模具类型详情
export const getPatternType = async (id: number) => {
return await request.get({ url: `/mes/pattern-type/get?id=` + id })
}
// 新增模具类型
export const createPatternType = async (data: PatternTypeVO) => {
return await request.post({ url: `/mes/pattern-type/create`, data })
}
// 修改模具类型
export const updatePatternType = async (data: PatternTypeVO) => {
return await request.put({ url: `/mes/pattern-type/update`, data })
}
// 删除模具类型
export const deletePatternType = async (id: number) => {
return await request.delete({ url: `/mes/pattern-type/delete?id=` + id })
}
// 导出模具类型 Excel
export const exportPatternType = async (params) => {
return await request.download({ url: `/mes/pattern-type/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/mes/pattern-type/get-import-template' })
}

60
src/api/qms/aql/index.ts

@ -6,36 +6,36 @@ export interface AqlVO {
inspectionQualification: string
sampleCharacterCode: string
sampleSize: number
a0010: number
r0010: number
a0015: number
r0015: number
a0025: number
r0025: number
a0040: number
r0040: number
a0065: number
r0065: number
a010: number
r010: number
a015: number
r015: number
a025: number
r025: number
a040: number
r040: number
a065: number
r065: number
a10: number
r10: number
a15: number
r15: number
a25: number
r25: number
a40: number
r40: number
a65: number
r65: number
a0Separator010: number
r0Separator010: number
a0Separator015: number
r0Separator015: number
a0Separator025: number
r0Separator025: number
a0Separator040: number
r0Separator040: number
a0Separator065: number
r0Separator065: number
a0Separator10: number
r0Separator10: number
a0Separator15: number
r0Separator15: number
a0Separator25: number
r0Separator25: number
a0Separator40: number
r0Separator40: number
a0Separator65: number
r0Separator65: number
a1Separator0: number
r1Separator0: number
a1Separator5: number
r1Separator5: number
a2Separator5: number
r2Separator5: number
a4Separator0: number
r4Separator0: number
a6Separator5: number
r6Separator5: number
a10: number
r10: number
a15: number

20
src/api/qms/inspectionJob/inspectionJobDetail/index.ts

@ -28,38 +28,42 @@ export const getInspectionJobDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/inspection/inspection-job-detail/senior', data })
return await request.post({ url: '/qms/inspection-job-detail/senior', data })
} else {
return await request.get({ url: `/inspection/inspection-job-detail/page`, params })
return await request.get({ url: `/qms/inspection-job-detail/page`, params })
}
}
//查询检验申请列表
export const getInspectionJobDetailList = async (id: number) => {
return await request.get({ url: `/qms/inspection-job-detail/list?masterId=` + id })
}
// 查询检验申请详情
export const getInspectionJobDetail = async (id: number) => {
return await request.get({ url: `/inspection/inspection-job-detail/get?id=` + id })
return await request.get({ url: `/qms/inspection-job-detail/get?id=` + id })
}
// 新增检验申请
export const createInspectionJobDetail = async (data: InspectionJobDetailVO) => {
return await request.post({ url: `/inspection/inspection-job-detail/create`, data })
return await request.post({ url: `/qms/inspection-job-detail/create`, data })
}
// 修改检验申请
export const updateInspectionJobDetail = async (data: InspectionJobDetailVO) => {
return await request.put({ url: `/inspection/inspection-job-detail/update`, data })
return await request.put({ url: `/qms/inspection-job-detail/update`, data })
}
// 删除检验申请
export const deleteInspectionJobDetail = async (id: number) => {
return await request.delete({ url: `/inspection/inspection-job-detail/delete?id=` + id })
return await request.delete({ url: `/qms/inspection-job-detail/delete?id=` + id })
}
// 导出检验申请 Excel
export const exportInspectionJobDetail = async (params) => {
return await request.download({ url: `/inspection/inspection-job-detail/export-excel`, params })
return await request.download({ url: `/qms/inspection-job-detail/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/inspection/inspection-job-detail/get-import-template' })
return request.download({ url: '/qms/inspection-job-detail/get-import-template' })
}

16
src/api/qms/inspectionJob/inspectionJobMain/index.ts

@ -28,38 +28,38 @@ export const getInspectionJobMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/inspection/inspection-job-main/senior', data })
return await request.post({ url: '/qms/inspection-job-main/senior', data })
} else {
return await request.get({ url: `/inspection/inspection-job-main/page`, params })
return await request.get({ url: `/qms/inspection-job-main/page`, params })
}
}
// 查询检验申请详情
export const getInspectionJobMain = async (id: number) => {
return await request.get({ url: `/inspection/inspection-job-main/get?id=` + id })
return await request.get({ url: `/qms/inspection-job-main/get?id=` + id })
}
// 新增检验申请
export const createInspectionJobMain = async (data: InspectionJobMainVO) => {
return await request.post({ url: `/inspection/inspection-job-main/create`, data })
return await request.post({ url: `/qms/inspection-job-main/create`, data })
}
// 修改检验申请
export const updateInspectionJobMain = async (data: InspectionJobMainVO) => {
return await request.put({ url: `/inspection/inspection-job-main/update`, data })
return await request.put({ url: `/qms/inspection-job-main/update`, data })
}
// 删除检验申请
export const deleteInspectionJobMain = async (id: number) => {
return await request.delete({ url: `/inspection/inspection-job-main/delete?id=` + id })
return await request.delete({ url: `/qms/inspection-job-main/delete?id=` + id })
}
// 导出检验申请 Excel
export const exportInspectionJobMain = async (params) => {
return await request.download({ url: `/inspection/inspection-job-main/export-excel`, params })
return await request.download({ url: `/qms/inspection-job-main/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/inspection/inspection-job-main/get-import-template' })
return request.download({ url: '/qms/inspection-job-main/get-import-template' })
}

3
src/api/qms/inspectionMethod/index.ts

@ -3,9 +3,8 @@ import request from '@/config/axios'
export interface InspectionMethodVO {
id: number
code: string
describe: string
description: string
version: string
status: string
operationGuidance: string
videoAddress: string
available: string

65
src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts

@ -0,0 +1,65 @@
import request from '@/config/axios'
export interface InspectionRecordDetailVO {
number: string
applicationDate: localdate
applicationTime: Date
requestStartTime: Date
requestEndTime: Date
finishTime: Date
supplierCode: string
materialCode: string
batch: string
requestInspectionNum: number
referenceOrderCode: string
referenceOrderRow: number
referenceCertificateCode: string
referenceCertificateRow: number
inspectionSchemeCode: string
inspectionStageCode: string
applicationPackageCode: string
inspectionLevel: string
aqlValue: number
available: string
}
// 查询检验申请列表
export const getInspectionRecordDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/inspection/inspection-recordord-detail/senior', data })
} else {
return await request.get({ url: `/inspection/inspectirecordrecord-detail/page`, params })
}
}
// 查询检验申请详情
export const getInspectionRecordDetail = async (id: number) => {
return await request.get({ url: `/inspection/insperecordon-record-detail/get?id=` + id })
}
// 新增检验申请
export const createInspectionRecordDetail = async (data: InspectionRecordDetailVO) => {
return await request.post({ url: `/inspection/inrecordction-record-detail/create`, data })
}
// 修改检验申请
export const updateInspectionRecordDetail = async (data: InspectionRecordDetailVO) => {
return await request.put({ url: `/inspectionrecordspection-record-detail/update`, data })
}
// 删除检验申请
export const deleteInspectionRecordDetail = async (id: number) => {
return await request.delete({ url: `/inspectrecord/inspection-record-detail/delete?id=` + id })
}
// 导出检验申请 Excel
export const exportInspectionRecordDetail = async (params) => {
return await request.download({ url: `/insprecordion/inspection-record-detail/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/irecordection/inspection-record-detail/get-import-template' })
}

65
src/api/qms/inspectionRecord/inspectionRecordMain/index.ts

@ -0,0 +1,65 @@
import request from '@/config/axios'
export interface InspectionRecordMainVO {
number: string
applicationDate: localdate
applicationTime: Date
requestStartTime: Date
requestEndTime: Date
finishTime: Date
supplierCode: string
materialCode: string
batch: string
requestInspectionNum: number
referenceOrderCode: string
referenceOrderRow: number
referenceCertificateCode: string
referenceCertificateRow: number
inspectionSchemeCode: string
inspectionStageCode: string
applicationPackageCode: string
inspectionLevel: string
aqlValue: number
available: string
}
// 查询检验申请列表
export const getInspectionRecordMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/inspection/inspection-record-main/senior', data })
} else {
return await request.get({ url: `/inspection/inspection-record-main/page`, params })
}
}
// 查询检验申请详情
export const getInspectionRecordMain = async (id: number) => {
return await request.get({ url: `/inspection/inspection-record-main/get?id=` + id })
}
// 新增检验申请
export const createInspectionRecordMain = async (data: InspectionRecordMainVO) => {
return await request.post({ url: `/inspection/inspection-record-main/create`, data })
}
// 修改检验申请
export const updateInspectionRecordMain = async (data: InspectionRecordMainVO) => {
return await request.put({ url: `/inspection/inspection-record-main/update`, data })
}
// 删除检验申请
export const deleteInspectionRecordMain = async (id: number) => {
return await request.delete({ url: `/inspection/inspection-record-main/delete?id=` + id })
}
// 导出检验申请 Excel
export const exportInspectionRecordMain = async (params) => {
return await request.download({ url: `/inspection/inspection-record-main/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/inspection/inspection-record-main/get-import-template' })
}

2
src/api/qms/samplingScheme/index.ts

@ -3,7 +3,7 @@ import request from '@/config/axios'
export interface SamplingSchemeVO {
id: number
code: string
describe: string
description: string
available: string
}

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

@ -82,6 +82,18 @@ export const getBalancePageByBusinessType = async (params) => {
}
}
// 备件出库查询库存余额列表
export const getBalancePageSpare = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/seniorSpareItems', data })
} else {
return await request.get({ url: `/wms/balance/pageSpareItem`, params })
}
}
// 查询库存余额详情
export const getBalance = async (id: number) => {
return await request.get({ url: `/wms/balance/get?id=` + id })

57
src/api/wms/systemInstallPackage/index.ts

@ -0,0 +1,57 @@
import request from '@/config/axios'
export interface SystemInstallPackageVO {
id: number
installPackageName: string
installPackageVersion: number
installPackageUrl: string
isForcedUpdate: string
updateContent: string
remark: string
}
// 查询安装包信息列表
export const getSystemInstallPackagePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/system-install-package/senior', data })
} else {
return await request.get({ url: `/wms/system-install-package/page`, params })
}
}
// 查询安装包信息详情
export const getSystemInstallPackage = async (id: number) => {
return await request.get({ url: `/wms/system-install-package/get?id=` + id })
}
// 新增安装包信息
export const createSystemInstallPackage = async (data: SystemInstallPackageVO) => {
return await request.post({ url: `/wms/system-install-package/create`, data })
}
// 修改安装包信息
export const updateSystemInstallPackage = async (data: SystemInstallPackageVO) => {
return await request.put({ url: `/wms/system-install-package/update`, data })
}
// 删除安装包信息
export const deleteSystemInstallPackage = async (id: number) => {
return await request.delete({ url: `/wms/system-install-package/delete?id=` + id })
}
// 导出安装包信息 Excel
export const exportSystemInstallPackage = async (params) => {
return await request.download({ url: `/wms/system-install-package/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/system-install-package/get-import-template' })
}
// 返回最新版本安装包信息
export const returnNewFileSystemInstallPackage = async (data: SystemInstallPackageVO) => {
return await request.post({ url: `/wms/system-install-package/returnNewFile`, data })
}

25
src/api/wms/unplannedissueRecordMain/index.ts

@ -29,8 +29,33 @@ export const getUnplannedissueRecordMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
const dataTypeCondition = {
'column':'dataType',
'action':'==',
'value':'1'
}
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-record-main/senior', data })
} else {
params.dataType='1'
return await request.get({ url: `/wms/unplannedissue-record-main/page`, params })
}
}
// 查询计划外出库记录主列表
export const getUnplannedissueRecordMainPageSpare = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
const dataTypeCondition = {
'column':'dataType',
'action':'==',
'value':'2'
}
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-record-main/senior', data })
} else {
params.dataType='2'
return await request.get({ url: `/wms/unplannedissue-record-main/page`, params })
}
}

27
src/api/wms/unplannedissueRequestMain/index.ts

@ -27,12 +27,39 @@ export const getUnplannedissueRequestMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
const dataTypeCondition = {
'column':'dataType',
'action':'==',
'value':'1'
}
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-request-main/senior', data })
} else {
params.dataType='1'
return await request.get({ url: `/wms/unplannedissue-request-main/page`, params })
}
}
// 查询计划外出库申请主列表
export const getUnplannedissueRequestMainPageSpare = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
const dataTypeCondition = {
'column':'dataType',
'action':'==',
'value':'2'
}
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-request-main/senior', data })
} else {
params.dataType='2'
return await request.get({ url: `/wms/unplannedissue-request-main/page`, params })
}
}
// 查询计划外出库申请主详情
export const getUnplannedissueRequestMain = async (id: number) => {
return await request.get({ url: `/wms/unplannedissue-request-main/get?id=` + id })

48
src/components/BasicForm/src/BasicForm.vue

@ -89,7 +89,11 @@
@inputNumberChange="inputNumberChange"
@tableFormSelectOnBlur="tableFormSelectOnBlur"
@formFormDateChange="formFormDateChange"
/>
>
<template v-slot="{row}">
<slot :row="row"></slot>
</template>
</TableForm>
</div>
<div v-if="isBusiness && formType == 'create' && fromeWhere == 'countPlan'">
<TableFormCountPlan
@ -271,6 +275,21 @@ const props = defineProps({
type: Number,
required: false,
default: 0
},
//searchTable
/***[{
formField:form中对应的field,
tableField:searchtable中对应的field,
}]*/
sumFormDataField:{
type: Array,
required: false,
default: null
},
sumFormDataByForm:{
type:Function,
required: false,
default: null
}
})
@ -383,6 +402,33 @@ const opensearchTable = (
_searchCondition
)
}
const sumFormDataByTable = () => {
if(props.sumFormDataField){
const sumObject = {}
props.sumFormDataField.forEach(sumItem=>{
sumObject[sumItem?.formField]= props.tableData.reduce((prev, item) => prev + item[sumItem?.tableField],0)
})
nextTick(()=>{
formRef.value.setValues(sumObject)
})
}
}
watch(()=>props.tableData,() => {
sumFormDataByTable()
},{
deep:true
})
watch(()=>unref(formRef)?.formModel,() => {
if(props?.sumFormDataByForm&&unref(formRef)?.formModel){
props?.sumFormDataByForm(formRef,unref(formRef)?.formModel)
}
},{
deep:true
})
//
// val row
const searchTableSuccess = (formField, searchField, val, type, row) => {

12
src/components/Detail/src/Detail.vue

@ -322,6 +322,12 @@ const props = defineProps({
required: false,
default: false
},
//
otherHeadButttonData:{
type:Array,
required: false,
default: () => []
}
})
const isShowDrawer = ref(false)
const detailLoading = ref(false)
@ -544,7 +550,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
defaultButtons.defaultFilterBtn(null) //
]
}
HeadButttondata.value = [...HeadButttondata.value,...props.otherHeadButttonData]
let detailButtonEdit: any = []
let detailButtonDelete: any = []
if (props.detailButtonIsShowEdit) {
@ -654,6 +660,7 @@ const buttonBaseClick = (val, item) => {
} else {
//
console.log('其他按钮', item)
emit('buttonBaseClick',val, item)
}
}
@ -781,7 +788,8 @@ const emit = defineEmits([
'openImage',
'onBlur',
'detailBasicFormOnChange',
'formFormDateChange'
'formFormDateChange',
'buttonBaseClick'
])
/** 删除按钮操作 */
const handleDelete = async (id: number) => {

3
src/components/TableForm/src/TableForm.vue

@ -69,6 +69,9 @@
/>
<el-button v-if="headerItem?.tableForm?.isInpuFocusShow" @click="inpuFocus(headerItem,row,index)"><Icon icon="ep:search" size="14"/></el-button>
</el-form-item>
<el-form-item v-if="headerItem?.tableForm?.type == 'slot'">
<slot :row="row"></slot>
</el-form-item>
<!-- 金额输入框 -->
<el-form-item
v-if="headerItem?.tableForm?.type == 'number'"

8
src/components/UploadFile/src/UploadFile.vue

@ -129,11 +129,11 @@ const excelUploadError: UploadProps['onError'] = (): void => {
}
//
const handleRemove = (file) => {
const findex = fileList.value.map((f) => f.name).indexOf(file.name)
if (findex > -1) {
fileList.value.splice(findex, 1)
// const findex = fileList.value.map((f) => f.name).indexOf(file.name)
// if (findex > -1) {
// fileList.value.splice(findex, 1)
emit('update:modelValue', listToString(fileList.value))
}
// }
}
const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
console.log(uploadFile)

2
src/utils/dict.ts

@ -285,7 +285,7 @@ export enum DICT_TYPE {
MES_WORKBILL_MODEL='mes_workbill_model',// 工单模式 单工单(根据产品数量生成多个工单)、批量工单(一个产品一个工单)
MES_TASK_MODE='mes_task_mode', //生产模式 派工方式、领工方式
MES_PLANDO_STATUS='mes_plando_status', //计划执行状
PLAN_TYPE_MES='plan_type_mes',
//========== QMS ==========
SAMPLING_TYPE = "sampling_type", // 取样类型

66
src/views/mes/ordermonthplan/index.vue

@ -27,9 +27,9 @@
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>
<template #planMasterCode="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.planMasterCode)">
<span>{{ row.planMasterCode }}</span>
</el-button>
</template>
<template #action="{ row }">
@ -44,33 +44,48 @@
@success="formsSuccess"
:rules="MesOrderMonthMainRules"
:formAllSchemas="MesOrderMonthMain.allSchemas"
:apiUpdate="MesOrderMonthMainApi.updateMesOrderMonthMain"
:apiCreate="MesOrderMonthMainApi.createMesOrderMonthMain"
@searchTableSuccess="searchTableSuccess"
:apiUpdate="MesOrderMonthApi.updateMesOrderMonthMain"
:apiCreate="MesOrderMonthApi.createMesOrderMonthMain"
:apiDelete="MesOrderMonthApi.deleteMesOrderMonthMain"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="MesOrderMonthMain.allSchemas" />
<Detail ref="detailRef"
:isBasic="false"
:allSchemas="MesOrderMonthMain.allSchemas"
:detailAllSchemas="detailAllSchemas"
:detailAllSchemasRules="MesOrderMonthSubRules"
:apiPage="MesOrderMonthApi.getMesOrderMonthSubPage"
:apiCreate="MesOrderMonthApi.createMesOrderMonthSub"
:apiUpdate="MesOrderMonthApi.updateMesOrderMonthSub"
:apiDelete="MesOrderMonthApi.deleteMesOrderMonthSub"
:tabs="TabsList"
:detailButtonIsShowDelete="true"
:detailButtonIsShowEdit="true"
:detailButtonIsShowAdd="true"
/>
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/plan/mes-order-month-main/import" :importTemplateData="importTemplateData" @success="importSuccess" />
<ImportForm ref="importFormRef" url="/plan/mes-order-month-main/import"
:importTemplateData="importTemplateData" @success="importSuccess"/>
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { MesOrderMonthMain,MesOrderMonthMainRules } from './mesOrderMonthMain.data'
import * as MesOrderMonthMainApi from '@/api/mes/ordermonthplan'
import {MesOrderMonthMain, MesOrderMonthMainRules,TabsList} from './mesOrderMonthMain.data'
import * as MesOrderMonthApi from '@/api/mes/ordermonthplan'
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'
import {
MesOrderMonthSub,
MesOrderMonthSubRules
} from "@/views/mes/ordermonthplan/mesOrderMonthSub.data";
defineOptions({ name: 'MesOrderMonthMain' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
@ -84,14 +99,13 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
formRef.setValues(setV)
})
}
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({
getListApi: MesOrderMonthMainApi.getMesOrderMonthMainPage //
getListApi: MesOrderMonthApi.getMesOrderMonthMainPage //
})
//
@ -99,9 +113,9 @@ const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:mesOrderMonthMain:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:mesOrderMonthMain:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:mesOrderMonthMain:export'}), //
defaultButtons.defaultAddBtn({hasPermi: 'mes:ordermonthplan:create'}), //
defaultButtons.defaultImportBtn({hasPermi: 'mes:ordermonthplan:import'}), //
// defaultButtons.defaultExportBtn({hasPermi:'mes:ordermonthplan:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -133,8 +147,8 @@ const buttonBaseClick = (val, item) => {
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:mesOrderMonthMain:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:mesOrderMonthMain:delete'}), //
defaultButtons.mainListEditBtn({hasPermi: 'mes:ordermonthplan:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi: 'mes:ordermonthplan:delete'}), //
]
// -
@ -166,10 +180,10 @@ const formsSuccess = async (formType,data) => {
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await MesOrderMonthMainApi.createMesOrderMonthMain(data)
await MesOrderMonthApi.createMesOrderMonthMain(data)
message.success(t('common.createSuccess'))
} else {
await MesOrderMonthMainApi.updateMesOrderMonthMain(data)
await MesOrderMonthApi.updateMesOrderMonthMain(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
@ -188,7 +202,7 @@ const handleDelete = async (id: number) => {
//
await message.delConfirm()
//
await MesOrderMonthMainApi.deleteMesOrderMonthMain(id)
await MesOrderMonthApi.deleteMesOrderMonthMain(id)
message.success(t('common.delSuccess'))
//
await getList()
@ -203,7 +217,7 @@ const handleExport = async () => {
await message.exportConfirm()
//
exportLoading.value = true
const data = await MesOrderMonthMainApi.exportMesOrderMonthMain(tableObject.params)
const data = await MesOrderMonthApi.exportMesOrderMonthMain(tableObject.params)
download.excel(data, '订单计划月主.xlsx')
} catch {
} finally {
@ -238,7 +252,7 @@ const searchFormClick = (searchData) => {
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await MesOrderMonthMainApi.importTemplate()
importTemplateData.templateUrl = await MesOrderMonthApi.importTemplate()
})
const detailAllSchemas = ref(MesOrderMonthSub.allSchemas)
</script>

88
src/views/mes/ordermonthplan/mesOrderMonthMain.data.ts

@ -1,40 +1,16 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import type {CrudSchema} from '@/hooks/web/useCrudSchemas'
import {dateFormatter} from '@/utils/formatTime'
// 表单校验
export const MesOrderMonthMainRules = reactive({
planMasterCode: [required],
planSubCode: [required],
planType: [required],
factoryCode: [required]
})
export const MesOrderMonthMain = useCrudSchemas(reactive<CrudSchema[]>([
{
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: 'creator',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '主计划编码',
field: 'planMasterCode',
@ -46,33 +22,60 @@ export const MesOrderMonthMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'planSubCode',
sort: 'custom',
isSearch: true
}, {
label: '工厂编码',
field: 'factoryCode',
sort: 'custom',
isTable: false
},
{
label: '工厂名称',
field: 'factoryName',
sort: 'custom',
isSearch: true,
isForm: false
}, {
label: '计划类型',
field: 'planType',
sort: 'custom',
dictType: DICT_TYPE.PLAN_TYPE_MES,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
form: {
component: 'SelectV2'
}
},
{
label: '审核人',
field: 'checker',
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true
isTable: false
},
{
label: '工厂编码',
field: 'factoryCode',
label: '创建时间',
field: 'createTime',
sort: 'custom',
isSearch: true
formatter: dateFormatter,
isSearch: true,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
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: 'factoryName',
label: '创建者用户名',
field: 'creator',
sort: 'custom',
isSearch: true
isSearch: true,
isForm: false
},
{
label: '操作',
@ -84,3 +87,8 @@ export const MesOrderMonthMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
]))
export const TabsList = [{
label: "子计划",
prop: 'mesOrderMonthSub',
}
]

177
src/views/mes/ordermonthplan/mesOrderMonthSub.data.ts

@ -0,0 +1,177 @@
import type {CrudSchema} from '@/hooks/web/useCrudSchemas'
import {dateFormatter} from '@/utils/formatTime'
// 表单校验
export const MesOrderMonthSubRules = reactive({
productCode: [required],
productName: [required],
bomCode: [required],
inStoreCode: [required],
planBegin: [required],
planEnd: [required],
planCount: [required],
productBatchcode: [required]
})
export const MesOrderMonthSub = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '产品编码',
field: 'productCode',
sort: 'custom',
isTable: false,
isSearch: true
},
{
label: '产品名称',
field: 'productName',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: 'BOM编号',
field: 'bomCode',
sort: 'custom',
isTable: false,
isSearch: true
},
{
label: '入库仓库编码',
field: 'inStoreCode',
sort: 'custom',
isSearch: true
},
{
label: '计划数量',
field: 'planCount',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
}
},
{
label: '完成数量',
field: 'finishCount',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '合格数量',
field: 'qualifiedCount',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '不合格数量',
field: 'unqualifiedCount',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '是否回冲',
field: 'flagBackwash',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '产品批次号',
field: 'productBatchcode',
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: 'planBegin',
sort: 'custom',
isSearch: true,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '计划结束日期',
field: 'planEnd',
sort: 'custom',
isSearch: true,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
style: {width: '100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
},
{
label: '实际开工日期',
field: 'realStart',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '实际完工日期',
field: 'realFinish',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isTable: false
},
{
label: '状态',
field: 'status',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

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

@ -0,0 +1,244 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="Pattern.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="Pattern.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="PatternRules"
:formAllSchemas="Pattern.allSchemas"
:apiUpdate="PatternApi.updatePattern"
:apiCreate="PatternApi.createPattern"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="Pattern.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/pattern/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { Pattern,PatternRules } from './pattern.data'
import * as PatternApi from '@/api/mes/pattern'
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: 'Pattern' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(Pattern.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: PatternApi.getPatternPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'mes:pattern:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'mes:pattern:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'mes:pattern: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:pattern:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'mes:pattern: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 =Pattern.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 PatternApi.createPattern(data)
message.success(t('common.createSuccess'))
} else {
await PatternApi.updatePattern(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, 'basicPattern')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await PatternApi.deletePattern(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 PatternApi.exportPattern(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 PatternApi.importTemplate()
})
</script>

217
src/views/mes/pattern/pattern.data.ts

@ -0,0 +1,217 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const PatternRules = reactive({
concurrencyStamp: [required],
})
export const Pattern = 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: 'concurrencyStamp',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '创建时间',
field: 'createTime',
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')]
}
},
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: 'code',
sort: 'custom',
isSearch: true,
},
{
label: '模具名称',
field: 'name',
sort: 'custom',
isSearch: true,
},
{
label: '模具类型',
field: 'partternName',
sort: 'custom',
isSearch: true,
},
{
label: '产品编码',
field: 'productCode',
sort: 'custom',
isSearch: true,
},
{
label: '启用时间',
field: 'dateUseStart',
sort: 'custom',
isSearch: true,
},
{
label: '停用时间',
field: 'dateUseStop',
sort: 'custom',
isSearch: true,
},
{
label: '模具来源',
field: 'partternFrom',
sort: 'custom',
isSearch: true,
},
{
label: '模具去向',
field: 'partternGo',
sort: 'custom',
isSearch: true,
},
{
label: '模具初始数量',
field: 'initCout',
sort: 'custom',
isSearch: true,
},
{
label: '有效期开始时间',
field: 'effectStart',
sort: 'custom',
isSearch: true,
},
{
label: '有效期结束时间',
field: 'effectEnd',
sort: 'custom',
isSearch: true,
},
{
label: '所属单位编码',
field: 'factoryCode',
sort: 'custom',
isSearch: true,
},
{
label: '所属单位名称',
field: 'factoryName',
sort: 'custom',
isSearch: true,
},
{
label: '所属单位类别',
field: 'factoryType',
sort: 'custom',
isSearch: true,
},
{
label: '状态',
field: 'status',
sort: 'custom',
dictType: DICT_TYPE.QUALIFY_STATUS,
dictClass: 'string',
isForm: true,
isSearch: true,
isTable: true,
form: {
component: 'Switch',
value: '2',
componentProps: {
inactiveValue: '2',
activeValue: '1'
}
},
},
{
label: '操作',
field: 'action',
isForm: false,
isDetail:false,
table: {
width: 150,
fixed: 'right'
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: false,
isTable: false
}
]))

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

@ -0,0 +1,244 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="PatternType.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="PatternType.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="PatternTypeRules"
:formAllSchemas="PatternType.allSchemas"
:apiUpdate="PatternTypeApi.updatePatternType"
:apiCreate="PatternTypeApi.createPatternType"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="PatternType.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/pattern-type/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { PatternType,PatternTypeRules } from './patternType.data'
import * as PatternTypeApi from '@/api/mes/patternType'
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: 'PatternType' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(PatternType.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: PatternTypeApi.getPatternTypePage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'mes:patternType:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'mes:patternType:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'mes:patternType: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:patternType:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'mes:patternType: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 =PatternType.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 PatternTypeApi.createPatternType(data)
message.success(t('common.createSuccess'))
} else {
await PatternTypeApi.updatePatternType(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, 'basicPatternType')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await PatternTypeApi.deletePatternType(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 PatternTypeApi.exportPatternType(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 PatternTypeApi.importTemplate()
})
</script>

145
src/views/mes/patternType/patternType.data.ts

@ -0,0 +1,145 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const PatternTypeRules = reactive({
code: [required],
name: [required]
})
export const PatternType = 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: 'concurrencyStamp',
sort: 'custom',
isSearch: false,
isTable: false,
isForm:false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '创建时间',
field: 'createTime',
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')]
}
},
},
{
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: 'code',
sort: 'custom',
isSearch: true,
},
{
label: '类型名称',
field: 'name',
sort: 'custom',
isSearch: true,
},
{
label: '状态',
field: 'status',
sort: 'custom',
dictType: DICT_TYPE.QUALIFY_STATUS,
dictClass: 'string',
isForm: true,
isSearch: true,
isTable: true,
form: {
component: 'Switch',
value: '2',
componentProps: {
inactiveValue: '2',
activeValue: '1'
}
},
},
{
label: '操作',
field: 'action',
isForm: false,
isDetail:false,
table: {
width: 150,
fixed: 'right'
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: false,
isTable: false
}
]))

83
src/views/mes/workstation/mesOrderMonthMain.data.ts

@ -1,83 +0,0 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const MesOrderMonthMainRules = reactive({
})
export const MesOrderMonthMain = useCrudSchemas(reactive<CrudSchema[]>([
{
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: 'creator',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '主计划编码',
field: 'planMasterCode',
sort: 'custom',
isTable: false,
isSearch: true
},
{
label: '计划辅助编码',
field: 'planSubCode',
sort: 'custom',
isTable: false,
isSearch: true
},
{
label: '计划类型',
field: 'planType',
sort: 'custom',
isSearch: true,
form: {
component: 'SelectV2'
}
},
{
label: '工厂编码',
field: 'factoryCode',
sort: 'custom',
isTable: false
},
{
label: '工厂名称',
field: 'factoryName',
sort: 'custom',
isSearch: true,
isForm: false
},
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

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

@ -48,154 +48,152 @@ export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: 'A0_010',
field: 'a0010',
field: 'a0Separator010',
sort: 'custom',
},
{
label: 'R0_010',
field: 'r0010',
field: 'r0Separator010',
sort: 'custom',
},
{
label: 'A0_015',
field: 'a0015',
field: 'a0Separator015',
sort: 'custom',
},
{
label: 'R0_015',
field: 'r0015',
field: 'r0Separator015',
sort: 'custom',
},
{
label: 'A0_025',
field: 'a0025',
field: 'a0Separator025',
sort: 'custom',
isSearch: true,
},
{
label: 'R0_025',
field: 'r0025',
field: 'r0Separator025',
sort: 'custom',
},
{
label: 'A0_040',
field: 'a0040',
field: 'a0Separator040',
sort: 'custom',
},
{
label: 'R0_040',
field: 'r0040',
field: 'r0Separator040',
sort: 'custom',
},
{
label: 'A0_065',
field: 'a0065',
field: 'a0Separator065',
sort: 'custom',
isSearch: true,
},
{
label: 'R0_065',
field: 'r0065',
field: 'r0Separator065',
sort: 'custom',
},
{
label: 'A0_10',
field: 'a010',
field: 'a0Separator10',
sort: 'custom',
},
{
label: 'R0_10',
field: 'r010',
field: 'r0Separator10',
sort: 'custom',
},
{
label: 'A0_15',
field: 'a015',
field: 'a0Separator15',
sort: 'custom',
},
{
label: 'R0_15',
field: 'r015',
field: 'r0Separator15',
sort: 'custom',
},
{
label: 'A0_25',
field: 'a025',
field: 'a0Separator25',
sort: 'custom',
},
{
label: 'R0_25',
field: 'r025',
field: 'r0Separator25',
sort: 'custom',
},
{
label: 'A0_40',
field: 'a040',
field: 'a0Separator40',
sort: 'custom',
},
{
label: 'R0_40',
field: 'r040',
field: 'r0Separator40',
sort: 'custom',
},
{
label: 'A0_65',
field: 'a065',
field: 'a0Separator65',
sort: 'custom',
},
{
label: 'R0_65',
field: 'r065',
field: 'r0Separator65',
sort: 'custom',
},
{
label: 'A1_0',
field: 'a10',
field: 'a1Separator0',
sort: 'custom',
},
{
label: 'R1_0',
field: 'r10',
field: 'r1Separator0',
sort: 'custom',
},
{
label: 'A1_5',
field: 'a15',
field: 'a1Separator5',
sort: 'custom',
},
{
label: 'R1_5',
field: 'r15',
field: 'r1Separator5',
sort: 'custom',
},
{
label: 'A2_5',
field: 'a25',
field: 'a2Separator5',
sort: 'custom',
},
{
label: 'R2_5',
field: 'r25',
field: 'r2Separator5',
sort: 'custom',
},
{
label: 'A4_0',
field: 'a40',
field: 'a4Separator0',
sort: 'custom',
},
{
label: 'R4_0',
field: 'r40',
field: 'r4Separator0',
sort: 'custom',
},
{
label: 'A6_5',
field: 'a65',
field: 'a6Separator5',
sort: 'custom',
},
{
label: 'R6_5',
field: 'r65',
field: 'r6Separator5',
sort: 'custom',
},
{
@ -312,6 +310,11 @@ export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
form: {
component: 'SelectV2'
},
},
{
label: '创建时间',

10
src/views/qms/aql/index.vue

@ -99,9 +99,9 @@ const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:aql:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:aql:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:aql:export'}), //
defaultButtons.defaultAddBtn({hasPermi:'qms:aql:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'qms:aql:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'qms:aql:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -133,8 +133,8 @@ const buttonBaseClick = (val, item) => {
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:aql:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:aql:delete'}), //
defaultButtons.mainListEditBtn({hasPermi:'qms:aql:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'qms:aql:delete'}), //
]
// -

240
src/views/qms/basicDataManage/inspectionPlan/addForm.vue

@ -7,7 +7,7 @@
:close-on-click-modal="false"
:vLoading="formLoading"
>
<div style="max-height: 60vh; overflow-y: auto; padding: 0px 20px">
<div style="max-height: 80vh; overflow-y: auto; padding: 0px 20px">
<el-form :model="data" label-width="auto" :rules="rules" ref="formMainRef">
<el-row gutter="20">
<el-col :span="12">
@ -18,7 +18,7 @@
<el-col :span="12">
<el-form-item label="物料编码" prop="itemCode">
<div style="display: flex; width: 100%">
<el-input v-model="data.itemCode" disabled placeholder="请选择物料编码" />
<el-input v-model="data.itemName" disabled placeholder="请选择物料编码" />
<el-button
type="info"
plain
@ -32,7 +32,7 @@
ItemBasicApi.getItembasicPage,
null,
false,
'form',
'main',
null
)
"
@ -49,7 +49,7 @@
<el-col :span="12">
<el-form-item label="检验类型编码" prop="testTypeCode">
<div style="display: flex; width: 100%">
<el-input v-model="data.testTypeCode" disabled placeholder="请选择检验类型编码" />
<el-input v-model="data.testTypeName" disabled placeholder="请选择检验类型编码" />
<el-button
type="info"
plain
@ -63,7 +63,7 @@
SamplingProcessApi.getSamplingProcessPage,
null,
false,
'form',
'main',
null
)
"
@ -76,7 +76,7 @@
<el-form-item label="检验模板编码" prop="programmeTemplateCode">
<div style="display: flex; width: 100%">
<el-input
v-model="data.programmeTemplateCode"
v-model="data.programmeTemplateName"
disabled
placeholder="请选择检验模板编码"
/>
@ -93,7 +93,7 @@
InspectionTemplateApi.inspectionTemplatePage,
null,
false,
'form',
'main',
null
)
"
@ -162,7 +162,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否可用" prop="available">
<el-switch v-model="data.available" />
<el-switch v-model="data.available" active-value="TRUE" inactive-value="FALSE" />
</el-form-item>
</el-col>
</el-row>
@ -239,14 +239,14 @@
</el-col>
<el-col :span="12">
<el-form-item
label="检验方法编码"
label="检验方法"
prop="inspectionCharacteristicsBaseVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethodCode"
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethodName"
disabled
placeholder="请选择检验方法编码"
placeholder="请选择检验方法"
/>
<el-button
type="info"
@ -257,11 +257,17 @@
'inspectionMethodCode',
null,
'检验方法',
SamplingProcess.allSchemas,
SamplingProcessApi.getSamplingProcessPage,
null,
InspectionMethod.allSchemas,
InspectionMethodApi.getInspectionMethodPage,
[
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
false,
null,
'features',
item
)
"
@ -273,11 +279,11 @@
<el-col :span="12">
<el-form-item
label="采样过程编码"
prop="inspectionCharacteristicsBaseVO.dynamicUpdateCode"
prop="inspectionCharacteristicsBaseVO.inspectionMethod"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.dynamicUpdateCode"
v-model="item.inspectionCharacteristicsBaseVO.inspectionName"
disabled
placeholder="请选择采样过程编码"
/>
@ -287,14 +293,20 @@
style="width: 40px"
@click="
opensearchTable(
'dynamicUpdateCode',
'inspectionMethod',
null,
'采样过程编码',
SamplingProcess.allSchemas,
SamplingProcessApi.getSamplingProcessPage,
null,
[
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
false,
null,
'features',
item
)
"
@ -306,11 +318,11 @@
<el-col :span="12">
<el-form-item
label="动态修改规则编码"
prop="inspectionCharacteristicsBaseVO.inspectionMethod"
prop="inspectionCharacteristicsBaseVO.dynamicUpdateCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethod"
v-model="item.inspectionCharacteristicsBaseVO.dynamicUpdateName"
disabled
placeholder="请选择动态修改规则编码"
/>
@ -320,14 +332,20 @@
style="width: 40px"
@click="
opensearchTable(
'inspectionMethod',
'dynamicUpdateCode',
null,
'动态修改规则编码',
SamplingProcess.allSchemas,
SamplingProcessApi.getSamplingProcessPage,
null,
DynamicRule.allSchemas,
DynamicRuleApi.getDynamicRulePage,
[
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
false,
null,
'features',
item
)
"
@ -341,7 +359,10 @@
label="是否允许修改特征值"
prop="inspectionCharacteristicsBaseVO.isCanUpdate"
>
<el-switch v-model="item.inspectionCharacteristicsBaseVO.isCanUpdate" disabled/>
<el-switch
v-model="item.inspectionCharacteristicsBaseVO.isCanUpdate"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -390,8 +411,11 @@
label="是否设定上限"
prop="inspectionCharacteristicsBaseVO.quantifyIsCapping"
>
<el-switch v-model="item.inspectionCharacteristicsBaseVO.quantifyIsCapping" @change="changeIsCapping"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"/>
<el-switch
v-model="item.inspectionCharacteristicsBaseVO.quantifyIsCapping"
@change="changeIsCapping"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -412,9 +436,11 @@
label="是否设定下限"
v-if="item.inspectionCharacteristicsBaseVO.featureType == 0"
>
<el-switch v-model="item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit" @change="changeLowlimit"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"/>
<el-switch
v-model="item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit"
@change="changeLowlimit"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -435,8 +461,11 @@
label="是否设定目标值"
v-if="item.inspectionCharacteristicsBaseVO.featureType == 0"
>
<el-switch v-model="item.inspectionCharacteristicsBaseVO.quantifyIsTarget" @change="changeIsTarget"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"/>
<el-switch
v-model="item.inspectionCharacteristicsBaseVO.quantifyIsTarget"
@change="changeIsTarget"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -497,9 +526,15 @@
'quantifyQuantifyCode',
null,
'选择集编码',
SamplingProcess.allSchemas,
SamplingProcessApi.getSamplingProcessPage,
null,
SelectedSet.allSchemas,
SelectedSetApi.getSelectedSetPage,
[
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
false,
null,
item
@ -520,7 +555,12 @@
<ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" />
</template>
</Dialog>
<Dialog title="修改名称" v-model="dialogVisibleName" width="500px" :close-on-click-modal="false">
<Dialog
title="修改名称"
v-model="dialogVisibleName"
width="500px"
:close-on-click-modal="false"
>
<div style="padding: 0px 20px">
<el-form ref="nameRef" :model="nameForm">
<el-form-item
@ -536,7 +576,7 @@
</template>
</Dialog>
<SearchTable ref="searchTableRef" @searchTableSuccess="searchTableSuccess" />
</div>
</div>
</template>
<script setup lang="ts">
@ -546,11 +586,18 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import * as InspectionProcessPageApi from '@/api/qms/inspectionTemplate'
import { SearchTable } from '@/components/SearchTable'
import { SamplingProcess } from '@/views/qms/samplingProcess/samplingProcess.data'
import * as SamplingProcessApi from '@/api/qms/samplingProcess'
import { InspectionTemplateMain } from '@/views/qms/basicDataManage/inspectionTemplate/inspectionTemplate.data'
import * as InspectionTemplateApi from '@/api/qms/inspectionTemplate'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
import * as ItemBasicApi from '@/api/wms/itembasic'
import * as SamplingProcessApi from '@/api/qms/samplingProcess' //
import * as InspectionMethodApi from '@/api/qms/inspectionMethod' //
import { InspectionMethod } from '@/views/qms/inspectionMethod/inspectionMethod.data' //
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' //
const message = useMessage() //
const props = defineProps({
@ -599,14 +646,14 @@ const data = ref({
code: '',
itemCode: '',
version: '',
testTypeCode:'',
programmeTemplateCode:'',
splitRule:'',
aql:'',
inspectionLevel:'',
effectiveDate:'',
expirationDate:'',
available: true,
testTypeCode: '',
programmeTemplateCode: '',
splitRule: '',
aql: '',
inspectionLevel: '',
effectiveDate: '',
expirationDate: '',
available: 'TRUE',
process: []
})
@ -624,12 +671,14 @@ const rules = ref({
itemCode: [{ required: true, message: '请选择物料编码', trigger: 'blur' }],
version: [{ required: true, message: '请填写版本', trigger: 'blur' }],
testTypeCode: [{ required: true, message: '请选择检验类型编码', trigger: ['blur', 'change'] }],
programmeTemplateCode: [{ required: true, message: '请选择检验模板编码', trigger:['blur', 'change'] }],
splitRule: [{ required: true, message: '请选择拆分规则', trigger: ['blur', 'change']}],
aql: [{ required: true, message: '请选择aql', trigger: ['blur', 'change']}],
inspectionLevel: [{ required: true, message: '请选择检验水平', trigger: ['blur', 'change']}],
effectiveDate: [{ required: true, message: '请选择生效时间', trigger: ['blur', 'change']}],
expirationDate: [{ required: true, message: '请选择失效时间', trigger: ['blur', 'change']}],
programmeTemplateCode: [
{ required: true, message: '请选择检验模板编码', trigger: ['blur', 'change'] }
],
splitRule: [{ required: true, message: '请选择拆分规则', trigger: ['blur', 'change'] }],
aql: [{ required: true, message: '请选择aql', trigger: ['blur', 'change'] }],
inspectionLevel: [{ required: true, message: '请选择检验水平', trigger: ['blur', 'change'] }],
effectiveDate: [{ required: true, message: '请选择生效时间', trigger: ['blur', 'change'] }],
expirationDate: [{ required: true, message: '请选择失效时间', trigger: ['blur', 'change'] }],
'inspectionCharacteristicsBaseVO.description': [
{ required: true, message: '请填写描述', trigger: ['blur', 'change'] }
],
@ -642,28 +691,12 @@ const rules = ref({
'inspectionCharacteristicsBaseVO.inspectionMethod': [
{ required: true, message: '请选择动态修改规则编码', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.isCanUpdate': [
{ required: true, message: '请选择是否允许修改特征值', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.isDestructionInspection': [
{ required: true, message: '请选择是否破坏性检验', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.resultEntryMethod': [
{ required: true, message: '请选择结果录入方式', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.featureType': [
{ required: true, message: '请选择特征类型', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsCapping': [
{ required: true, message: '请选择是否设定上限', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsLowlimit': [
{ required: true, message: '请选择是否设定下限', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsTarget': [
{ required: true, message: '请选择是否设定目标值', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyTarget': [
{ required: true, message: '请输入目标值', trigger: 'blur' }
],
@ -694,24 +727,29 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
formType.value = type
if (row) {
data.value = row
data.value = JSON.parse(JSON.stringify(row))
let list = []
if (row.content) {
list = JSON.parse(row.content)
} else {
list = await InspectionProcessPageApi.getListByTempleteCode(row.programmeTemplateCode)
}
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
//
if (item.quantifyIsCapping) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.quantifyIsLowlimit) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.quantifyIsTarget) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
@ -721,16 +759,16 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
} else {
data.value = {
code: '',
description: '',
itemCode: '',
version: '',
testTypeCode:'',
programmeTemplateCode:'',
splitRule:'',
aql:'',
inspectionLevel:'',
effectiveDate:'',
expirationDate:'',
available: true,
testTypeCode: '',
programmeTemplateCode: '',
splitRule: '',
aql: '',
inspectionLevel: '',
effectiveDate: '',
expirationDate: '',
available: 'TRUE',
process: []
}
}
@ -841,6 +879,7 @@ const submitForm = async () => {
try {
const validateForm1 = await validateForm(formProcessRef.value)
console.log(validateForm1)
console.log(data.value)
await formMainRef.value.validate()
if (!data.value.process || data.value.process.length == 0) {
message.error(`请添加工序`)
@ -973,32 +1012,41 @@ const opensearchTable = (
//
// val row
const searchTableSuccess = async (formField, searchField, val, type, row) => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
} else {
console.log(formField)
console.log(val[0].code)
console.log(type)
if(type == 'features'){
row.inspectionCharacteristicsBaseVO[formField] = val[0].code
if(formField == 'inspectionMethodCode'){
row.inspectionCharacteristicsBaseVO.inspectionMethodName = val[0].description
}else if(formField == 'dynamicUpdateCode'){
row.inspectionCharacteristicsBaseVO.dynamicUpdateName = val[0].description
}else if(formField == 'inspectionMethod'){
row.inspectionCharacteristicsBaseVO.inspectionName = val[0].description
}
} else if(type == 'main'){
data.value[formField] = val[0].code
if(formField == 'itemCode'){
data.value.itemName = val[0].name
}else if(formField == 'testTypeCode'){
data.value.testTypeName = val[0].description
}else if(formField == 'programmeTemplateCode'){
data.value.programmeTemplateName = val[0].description
}
if (formField == 'programmeTemplateCode') {
let list = await InspectionProcessPageApi.getListByTempleteCode(val[0].code)
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
//
if (item.quantifyIsCapping) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.quantifyIsLowlimit) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.quantifyIsTarget) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false

1
src/views/qms/basicDataManage/inspectionPlan/index.vue

@ -60,7 +60,6 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import Detail from '@/components/Detail/src/Detail.vue'
import AddForm from './addForm.vue'
import * as InspectionPlanApi from '@/api/qms/inspectionPlan'
import { json } from 'stream/consumers'
defineOptions({ name: 'AgvLocationrelation' })

43
src/views/qms/basicDataManage/inspectionPlan/inspectionPlan.data.ts

@ -73,6 +73,10 @@ export const InspectionPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '编码',
field: 'code',
sort: 'custom',
table: {
width: 220,
fixed: 'left'
},
form:{
componentProps:{
disabled:true,
@ -84,18 +88,30 @@ export const InspectionPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '物料编码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
}
},{
label: '版本',
field: 'version',
sort: 'custom',
table: {
width: 150
}
},{
label: '检验类型编码',
field: 'testTypeCode',
sort: 'custom',
table: {
width: 150
}
},{
label: '检验模板编码',
field: 'programmeTemplateCode',
sort: 'custom',
table: {
width: 150
}
},{
label: '拆分规则',
field: 'splitRule',
@ -127,22 +143,45 @@ export const InspectionPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '生效时间',
field: 'effectiveDate',
sort: 'custom',
formatter: dateFormatter,
table: {
width: 180
}
},{
label: '失效时间',
field: 'expirationDate',
sort: 'custom',
formatter: dateFormatter,
table: {
width: 180
}
},{
label: '是否可用',
field: 'available',
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: 'action',
isForm: false,
isDetail: false,
isForm: false ,
table: {
width: 150,
fixed: 'right'
}
},
}
]))

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

@ -6,7 +6,7 @@
:close-on-click-modal="false"
:vLoading="formLoading"
>
<div style="max-height: 60vh; overflow-y: auto; padding: 0px 20px">
<div style="max-height: 80vh; overflow-y: auto; padding: 0px 20px">
<!-- <Form ref="formRefMain" :schema="formAllSchemasMain" :is-col="true" :rules="rules" /> -->
<el-form :model="data" label-width="auto" :rules="rules" ref="formMainRef">
<el-row gutter="20">
@ -106,14 +106,14 @@
</el-col>
<el-col :span="12">
<el-form-item
label="检验方法编码"
label="检验方法"
prop="inspectionCharacteristicsBaseVO.inspectionMethodCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethodCode"
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethodName"
disabled
placeholder="请选择检验方法编码"
placeholder="请选择检验方法"
/>
<el-button
type="info"
@ -124,7 +124,7 @@
'inspectionMethodCode',
null,
'检验方法',
SamplingProcess.allSchemas,
InspectionMethod.allSchemas,
InspectionMethodApi.getInspectionMethodPage,
[
{
@ -134,7 +134,7 @@
}
],
false,
null,
'features',
item
)
"
@ -146,11 +146,11 @@
<el-col :span="12">
<el-form-item
label="采样过程编码"
prop="inspectionCharacteristicsBaseVO.dynamicUpdateCode"
prop="inspectionCharacteristicsBaseVO.inspectionMethod"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.dynamicUpdateCode"
v-model="item.inspectionCharacteristicsBaseVO.inspectionName"
disabled
placeholder="请选择采样过程编码"
/>
@ -160,7 +160,7 @@
style="width: 40px"
@click="
opensearchTable(
'dynamicUpdateCode',
'inspectionMethod',
null,
'采样过程编码',
SamplingProcess.allSchemas,
@ -173,7 +173,7 @@
}
],
false,
null,
'features',
item
)
"
@ -185,11 +185,11 @@
<el-col :span="12">
<el-form-item
label="动态修改规则编码"
prop="inspectionCharacteristicsBaseVO.inspectionMethod"
prop="inspectionCharacteristicsBaseVO.dynamicUpdateCode"
>
<div style="display: flex; width: 100%">
<el-input
v-model="item.inspectionCharacteristicsBaseVO.inspectionMethod"
v-model="item.inspectionCharacteristicsBaseVO.dynamicUpdateName"
disabled
placeholder="请选择动态修改规则编码"
/>
@ -199,10 +199,10 @@
style="width: 40px"
@click="
opensearchTable(
'inspectionMethod',
'dynamicUpdateCode',
null,
'动态修改规则编码',
SamplingProcess.allSchemas,
DynamicRule.allSchemas,
DynamicRuleApi.getDynamicRulePage,
[
{
@ -212,7 +212,7 @@
}
],
false,
null,
'features',
item
)
"
@ -366,7 +366,7 @@
'quantifyQuantifyCode',
null,
'选择集编码',
SamplingProcess.allSchemas,
SelectedSet.allSchemas,
SelectedSetApi.getSelectedSetPage,
[
{
@ -419,10 +419,13 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import * as InspectionProcessPageApi from '@/api/qms/inspectionTemplate'
import { SearchTable } from '@/components/SearchTable'
import { SamplingProcess } from '@/views/qms/samplingProcess/samplingProcess.data'
import * as SamplingProcessApi from '@/api/qms/samplingProcess'//
import * as InspectionMethodApi from '@/api/qms/inspectionMethod'//
import * as DynamicRuleApi from '@/api/qms/dynamicRule'//
import * as SelectedSetApi from '@/api/qms/selectedSet'//
import * as SamplingProcessApi from '@/api/qms/samplingProcess' //
import * as InspectionMethodApi from '@/api/qms/inspectionMethod' //
import { InspectionMethod } from '@/views/qms/inspectionMethod/inspectionMethod.data' //
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' //
const message = useMessage() //
const props = defineProps({
@ -502,28 +505,12 @@ const rules = ref({
'inspectionCharacteristicsBaseVO.inspectionMethod': [
{ required: true, message: '请选择动态修改规则编码', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.isCanUpdate': [
{ required: true, message: '请选择是否允许修改特征值', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.isDestructionInspection': [
{ required: true, message: '请选择是否破坏性检验', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.resultEntryMethod': [
{ required: true, message: '请选择结果录入方式', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.featureType': [
{ required: true, message: '请选择特征类型', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsCapping': [
{ required: true, message: '请选择是否设定上限', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsLowlimit': [
{ required: true, message: '请选择是否设定下限', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyIsTarget': [
{ required: true, message: '请选择是否设定目标值', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyTarget': [
{ required: true, message: '请输入目标值', trigger: 'blur' }
],
@ -554,24 +541,23 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
formType.value = type
if (row) {
data.value = row
data.value = JSON.parse(JSON.stringify(row))
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
list.forEach((item, index) => {
editableTabsValue.value = index + 1
item.name = index + 1
//
if (item.quantifyIsCapping) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
}
if (item.quantifyIsLowlimit) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsLowlimit) {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
}
if (item.quantifyIsTarget) {
if (item.inspectionCharacteristicsBaseVO.quantifyIsTarget) {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = true
} else {
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
@ -585,6 +571,9 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
version: '',
process: []
}
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
tabIndex = data.value.process.length + 1
@ -639,9 +628,9 @@ const buttonBaseClick1 = (val) => {
isDestructionInspection: '',
resultEntryMethod: '',
featureType: '',
quantifyIsCapping: '',
quantifyIsLowlimit: '',
quantifyIsTarget: '',
quantifyIsCapping: false,
quantifyIsLowlimit: false,
quantifyIsTarget: false,
quantifyTarget: '',
quantifyCapping: '',
quantifyLowlimit: '',
@ -650,8 +639,9 @@ const buttonBaseClick1 = (val) => {
quantifyQuantifyCode: ''
}
})
console.log(data.value.process)
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
editableTabsValue.value = newTabName
dialogVisibleName.value = false
} else {
@ -827,14 +817,17 @@ const opensearchTable = (
// val row
const searchTableSuccess = (formField, searchField, val, type, row) => {
console.log(row)
data.value.process.forEach((item) => {
if (item.description == row.description) {
item.inspectionCharacteristicsBaseVO[formField] = val[0].code
if(type == 'features'){
row.inspectionCharacteristicsBaseVO[formField] = val[0].code
if(formField == 'inspectionMethodCode'){
row.inspectionCharacteristicsBaseVO.inspectionMethodName = val[0].description
}else if(formField == 'dynamicUpdateCode'){
row.inspectionCharacteristicsBaseVO.dynamicUpdateName = val[0].description
}else if(formField == 'inspectionMethod'){
row.inspectionCharacteristicsBaseVO.inspectionName = val[0].description
}
}
})
// row.inspectionCharacteristicsBaseVO.inspectionMethodCode = val[0].code
// emit('searchTableSuccess', formField, searchField, val, formRef.value, type, row)
}
//
const changeIsCapping = (e) => {

4
src/views/qms/basicDataManage/inspectionTemplate/inspectionTemplate.data.ts

@ -151,11 +151,11 @@ export const InspectionTemplateFeatures= useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
},{
label: '采样过程编码',
field: 'dynamicUpdateCode',
field: 'inspectionMethod',
sort: 'custom',
},{
label: '动态修改规则编码',
field: 'inspectionMethod',
field: 'dynamicUpdateCode',
sort: 'custom',
},{
label: '是否允许修改特征值',

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

File diff suppressed because it is too large

43
src/views/qms/inspection/inspectionJob/index.vue

@ -27,13 +27,22 @@
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm ref="formRef" @success="getList" :rules="InspectionJobMainRules"
<!-- <BasicForm ref="formRef" @success="getList" :rules="InspectionJobMainRules"
:formAllSchemas="InspectionJobMain.allSchemas" :tableAllSchemas="InspectionJobDetail.allSchemas"
:tableFormRules="InspectionJobDetailRules" :tableData="tableData"
:apiUpdate="InspectionJobMainApi.updateInspectionJobMain" :apiCreate="InspectionJobMainApi.createInspectionJobMain"
:isBusiness="true" @handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess" @submitForm="submitForm" />
@searchTableSuccess="searchTableSuccess" @submitForm="submitForm" /> -->
<AddForm
ref="basicFormRef"
basicFormWidth="80"
:formAllSchemasFeatures="InspectionTemplateFeatures.allSchemas"
:formAllSchemasProcess="InspectionTemplateProcess.allSchemas"
:formAllSchemasMain="InspectionTemplateMain.allSchemas"
:rules="InspectionTemplateRules"
:formAllSchemas="InspectionJobMain.allSchemas"
@submitForm="submitForm"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="false" :allSchemas="InspectionJobMain.allSchemas"
:detailAllSchemas="InspectionJobDetail.allSchemas" :detailAllSchemasRules="InspectionJobDetailRules"
@ -51,11 +60,15 @@
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionJobMain, InspectionJobMainRules, InspectionJobDetail, InspectionJobDetailRules } from './inspectionJobMain.data'
import { InspectionTemplateMain,InspectionTemplateProcess,InspectionTemplateFeatures,InspectionTemplateRules } from '../../basicDataManage/inspectionTemplate/inspectionTemplate.data'
import * as InspectionJobMainApi from '@/api/qms/inspectionJob/inspectionJobMain'
import * as InspectionJobDetailApi from '@/api/qms/inspectionJob/inspectionJobDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import AddForm from './addForm.vue'
import * as InspectionPlanApi from '@/api/qms/inspectionPlan'
//
defineOptions({ name: 'InspectionJobMain' })
@ -117,8 +130,8 @@
//
const HeadButttondata = [
defaultButtons.defaultAddBtn(null), //
// defaultButtons.defaultExportBtn(null), //
// defaultButtons.defaultAddBtn(null), //
defaultButtons.defaultExportBtn(null), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -160,18 +173,19 @@
// -
const butttondata = (row) => {
return [
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), //
// defaultButtons.mainListEditBtn(null), //
// defaultButtons.mainListDeleteBtn(null), //
// defaultButtons.mainListJobAccBtn({hide:isShowMainButton(row,['1'])}), //
defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchasereceipt-job-main:close'}), //
// defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2'])}), //
defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2'])}), //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
if (val == 'mainJobExe') { //
execute('update', row)
}
else if (val == 'delete') { //
else if (val == 'mainJobClo') { //
handleDelete(row.id)
}
}
@ -188,7 +202,12 @@
const openDetail = (row : any, titleName : any, titleValue : any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionJobMain')
}
//
const basicFormRef = ref()
const execute = async (type : string, row ?: number) => {
basicFormRef.value.open(type, row)
}
/** 删除按钮操作 */
const handleDelete = async (id : number) => {
try {
@ -284,6 +303,6 @@
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await InspectionJobMainApi.importTemplate()
// importTemplateData.templateUrl = await InspectionJobMainApi.importTemplate()
})
</script>

38
src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts

@ -5,7 +5,7 @@ import { dateFormatter } from '@/utils/formatTime'
const { t } = useI18n() // 国际化
/**
* @returns {Array}
* @returns {Array}
*/
export const InspectionJobMain = useCrudSchemas(reactive<CrudSchema[]>([
{
@ -15,8 +15,8 @@ export const InspectionJobMain = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true,
},
{
label: '申请编码',
field: 'inspectionCode',
label: '申请单号',
field: 'requestNumber',
sort: 'custom',
isSearch: true,
},
@ -76,12 +76,12 @@ export const InspectionJobMain = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
isSearch: false,
},
{
label: '检验方案Json',
field: 'inspectionSchemeJson',
sort: 'custom',
isSearch: false,
},
// {
// label: '检验方案Json',
// field: 'inspectionSchemeJson',
// sort: 'custom',
// isSearch: false,
// },
{
label: '检验批次',
field: 'inspectionBatch',
@ -106,7 +106,7 @@ export const InspectionJobMain = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
isSearch: false,
form: {
component: 'SelectV2'
component: 'Select'
},
},
{
@ -243,30 +243,12 @@ export const InspectionJobMainRules = reactive({
* @returns {Array}
*/
export const InspectionJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: 'id',
field: 'id',
sort: 'custom',
isTable: false,
isSearch: true,
isForm: false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
isSearch: true,
},
{
label: '主表ID',
field: 'masterId',
sort: 'custom',
isSearch: true,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '任务编码',
field: 'taskCode',

289
src/views/qms/inspection/inspectionRecord/index.vue

@ -0,0 +1,289 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="InspectionRecordMain.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName"
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick"
:allSchemas="InspectionRecordMain.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 #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata(row)" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm ref="formRef" @success="getList" :rules="InspectionRecordMainRules"
:formAllSchemas="InspectionRecordMain.allSchemas" :tableAllSchemas="InspectionRecordDetail.allSchemas"
:tableFormRules="InspectionRecordDetailRules" :tableData="tableData"
:apiUpdate="InspectionRecordMainApi.updateInspectionRecordMain"
:apiCreate="InspectionRecordMainApi.createInspectionRecordMain" :isBusiness="true" @handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable" @searchTableSuccess="searchTableSuccess" @submitForm="submitForm" />
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="false" :allSchemas="InspectionRecordMain.allSchemas"
:detailAllSchemas="InspectionRecordDetail.allSchemas" :detailAllSchemasRules="InspectionRecordDetailRules"
:apiCreate="InspectionRecordDetailApi.createInspectionRecordDetail"
:apiUpdate="InspectionRecordDetailApi.updateInspectionRecordDetail"
:apiPage="InspectionRecordDetailApi.getInspectionRecordDetailPage"
:apiDelete="InspectionRecordDetailApi.deleteInspectionRecordDetail"
@searchTableSuccessDetail="searchTableSuccessDetail" :isShowAddBtn="false" :detailButtonIsShow="true" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/purchase-main/import" :importTemplateData="importTemplateData"
@success="importSuccess" :isShowOut="true" :updateIsDisable="true" :coverIsDisable="true" :mode="2" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionRecordMain, InspectionRecordMainRules, InspectionRecordDetail, InspectionRecordDetailRules } from './inspectionRecordMain.data'
import * as InspectionRecordMainApi from '@/api/qms/inspectionRecord/inspectionRecordMain'
import * as InspectionRecordDetailApi from '@/api/qms/inspectionRecord/inspectionRecordDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
//
defineOptions({ name: 'InspectionRecordMain' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(InspectionRecordMain.allSchemas.tableColumns)
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(async () => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
// row['itemNumber'] = val[0]['number']
// row['itemName'] = val[0]['name']
// row['uom'] = val[0]['uom']
// row['isRadeIn'] = val[0]['isRadeIn']
// row['available'] = val[0]['available']
} else {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
}
})
}
//
const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
nextTick(async () => {
const setV = {}
// if(formField == 'itemCode'){
// await ItembasicApi.getItembasicPage({
// code: setV['itemCode']
// }).then(res => {
// setV['uom'] = res.list[0].uom
// setV[formField] = val[0][searchField]
// })
// }
formRef.setValues(setV)
})
}
//
const Echo = []
const { tableObject, tableMethods } = useTable({
getListApi: InspectionRecordMainApi.getInspectionRecordMainPage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn(null), //
// defaultButtons.defaultExportBtn(null), //
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 isShowMainButton = (row, val) => {
if (val.indexOf(row.status) > -1) {
return false
} else {
return true
}
}
// -
const butttondata = (row) => {
return [
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), //
// defaultButtons.mainListEditBtn(null), //
// defaultButtons.mainListDeleteBtn(null), //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
openForm('update', row)
}
else if (val == 'delete') { //
handleDelete(row.id)
}
}
/** 添加/修改操作 */
const formRef = ref()
const openForm = async (type : string, row ?: number) => {
tableData.value = [] //
formRef.value.open(type, row)
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row : any, titleName : any, titleValue : any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionRecordMain')
}
/** 删除按钮操作 */
const handleDelete = async (id : number) => {
try {
//
await message.delConfirm()
//
await InspectionRecordMainApi.deleteInspectionRecordMain(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 InspectionRecordMainApi.exportInspectionRecordMain(tableObject.params)
download.excel(data, '备件申领记录主.xlsx')
} catch {
} finally {
exportLoading.value = false
}
}
/**
* tableForm方法
*/
const tableFormKeys = {}
InspectionRecordDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
//
const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
}
//
const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1)
}
//
const submitForm = async (formType, data) => {
data.subList = tableData.value //
try {
if (formType === 'create') {
await InspectionRecordMainApi.createInspectionRecordMain(data)
message.success(t('common.createSuccess'))
} else {
await InspectionRecordMainApi.updateInspectionRecordMain(data)
message.success(t('common.updateSuccess'))
}
formRef.value.dialogVisible = false
//
getList()
} finally {
formRef.value.formLoading = 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 InspectionRecordMainApi.importTemplate()
})
</script>

453
src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts

@ -0,0 +1,453 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter2 } from '@/utils/formatTime'
import { validateHanset, validateEmail } from '@/utils/validator'
import { dateFormatter } from '@/utils/formatTime'
const { t } = useI18n() // 国际化
/**
* @returns {Array}
*/
export const InspectionRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '记录编号',
field: 'number',
sort: 'custom',
isSearch: true,
},
{
label: '申请编码',
field: 'applicationCode',
sort: 'custom',
isSearch: true,
},
{
label: '任务编码',
field: 'taskCode',
sort: 'custom',
isSearch: false,
},
{
label: '供应商编码',
field: 'supplierCode',
sort: 'custom',
isSearch: false,
},
{
label: '物料编码',
field: 'materialCode',
sort: 'custom',
isSearch: false,
},
{
label: '批次',
field: 'batch',
sort: 'custom',
isSearch: false,
},
{
label: '检验方案编码',
field: 'inspectionSchemeCode',
sort: 'custom',
isSearch: false,
},
{
label: '检验方案Json',
field: 'inspectionSchemeJson',
sort: 'custom',
isSearch: false,
},
{
label: '检验批次',
field: 'inspectionBatch',
sort: 'custom',
isSearch: false,
},
{
label: '检验批数量',
field: 'inspectionBatchAmount',
sort: 'custom',
isSearch: false,
},
{
label: '采样总数量',
field: 'sampleTatalAmount',
sort: 'custom',
isSearch: false,
},
{
label: '检验类型',
field: 'inspectionType',
sort: 'custom',
isSearch: false,
form: {
component: 'Select'
},
},
{
label: '检验批来源',
field: 'inspectionBatchSource',
sort: 'custom',
isSearch: false,
},
{
label: '订单号',
field: 'orderCode',
sort: 'custom',
isSearch: false,
},
{
label: '订单行',
field: 'orderRow',
sort: 'custom',
isSearch: false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '凭证号',
field: 'certificateCode',
sort: 'custom',
isSearch: false,
},
{
label: '凭证行',
field: 'certificateRow',
sort: 'custom',
isSearch: false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '检验阶段',
field: 'inspectionStage',
sort: 'custom',
isSearch: false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '检验严格性',
field: 'inspectionStringency',
sort: 'custom',
isSearch: false,
},
{
label: '使用决策',
field: 'useDecision',
sort: 'custom',
isSearch: false,
},
{
label: '计划开始时间',
field: 'planStartTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'planEndTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'realStartTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'realEndTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'inspectionLevel',
sort: 'custom',
isSearch: false,
},
{
label: 'AQL值',
field: 'aqlValue',
sort: 'custom',
isSearch: false,
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
isSearch: false,
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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')]
}
},
isForm: false,
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 200,
fixed: 'right'
}
}
]))
//表单校验
export const InspectionRecordMainRules = reactive({
number: [required],
applicationCode: [required],
taskCode: [required],
supplierCode: [required],
materialCode: [required],
batch: [required],
inspectionSchemeCode: [required],
inspectionBatch: [required],
inspectionBatchAmount: [required],
sampleTatalAmount: [required],
inspectionType: [required],
inspectionBatchSource: [required],
orderCode: [required],
orderRow: [required],
inspectionStage: [required],
inspectionStringency: [required],
useDecision: [required],
inspectionLevel: [required],
available: [required],
})
/**
* @returns {Array}
*/
export const InspectionRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: 'id',
field: 'id',
sort: 'custom',
isTable: false,
isSearch: false,
isForm: false,
},
{
label: '记录编码',
field: 'recordCode',
sort: 'custom',
isSearch: false,
},
{
label: '工序编码',
field: 'processCode',
sort: 'custom',
isSearch: false,
},
{
label: '工序描述',
field: 'processDescribe',
sort: 'custom',
isSearch: false,
},
{
label: '顺序号',
field: 'sequenceCode',
sort: 'custom',
isSearch: false,
form: {
component: 'InputNumber',
value: 0
},
},
{
label: '是否破坏性检验',
field: 'isDestroyInspection',
sort: 'custom',
isSearch: false,
form: {
component: 'Radio'
},
},
{
label: '检验开始时间',
field: 'inspectionStartTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'inspectionEndTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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: 'inspectionOperator',
sort: 'custom',
isSearch: false,
},
{
label: '检验特性编码',
field: 'inspectionFeaturesCode',
sort: 'custom',
isSearch: false,
},
{
label: '是否可用',
field: 'available',
sort: 'custom',
isSearch: false,
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: 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')]
}
},
isForm: false,
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 150,
fixed: 'right'
},
isTableForm: false,
}
]))
//表单校验
export const InspectionRecordDetailRules = reactive({
recordCode: [required],
processCode: [required],
sequenceCode: [required],
isDestroyInspection: [required],
available: [required],
})

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

@ -5,28 +5,16 @@
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="InspectionMain.allSchemas"
/>
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName"
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick"
:allSchemas="InspectionMain.allSchemas" />
<!-- 列表 -->
<ContentWrap>
<Table
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
<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"
>
}" 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>
@ -39,69 +27,63 @@
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:rules="InspectionMainRules"
:formAllSchemas="InspectionMain.allSchemas"
:apiUpdate="InspectionMainApi.updateInspectionMain"
:apiCreate="InspectionMainApi.createInspectionMain"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<BasicForm ref="basicFormRef" @success="formsSuccess" :rules="InspectionMainRules"
:formAllSchemas="InspectionMain.allSchemas" :apiUpdate="InspectionMainApi.updateInspectionMain"
:apiCreate="InspectionMainApi.createInspectionMain" @searchTableSuccess="searchTableSuccess" :isBusiness="false" />
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="InspectionMain.allSchemas" />
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/request/inspection-main/import" :importTemplateData="importTemplateData" @success="importSuccess" />
<ImportForm ref="importFormRef" url="/request/inspection-main/import" :importTemplateData="importTemplateData"
@success="importSuccess" />
</template>
<script setup lang="ts">
import download from '@/utils/download'
import { InspectionMain,InspectionMainRules } from './inspectionMain.data'
import * as InspectionMainApi from '@/api/qms/inspectionRequest'
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: 'InspectionMain' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(InspectionMain.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
import download from '@/utils/download'
import { InspectionMain, InspectionMainRules } from './inspectionMain.data'
import * as InspectionMainApi from '@/api/qms/inspectionRequest'
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: 'InspectionMain' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(InspectionMain.allSchemas.tableColumns)
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
})
}
}
//
const updataTableColumns = (val) => {
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
}
const { tableObject, tableMethods } = useTable({
const { tableObject, tableMethods } = useTable({
getListApi: InspectionMainApi.getInspectionMainPage //
})
})
//
const { getList, setSearchParams } = tableMethods
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:inspectionMain:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:inspectionMain:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:inspectionMain:export'}), //
//
const HeadButttondata = [
defaultButtons.defaultAddBtn(null), //
defaultButtons.defaultImportBtn({ hasPermi: 'wms:inspectionMain:import' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:inspectionMain:export' }), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -113,10 +95,10 @@ const HeadButttondata = [
// icon: 'Select',
// color: ''
// },
]
]
//
const buttonBaseClick = (val, item) => {
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'import') { //
@ -129,42 +111,42 @@ const buttonBaseClick = (val, item) => {
} else { //
console.log('其他按钮', item)
}
}
}
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:inspectionMain:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:inspectionMain:delete'}), //
]
// -
const butttondata = [
defaultButtons.mainListEditBtn({ hasPermi: 'wms:inspectionMain:update' }), //
defaultButtons.mainListDeleteBtn({ hasPermi: 'wms:inspectionMain:delete' }), //
]
// -
const buttonTableClick = async (val, row) => {
// -
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) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type : string, row ?: any) => {
basicFormRef.value.open(type, row)
}
}
// form
const formsSuccess = async (formType,data) => {
var isHave =InspectionMain.allSchemas.formSchema.some(function (item) {
// form
const formsSuccess = async (formType, data) => {
var isHave = InspectionMain.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.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 (data.activeTime == 0) data.activeTime = null;
if (data.expireTime == 0) data.expireTime = null;
if (formType === 'create') {
await InspectionMainApi.createInspectionMain(data)
message.success(t('common.createSuccess'))
@ -174,16 +156,16 @@ const formsSuccess = async (formType,data) => {
}
basicFormRef.value.dialogVisible = false
getList()
}
}
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
/** 详情操作 */
const detailRef = ref()
const openDetail = (row : any, titleName : any, titleValue : any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicInspectionMain')
}
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
/** 删除按钮操作 */
const handleDelete = async (id : number) => {
try {
//
await message.delConfirm()
@ -192,12 +174,12 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
} catch { }
}
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
/** 导出按钮操作 */
const exportLoading = ref(false) //
const handleExport = async () => {
try {
//
await message.exportConfirm()
@ -209,36 +191,35 @@ const handleExport = async () => {
} finally {
exportLoading.value = false
}
}
}
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
/** 导入 */
const importFormRef = ref()
const handleImport = () => {
importFormRef.value.open()
}
//
const importTemplateData = reactive({
}
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '检验申请导入模版.xlsx'
})
//
const importSuccess = () => {
})
//
const importSuccess = () => {
getList()
}
}
//
const searchFormClick = (searchData) => {
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
}
/** 初始化 **/
onMounted(async () => {
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await InspectionMainApi.importTemplate()
})
})
</script>

2
src/views/qms/inspection/inspectionRequest/inspectionMain.data.ts

@ -20,7 +20,7 @@ export const InspectionMainRules = reactive({
export const InspectionMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '编码',
label: '申请编码',
field: 'number',
sort: 'custom',
isSearch: true,

10
src/views/qms/inspectionMethod/index.vue

@ -99,9 +99,9 @@ const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:inspectionMethod:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'wms:inspectionMethod:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'wms:inspectionMethod:export'}), //
defaultButtons.defaultAddBtn({hasPermi:'qms:inspectionMethod:create'}), //
defaultButtons.defaultImportBtn({hasPermi:'qms:inspectionMethod:import'}), //
defaultButtons.defaultExportBtn({hasPermi:'qms:inspectionMethod:export'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
@ -133,8 +133,8 @@ const buttonBaseClick = (val, item) => {
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:inspectionMethod:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:inspectionMethod:delete'}), //
defaultButtons.mainListEditBtn({hasPermi:'qms:inspectionMethod:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'qms:inspectionMethod:delete'}), //
]
// -

17
src/views/qms/inspectionMethod/inspectionMethod.data.ts

@ -4,7 +4,6 @@ import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const InspectionMethodRules = reactive({
code: [required],
status: [required],
available: [required],
})
@ -24,7 +23,7 @@ export const InspectionMethod = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '描述',
field: 'describe',
field: 'description',
sort: 'custom',
},
{
@ -32,15 +31,6 @@ export const InspectionMethod = useCrudSchemas(reactive<CrudSchema[]>([
field: 'version',
sort: 'custom',
},
{
label: '状态',
field: 'status',
sort: 'custom',
isSearch: true,
form: {
component: 'Radio'
},
},
{
label: '操作指导',
field: 'operationGuidance',
@ -55,6 +45,11 @@ export const InspectionMethod = useCrudSchemas(reactive<CrudSchema[]>([
label: '是否可用',
field: 'available',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
form: {
component: 'SelectV2'
},
},
{
label: '创建时间',

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

@ -25,7 +25,7 @@ export const SamplingProcess = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '描述',
field: 'describe',
field: 'description',
sort: 'custom',
isSearch: true,
},

2
src/views/qms/samplingScheme/samplingScheme.data.ts

@ -24,7 +24,7 @@ export const SamplingScheme = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '描述',
field: 'describe',
field: 'description',
sort: 'custom',
isSearch: true,
},

198
src/views/system/systemInstallPackage/index.vue

@ -0,0 +1,198 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<Search :schema="SystemInstallPackage.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap>
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick"
:allSchemas="SystemInstallPackage.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 #installPackageName="{row}">
<el-button type="primary" link @click="openDetail(row, '安装包名称', row.installPackageName)">
<span>{{ row.installPackageName }}</span>
</el-button>
</template>
<template #action="{ row }">
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event,row)" />
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
:sumFormDataByForm ="(formRef,formModel)=>{
console.log(formModel)
const {uploadFile} = formModel
formRef.value.setValues({
installPackageUrl:uploadFile
})
}"
@success="formsSuccess"
:rules="SystemInstallPackageRules"
:formAllSchemas="SystemInstallPackage.allSchemas"
:apiUpdate="SystemInstallPackageApi.updateSystemInstallPackage"
:apiCreate="SystemInstallPackageApi.createSystemInstallPackage"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail ref="detailRef" :isBasic="true" :allSchemas="SystemInstallPackage.allSchemas" />
</template>
<script setup lang="ts">
// import download from '@/utils/download'
import { SystemInstallPackage,SystemInstallPackageRules } from './systemInstallPackage.data'
import * as SystemInstallPackageApi from '@/api/wms/systemInstallPackage'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import Detail from '@/components/Detail/src/Detail.vue'
defineOptions({ name: 'SystemInstallPackage' })
const message = useMessage() //
const { t } = useI18n() //
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(SystemInstallPackage.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: SystemInstallPackageApi.getSystemInstallPackagePage //
})
//
const { getList, setSearchParams } = tableMethods
//
const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:system-install-package:importFile'}), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
]
//
const buttonBaseClick = (val, item) => {
if (val == 'add') { //
openForm('create')
} else if (val == 'refresh') { //
getList()
} else if (val == 'filtrate') { //
} else { //
console.log('其他按钮', item)
}
}
// -
const butttondata = [
defaultButtons.mainListEditBtn({hasPermi:'wms:system-install-package:update'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:system-install-package: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) => {
if('create'==type){
const currentTime = new Date().getTime()
const fileId = SystemInstallPackage.allSchemas.formSchema.find(item=>item.field=='fileId')
fileId['value'] = currentTime
const uploadFile = SystemInstallPackage.allSchemas.formSchema.find(item=>item.field=='uploadFile')
uploadFile['componentProps']['upData']['tableId'] = currentTime
}
basicFormRef.value.open(type, row)
}
// form
const formsSuccess = async (formType,data) => {
if (formType === 'create') {
delete data['uploadFile']
await SystemInstallPackageApi.createSystemInstallPackage(data)
message.success(t('common.createSuccess'))
} else {
await SystemInstallPackageApi.updateSystemInstallPackage(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, 'basicSystemInstallPackage')
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await SystemInstallPackageApi.deleteSystemInstallPackage(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
//
const searchFormClick = (searchData) => {
tableObject.params = {
isSearch: true,
filters: searchData.filters
}
getList() //
}
/** 初始化 **/
onMounted(async () => {
getList()
})
</script>

114
src/views/system/systemInstallPackage/systemInstallPackage.data.ts

@ -0,0 +1,114 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const SystemInstallPackageRules = reactive({
installPackageName: [required],
installPackageVersion: [required],
installPackageUrl: [required],
isForcedUpdate: [required],
})
export const SystemInstallPackage = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '安装包名称',
field: 'installPackageName',
sort: 'custom',
isSearch: true,
},
{
label: '安装包版本',
field: 'installPackageVersion',
sort: 'custom',
},
{
label: '安装路径',
field: 'installPackageUrl',
sort: 'custom',
form: {
componentProps: {
disabled: true
},
}
},
{
label: '是否强制更新',
field: 'isForcedUpdate',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
table: {
width: 140
},
form: {
component: 'Switch',
value: 'TRUE',
componentProps: {
inactiveValue: 'FALSE',
activeValue: 'TRUE'
}
},
},
{
label: '更新内容',
field: 'updateContent',
sort: 'custom',
},
{
label: '附件id',
field: 'fileId',
sort: 'custom',
form: {
componentProps: {
disabled: true
},
value:'',
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
},
{
label: '上传附件',
field: 'uploadFile',
sort: 'custom',
form: {
component: 'UploadFile',
componentProps: {
upData:{
tableId: '',
tableName: ''
},
limit:1
}
},
},
{
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: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))

10
src/views/wms/countManage/count/countPlanMain/countPlanMain.data.ts

@ -338,17 +338,12 @@ export const CountPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '是否可用',
@ -372,6 +367,7 @@ export const CountPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -392,6 +388,7 @@ export const CountPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -412,6 +409,7 @@ export const CountPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

11
src/views/wms/countManage/count/countRequestMain/countRequestMain.data.ts

@ -48,16 +48,11 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '申请单号',
@ -175,6 +170,7 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -208,6 +204,7 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
field: 'autoCommit',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm: false,
isTable: true,
form: {
component: 'Switch',
@ -229,6 +226,7 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
form: {
component: 'Switch',
value: requestsettingData.autoAgree,
@ -249,6 +247,7 @@ export const CountRequestMain = useCrudSchemas(<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
form: {
component: 'Switch',
value: requestsettingData.autoExecute,

12
src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts

@ -48,16 +48,12 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '申请单号',
@ -161,6 +157,7 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -195,6 +192,7 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
form: {
component: 'Switch',
value: requestsettingData.autoCommit,
@ -215,6 +213,7 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
form: {
component: 'Switch',
value: requestsettingData.autoAgree,
@ -235,6 +234,7 @@ export const CountadjustRequestMain = useCrudSchemas(<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
form: {
component: 'Switch',
value: requestsettingData.autoExecute,

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

@ -44,16 +44,11 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '发货记录单号',
@ -226,6 +221,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -260,6 +256,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -280,6 +277,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -300,6 +298,7 @@ export const CustomerreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

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

@ -64,6 +64,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -343,6 +344,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -377,6 +379,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -397,6 +400,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -417,6 +421,7 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

11
src/views/wms/deliversettlementManage/customersettle/customersettleRequestMain/customersettleRequestMain.data.ts

@ -49,16 +49,11 @@ export const CustomersettleRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
},
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '发货记录单号',
@ -172,6 +167,7 @@ export const CustomersettleRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -206,6 +202,7 @@ export const CustomersettleRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -226,6 +223,7 @@ export const CustomersettleRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -246,6 +244,7 @@ export const CustomersettleRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

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

@ -62,17 +62,12 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
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: '发货计划单号',
@ -352,6 +347,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -377,6 +373,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -397,6 +394,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -417,6 +415,7 @@ export const DeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

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

@ -206,12 +206,6 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isSearch: true,
form: {
value: '1',
componentProps: {
disabled: true
}
}
},
{
label: '是否可用',
@ -240,6 +234,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -260,6 +255,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -280,6 +276,7 @@ export const DeliverPlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

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

@ -277,6 +277,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
@ -296,6 +297,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -316,6 +318,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -336,6 +339,7 @@ export const StockupMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

11
src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts

@ -55,17 +55,12 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
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: '仓库代码',
@ -154,6 +149,7 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -179,6 +175,7 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -199,6 +196,7 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -219,6 +217,7 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts

@ -48,6 +48,7 @@ export const PackageoverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -199,6 +200,7 @@ export const PackageoverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -248,6 +250,7 @@ export const PackageoverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -268,6 +271,7 @@ export const PackageoverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -287,6 +291,7 @@ export const PackageoverRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm: false,
isTable: true,
sort: 'custom',
table: {

5
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts

@ -49,6 +49,7 @@ export const ScrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
@ -183,6 +184,7 @@ export const ScrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -217,6 +219,7 @@ export const ScrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -237,6 +240,7 @@ export const ScrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -257,6 +261,7 @@ export const ScrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

2
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionJobMain/index.vue

@ -73,7 +73,7 @@ import * as UnplannedissueJobDetailApi from '@/api/wms/unplannedissueJobDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
//
defineOptions({ name: 'UnplannedissueJobMain' })
defineOptions({ name: 'UnplannedissueJobMainSpare' })
const message = useMessage() //
const { t } = useI18n() //

4
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRecordMain/index.vue

@ -68,7 +68,7 @@ import * as UnplannedissueRecordDetailApi from '@/api/wms/unplannedissueRecordDe
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
//
defineOptions({ name: 'UnplannedissueRecordMain' })
defineOptions({ name: 'UnplannedissueRecordMainSpare' })
const message = useMessage() //
const { t } = useI18n() //
@ -84,7 +84,7 @@ const updataTableColumns = (val) => {
}
const { tableObject, tableMethods } = useTable({
getListApi: UnplannedissueRecordMainApi.getUnplannedissueRecordMainPage //
getListApi: UnplannedissueRecordMainApi.getUnplannedissueRecordMainPageSpare //
})
//

5
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/index.vue

@ -88,7 +88,7 @@ import * as UnplannedissueRequestDetailApi from '@/api/wms/unplannedissueRequest
import * as defaultButtons from '@/utils/disposition/defaultButtons'
//
defineOptions({ name: 'UnplannedissueRequestMain' })
defineOptions({ name: 'UnplannedissueRequestMainSpare' })
const message = useMessage() //
const { t } = useI18n() //
@ -142,7 +142,7 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
const Echo = []
const { tableObject, tableMethods } = useTable({
getListApi: UnplannedissueRequestMainApi.getUnplannedissueRequestMainPage //
getListApi: UnplannedissueRequestMainApi.getUnplannedissueRequestMainPageSpare //
})
//
@ -387,6 +387,7 @@ const submitForm = async (formType, data) => {
formRef.value.formLoading = false
return
}
data.dataType='2'
await UnplannedissueRequestMainApi.createUnplannedissueRequestMain(data)
message.success(t('common.createSuccess'))
} else {

29
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts

@ -46,6 +46,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
@ -151,6 +152,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -176,6 +178,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -196,6 +199,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -216,6 +220,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -433,7 +438,7 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
searchField: 'packingNumber',
searchTitle: '库存余额信息',
searchAllSchemas: Balance.allSchemas,
searchPage: BalanceApi.getBalancePage
searchPage: BalanceApi.getBalancePageSpare
},
form: {
// labelMessage: '信息提示说明!!!',
@ -443,7 +448,7 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
searchField: 'packingNumber',
searchTitle: '库存余额信息',
searchAllSchemas: Balance.allSchemas,
searchPage: BalanceApi.getBalancePage
searchPage: BalanceApi.getBalancePageSpare
}
}
},
@ -512,25 +517,11 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
},
},
{
label: '原因',
label: '领用原因',
field: 'reason',
dictType: DICT_TYPE.UNPLANNED_ISSUE_REASON,
dictClass: 'string',
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return cellValue
},
table: {
width: 150
},
form: {
componentProps: {
filterable: true
}
},
tableForm: {
type: 'Select',
filterable: true
}
},
{
label: '项目代码',
@ -641,10 +632,6 @@ export const UnplannedissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
//表单校验
export const UnplannedissueRequestDetailRules = reactive({
packingNumber: [
{ required: true, message: '请选择包装号', trigger: 'change' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
batch: [
{ required: true, message: '请输入批次', trigger: 'blur' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }

5
src/views/wms/inventoryjobManage/transferissue/transferissueRequestMain/transferissueRequestMain.data.ts

@ -60,6 +60,7 @@ export const TransferissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -311,6 +312,7 @@ export const TransferissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -336,6 +338,7 @@ export const TransferissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -356,6 +359,7 @@ export const TransferissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -376,6 +380,7 @@ export const TransferissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/inventoryjobManage/transferreceipt/transferreceiptRequestMain/transferreceiptRequestMain.data.ts

@ -43,6 +43,7 @@ export const TransferreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -200,6 +201,7 @@ export const TransferreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -234,6 +236,7 @@ export const TransferreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -254,6 +257,7 @@ export const TransferreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -274,6 +278,7 @@ export const TransferreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

2
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/index.vue

@ -86,7 +86,6 @@ import { UnplannedissueRequestMain,UnplannedissueRequestMainRules,Unplannedissue
import * as UnplannedissueRequestMainApi from '@/api/wms/unplannedissueRequestMain'
import * as UnplannedissueRequestDetailApi from '@/api/wms/unplannedissueRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as TransferissueRequestMainApi from "@/api/wms/transferissueRequestMain";
//
defineOptions({ name: 'UnplannedissueRequestMain' })
@ -388,6 +387,7 @@ const submitForm = async (formType, data) => {
formRef.value.formLoading = false
return
}
data.dataType='1'
await UnplannedissueRequestMainApi.createUnplannedissueRequestMain(data)
message.success(t('common.createSuccess'))
} else {

5
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts

@ -47,6 +47,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -151,6 +152,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -176,6 +178,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -196,6 +199,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -215,6 +219,7 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm: false,
isTable: true,
sort: 'custom',
table: {

5
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts

@ -62,6 +62,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
@ -191,6 +192,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -216,6 +218,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -236,6 +239,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -256,6 +260,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -85,6 +85,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -238,6 +239,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -292,6 +294,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -311,6 +314,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -331,6 +335,7 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm:false,
isTable: true,
sort: 'custom',
table: {

4
src/views/wms/issueManage/preparetoissueplan/preparetoissueMain/preparetoissueMain.data.ts

@ -167,6 +167,7 @@ export const PreparetoissueMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
form: {
value: '1',
componentProps: {
@ -287,6 +288,7 @@ export const PreparetoissueMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -307,6 +309,7 @@ export const PreparetoissueMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -327,6 +330,7 @@ export const PreparetoissueMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -92,6 +92,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -229,6 +230,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -254,6 +256,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -274,6 +277,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -294,6 +298,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts

@ -52,6 +52,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -154,6 +155,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -240,6 +242,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -259,6 +262,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoAgree',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -279,6 +283,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm:false,
isTable: true,
sort: 'custom',
table: {

5
src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts

@ -51,6 +51,7 @@ export const InventorychangeRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isSearch: true,
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -127,6 +128,7 @@ export const InventorychangeRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -161,6 +163,7 @@ export const InventorychangeRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -181,6 +184,7 @@ export const InventorychangeRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -200,6 +204,7 @@ export const InventorychangeRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
field: 'autoExecute',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isForm: false,
isTable: true,
sort: 'custom',
table: {

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

@ -52,6 +52,7 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm: false,
isTable: true,
sort: 'custom',
table: {
@ -215,6 +216,7 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
table: {
width: 150
},
@ -249,6 +251,7 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -269,6 +272,7 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150
@ -289,6 +293,7 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm: false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/productionManage/offlinesettlement/offlinesettlementRequestMain/offlinesettlementRequestMain.data.ts

@ -144,6 +144,7 @@ export const OfflinesettlementRequestMain = useCrudSchemas(reactive<CrudSchema[]
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -169,6 +170,7 @@ export const OfflinesettlementRequestMain = useCrudSchemas(reactive<CrudSchema[]
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -217,6 +219,7 @@ export const OfflinesettlementRequestMain = useCrudSchemas(reactive<CrudSchema[]
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -237,6 +240,7 @@ export const OfflinesettlementRequestMain = useCrudSchemas(reactive<CrudSchema[]
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -257,6 +261,7 @@ export const OfflinesettlementRequestMain = useCrudSchemas(reactive<CrudSchema[]
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts

@ -269,6 +269,7 @@ export const ProductdismantleRequestMain = useCrudSchemas(reactive<CrudSchema[]>
table: {
width: 150
},
isForm:false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -292,6 +293,7 @@ export const ProductdismantleRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -340,6 +342,7 @@ export const ProductdismantleRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -360,6 +363,7 @@ export const ProductdismantleRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -380,6 +384,7 @@ export const ProductdismantleRequestMain = useCrudSchemas(reactive<CrudSchema[]>
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -51,6 +51,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 150
},
@ -326,6 +327,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -346,6 +348,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -366,6 +369,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -51,6 +51,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 150
},
@ -326,6 +327,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -346,6 +348,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -366,6 +369,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -51,6 +51,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 150
},
@ -60,7 +61,6 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
// disabled: true
// }
// },
isForm:false,
isSearch: true,
},
{
@ -326,6 +326,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -346,6 +347,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -366,6 +368,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -50,6 +50,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
dictType: DICT_TYPE.PLAN_STATUS,
dictClass: 'string',
isForm:false,
isTable: true,
table: {
width: 150
@ -326,6 +327,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -346,6 +348,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -366,6 +369,7 @@ export const ProductionMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -181,6 +181,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -206,6 +207,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -285,6 +287,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -305,6 +308,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -325,6 +329,7 @@ export const ProductputawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

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

@ -293,6 +293,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -319,6 +320,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -367,6 +369,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -387,6 +390,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -407,6 +411,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts

@ -293,6 +293,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -319,6 +320,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -367,6 +369,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -387,6 +390,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -407,6 +411,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts

@ -282,6 +282,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -308,6 +309,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -356,6 +358,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -376,6 +379,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -396,6 +400,7 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

1
src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts

@ -35,6 +35,7 @@ export const ProductredressRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {

5
src/views/wms/productionManage/productrepair/productrepairRequestMain/productrepairRequestMain.data.ts

@ -266,6 +266,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -292,6 +293,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -340,6 +342,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -360,6 +363,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -380,6 +384,7 @@ export const ProductrepairRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts

@ -188,6 +188,7 @@ export const ProductscrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -287,6 +288,7 @@ export const ProductscrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -343,6 +345,7 @@ export const ProductscrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -363,6 +366,7 @@ export const ProductscrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -383,6 +387,7 @@ export const ProductscrapRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

5
src/views/wms/purchasereceiptManage/inspect/inspectRequestMain/inspectRequestMain.data.ts

@ -296,6 +296,7 @@ export const InspectRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -321,6 +322,7 @@ export const InspectRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
isTable: true,
sort: 'custom',
table: {
@ -379,6 +381,7 @@ export const InspectRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -399,6 +402,7 @@ export const InspectRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -419,6 +423,7 @@ export const InspectRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

4
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts

@ -354,6 +354,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -371,6 +372,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -391,6 +393,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -411,6 +414,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

4
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts

@ -297,6 +297,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -354,6 +355,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -374,6 +376,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -394,6 +397,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

4
src/views/wms/purchasereceiptManage/putaway/putawayRequestMain/putawayRequestMain.data.ts

@ -301,6 +301,7 @@ export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -339,6 +340,7 @@ export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -359,6 +361,7 @@ export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -379,6 +382,7 @@ export const PutawayRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

4
src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts

@ -355,6 +355,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -373,6 +374,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isTable: true,
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -392,6 +394,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -412,6 +415,7 @@ export const PurchasereceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150

1
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/demandforecastingMain.data.ts

@ -146,6 +146,7 @@ export const DemandforecastingMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PURCHASE_ORDER_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
isSearch: true,
sort: 'custom',
table: {

1
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts

@ -65,6 +65,7 @@ export const PurchaseMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PURCHASE_ORDER_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
isSearch: true,
sort: 'custom',
table: {

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

@ -144,6 +144,7 @@ export const PurchasePlanMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.PURCHASE_PLAN_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
isSearch: true,
table: {
width: 150

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

@ -351,11 +351,12 @@ export const SupplierdeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
isSearch: true,
sort: 'custom',
table: {
width: 150
},
isSearch: true,
form: {
value: '1',
componentProps: {
@ -401,6 +402,7 @@ export const SupplierdeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictClass: 'string',
isTable: true,
sort: 'custom',
isForm:false,
table: {
width: 150
},
@ -424,6 +426,7 @@ export const SupplierdeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isForm:false,
form: {
component: 'Switch',
value: requestsettingData.autoAgree,
@ -444,6 +447,7 @@ export const SupplierdeliverRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isForm:false,
form: {
component: 'Switch',
value: requestsettingData.autoExecute,

4
src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/purchaseclaimRequestMain.data.ts

@ -98,6 +98,7 @@ export const PurchaseclaimRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isSearch: true,
isTable: true,
isForm:false,
form: {
value:'1',
componentProps:{
@ -193,6 +194,7 @@ export const PurchaseclaimRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 100
},
@ -212,6 +214,7 @@ export const PurchaseclaimRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 100
},
@ -231,6 +234,7 @@ export const PurchaseclaimRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string',
isTable: true,
isForm:false,
table: {
width: 100
},

42
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue

@ -43,6 +43,17 @@
:tableAllSchemas="SupplierinvoiceRequestDetail.allSchemas"
:tableFormRules="SupplierinvoiceRequestDetailRules"
:tableData="tableData"
:sumFormDataField = "[{
formField:'amount',
tableField:'singlePrice'
}]"
:sumFormDataByForm ="(formRef,formModel)=>{
const {taxRate=0,amount=0} = formModel
formRef.value.setValues({
taxAmount:taxRate*amount,
afterTaxAmount:amount+taxRate*amount
})
}"
:apiUpdate="SupplierinvoiceRequestMainApi.updateSupplierinvoiceRequestMain"
:apiCreate="SupplierinvoiceRequestMainApi.createSupplierinvoiceRequestMain"
:isBusiness="true"
@ -50,7 +61,11 @@
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
/>
>
<template v-slot="{row}">
<el-input :disabled="true" :class="{'is-red': row['singlePrice'] - row['purchasePrice'] > 0}" :modelValue="row['singlePrice'] - row['purchasePrice']"/>
</template>
</BasicForm>
<!-- 详情 -->
<Detail
@ -68,6 +83,16 @@
prop: 'Annex',
tableName:'waybill'
}]"
:otherHeadButttonData="[{
label: '打印',
name: 'kuozhan',
hide: false,
type: 'primary',
// icon: 'ep:operation',
color: '',
float:'left',
hasPermi: ''
}]"
:isBasic="false"
:allSchemas="SupplierinvoiceRequestMain.allSchemas"
:detailAllSchemas="SupplierinvoiceRequestDetail.allSchemas"
@ -78,6 +103,7 @@
:apiPage="SupplierinvoiceRequestDetailApi.getSupplierinvoiceRequestDetailPage"
:apiDelete="SupplierinvoiceRequestDetailApi.deleteSupplierinvoiceRequestDetail"
:Echo="Echo"
@buttonBaseClick="detailButtonBaseClick"
/>
<!-- 导入 -->
@ -148,6 +174,7 @@
newRow['recvBillNum'] = item['recvBillNum']
newRow['asnBillNum'] = item['asnBillNum']
newRow['supplierCode'] = item['supplierCode']
newRow['singlePrice'] = item['purchasePrice']// =
newRow['purchasePrice'] = item['purchasePrice']
newRow['invoicableQuantity'] = item['invoicableQuantity']
newRow['itemCode'] = item['itemCode']
@ -555,9 +582,22 @@ const importSuccess = () => {
getList() //
}
// --
const detailButtonBaseClick = (val, item) => {
console.log(1111)
}
/** 初始化 **/
onMounted(async () => {
getList()
importTemplateData.templateUrl = await SupplierinvoiceRequestMainApi.importTemplate()
})
</script>
<style lang="scss" scoped>
.is-red{
border-radius:var(--el-border-radius-base);
border:1px solid var(--el-color-danger);
box-shadow: 0 0 0 1px var(--el-color-danger) inset;
}
</style>

45
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -125,6 +125,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
dictType: DICT_TYPE.SUPPLIERINVOICE_REQUEST_STATUS,
dictClass: 'string',
isTable: true,
isForm:false,
sort: 'custom',
table: {
width: 150
@ -148,6 +149,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
componentProps: {
min: 0,
precision: 6,
disabled: true,
}
},
tableForm: {
@ -186,6 +188,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
componentProps: {
min: 0,
precision: 6,
disabled: true,
}
},
tableForm: {
@ -205,12 +208,14 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
componentProps: {
min: 0,
precision: 6,
disabled: true,
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6,
disabled: true,
}
},
{
@ -219,6 +224,10 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable:false,
isTableForm:false,
isForm:false,
isDetail:false,
form: {
component: 'InputNumber',
componentProps: {
@ -272,7 +281,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
},
{
label: '金税票号',
field: 'afterTaxAmount',
field: 'goldenTaxInvoiceNumber',
table: {
width: 150
},
@ -334,6 +343,9 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
table: {
width: 150
},
isTable:false,
isTableForm:false,
isForm:false,
formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
return userDeptArray.find((account) => account.id == cellValue)?.name
},
@ -608,21 +620,6 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
]
}
},
{
label: '供应商税率',
field: 'tax',
table: {
width: 150
},
form: {
componentProps: {
disabled: true
}
},
tableForm:{
disabled: true
}
},
{
label: '项目编码',
field: 'projectCode',
@ -717,6 +714,22 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
disabled: true
}
},
{
label: '差额',
field: 'differencePrice',
table: {
width: 150
},
form: {
componentProps: {
disabled: true
}
},
tableForm:{
type: 'slot',
disabled: true
}
},
{
label: '可开票数量',
field: 'invoicableQuantity',

Loading…
Cancel
Save