From 1de52e567088e2ff296feac0ff7817637ab6f2d2 Mon Sep 17 00:00:00 2001 From: wangyufei <2267742828@qq.com> Date: Thu, 25 Jul 2024 08:29:12 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E7=8E=B0=E5=9C=BA=E6=8F=90=EF=BC=9A?= =?UTF-8?q?=E7=A8=8E=E7=8E=87=E5=8F=AF=E4=BB=A5=E7=AD=89=E4=BA=8E0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supplierinvoiceRequestMain.data.ts | 2 +- .../supplierinvoiceRequestMainDifference.data.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts index 5eb65008d..1bf8078ac 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts @@ -1508,7 +1508,7 @@ function validateTaxRate(rule, value, callback) { export const SupplierinvoiceRequestMainRules = reactive({ taxRate: [ required, - { validator:validateTaxRate, message: '税率必须大于0', trigger: 'blur'} + // { validator:validateTaxRate, message: '税率必须大于0', trigger: 'blur'} ], supplierCode: [ { required: true, message: '请选择供应商代码', trigger: 'change' } diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts index bba1657b1..76834ee32 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts @@ -1522,7 +1522,7 @@ function validateTaxRate(rule, value, callback) { export const SupplierinvoiceRequestMainRules = reactive({ taxRate: [ required, - { validator:validateTaxRate, message: '税率必须大于0', trigger: 'blur'} + // { validator:validateTaxRate, message: '税率必须大于0', trigger: 'blur'} ], supplierCode: [ { required: true, message: '请选择供应商代码', trigger: 'change' } From 39e25ff37db7768952229ea22b1d486c476723af Mon Sep 17 00:00:00 2001 From: wangyufei <2267742828@qq.com> Date: Thu, 25 Jul 2024 09:27:04 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereceiptRequestMain.data.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts index 714ad6745..afb7ae957 100644 --- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/purchasereceiptRequestMain.data.ts @@ -836,6 +836,7 @@ export const PurchasereceiptRequestDetail = useCrudSchemas(reactive Date: Thu, 25 Jul 2024 11:05:34 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E5=88=9B=E5=BB=BA/=E6=89=93=E5=8D=B0=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/productionlineitem/index.ts | 4 + src/api/wms/relegateRequestMain/index.ts | 5 + .../productionitemcodeSpareitemcode.data.ts | 9 + .../relegate/relegateRequest/index.vue | 143 +++++++-- .../relegateRequestMain.data.ts | 288 +++++++++++++++++- 5 files changed, 408 insertions(+), 41 deletions(-) diff --git a/src/api/wms/productionlineitem/index.ts b/src/api/wms/productionlineitem/index.ts index 430a0e9e5..31efb8954 100644 --- a/src/api/wms/productionlineitem/index.ts +++ b/src/api/wms/productionlineitem/index.ts @@ -72,3 +72,7 @@ export const importTemplate = () => { export const getProductionLineCodelistByCodes = async (params) => { return await request.get({ url: `/wms/productionlineitem/listByCodes`, params }) } + +export const selectItemCodeToProductionLineCode = async (itemCode: String) => { + return await request.get({ url: `/wms/productionlineitem/selectItemCodeToProductionLineCode?itemCode=` + itemCode }) +} \ No newline at end of file diff --git a/src/api/wms/relegateRequestMain/index.ts b/src/api/wms/relegateRequestMain/index.ts index 03e02454a..84a8a9f0d 100644 --- a/src/api/wms/relegateRequestMain/index.ts +++ b/src/api/wms/relegateRequestMain/index.ts @@ -95,4 +95,9 @@ export const agree = (id) => { // 处理 export const handle = (id) => { return request.put({ url: '/wms/relegate-request-main/handle?id=' + id }) +} + +// 创建标签 +export const relegateCreateLabel = async (data: RelegateRequestMainVO) => { + return await request.post({ url: `/wms/relegate-request-main/relegateCreateLabel`, data }) } \ No newline at end of file diff --git a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts index cf6f44bf7..3d6f1be35 100644 --- a/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts +++ b/src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts @@ -6,6 +6,7 @@ import { Itembasic } from '../itembasic/itembasic.data' // 表单校验 export const ProductionitemcodeSpareitemcodeRules = reactive({ productionItemCode: [required], + spareItemCode: [required], available: [required], }) @@ -33,6 +34,10 @@ export const ProductionitemcodeSpareitemcode = useCrudSchemas(reactive + + diff --git a/src/views/qms/inspectionQ1/inspectionQ1.data.ts b/src/views/qms/inspectionQ1/inspectionQ1.data.ts new file mode 100644 index 000000000..0acc3299c --- /dev/null +++ b/src/views/qms/inspectionQ1/inspectionQ1.data.ts @@ -0,0 +1,352 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +import * as CustomerApi from '@/api/wms/customer' +import { Customer } from '@/views/wms/basicDataManage/customerManage/customer/customer.data' + +import * as CustomeritemApi from '@/api/wms/customeritem' +import { Customeritem } from '@/views/wms/basicDataManage/customerManage/customeritem/customeritem.data' + +import * as QadCostcentreApi from '@/api/wms/qadCostcentre' +import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data' + +// 表单校验 +export const Q1Rules = reactive({ + customerCode: [required], + costCode: [required], + itemCode: [required], + qty: [required], + code: [required], + priority: [required], + claimAmount: [required], + claimReason: [required], + claimTime: [required], + handleTime: [required] +}) + +export const Q1 = useCrudSchemas( + reactive([ + { + label: '通知单号', + field: 'number', + sort: 'custom', + isForm: false, + isSearch: true, + table: { + width: 150, + fixed: 'left' + }, + }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.PUBLISHE_STATUS, + dictClass: 'string', + isForm: false, + isSearch: false, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '客户代码', + field: 'customerCode', + sort: 'custom', + table: { + width: 150, + fixed: 'left' + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择客户代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '客户信息', // 查询弹窗标题 + searchAllSchemas: Customer.allSchemas, // 查询弹窗所需类 + searchPage: CustomerApi.getCustomerPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + }, + isSearch: true + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '客户物料信息', // 查询弹窗标题 + searchAllSchemas: Customeritem.allSchemas, // 查询弹窗所需类 + searchPage: CustomeritemApi.getCustomeritemPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'customerCode', + value: 'customerCode', + message: '请填写客户代码!', + isMainValue: true + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + + { + label: '单位', + field: 'uom', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '编码', + field: 'code', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '优先级', + field: 'priority', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '负责用户', + field: 'responUser', + sort: 'custom', + isSearch: false + }, + { + label: '索赔金额', + field: 'claimAmount', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + { + label: '成本中心', + field: 'costCode', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择成本中心代码', // 输入框占位文本 + searchField: 'costcentreCode', // 查询弹窗赋值字段 + searchTitle: '成本中心信息', // 查询弹窗标题 + searchAllSchemas: QadCostcentre.allSchemas, // 查询弹窗所需类 + searchPage: QadCostcentreApi.getQadCostcentrePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + } + }, + { + label: '索赔原因', + field: 'claimReason', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '索赔日期', + field: 'claimTime', + 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: 'handleTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: 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: 'desc', + sort: 'custom', + isSearch: false, + table: { + width: '150' + }, + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } + } + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + isSearch: true, + isForm: false, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + search: { + value: 'TRUE' + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + table: { + width: 110 + } + }, + { + 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', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } + ]) +) diff --git a/src/views/qms/inspectionQ2/index.vue b/src/views/qms/inspectionQ2/index.vue new file mode 100644 index 000000000..5731edb26 --- /dev/null +++ b/src/views/qms/inspectionQ2/index.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/views/qms/inspectionQ2/inspectionQ2.data.ts b/src/views/qms/inspectionQ2/inspectionQ2.data.ts new file mode 100644 index 000000000..2ec6ee0e1 --- /dev/null +++ b/src/views/qms/inspectionQ2/inspectionQ2.data.ts @@ -0,0 +1,395 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +import * as QadCostcentreApi from '@/api/wms/qadCostcentre' +import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data' + +import * as InspectionQ1Api from '@/api/qms/inspectionQ1' +import { Q1 } from '@/views/qms/inspectionQ1/inspectionQ1.data' + +import * as SupplieritemApi from '@/api/wms/supplieritem' +import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data' + +import * as SupplierApi from '@/api/wms/supplier' +import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' + +import * as PurchasereceiptRecordDetailApi from '@/api/wms/purchasereceiptRecordDetail' +import { PurchasereceiptRecordMain1 } from '@/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data' + +// 表单校验 +export const Q2Rules = reactive({ + number: [required], + supplierCode: [required], + itemCode: [required], + purchaseReceiptNumber: [required], + qty: [required], + code: [required], + priority: [required], + claimAmount: [required], + costCode: [required], + claimTime: [required], + handleTime: [required], + available: [required], + concurrencyStamp: [required] +}) + +export const Q2 = useCrudSchemas( + reactive([ + { + label: '通知单号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 150, + fixed: 'left' + } + }, + { + label: 'q1通知单号', + field: 'q1Number', + sort: 'custom', + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择Q1通知单', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: 'Q1通知单', // 查询弹窗标题 + searchAllSchemas: Q1.allSchemas, // 查询弹窗所需类 + searchPage: InspectionQ1Api.getQ1Page, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + }, + isSearch: true + }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.PUBLISHE_STATUS, + dictClass: 'string', + isForm: false, + isSearch: false, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '供应商编码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + table: { + width: 175 + }, + form: { + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '供应商信息', // 查询弹窗标题 + searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + } + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table: { + width: 190 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '供应商物料信息', // 查询弹窗标题 + searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类 + searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'supplierCode', + value: 'supplierCode', + message: '请填写供应商代码!', + isMainValue: true + }, + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '单位', + field: 'uom', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '采购收货单号', + field: 'purchaseReceiptNumber', + sort: 'custom', + table: { + width: 180 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + disabled: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择采购收货记录单号', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: '采购收货记录', // 查询弹窗标题 + searchAllSchemas: PurchasereceiptRecordMain1.allSchemas, // 查询弹窗所需类 + searchPage: PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPageReturn, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'supplierCode', + value: 'supplierCode', + isMainValue: true + }, + { + key: 'itemCode', + value: 'itemCode', + isMainValue: true + } + ] + } + } + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + + { + label: '编码', + field: 'code', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + + { + label: '优先级', + field: 'priority', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '负责用户', + field: 'responUser', + sort: 'custom', + isSearch: false + }, + { + label: '索赔金额', + field: 'claimAmount', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + { + label: '成本中心代码', + field: 'costCode', + sort: 'custom', + isSearch: false, + isTable: true, + isForm: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择成本中心', // 输入框占位文本 + searchField: 'costcentreCode', // 查询弹窗赋值字段 + searchTitle: '成本中心信息', // 查询弹窗标题 + searchAllSchemas: QadCostcentre.allSchemas, // 查询弹窗所需类 + searchPage: QadCostcentreApi.getQadCostcentrePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + } + }, + + { + label: '索赔日期', + field: 'claimTime', + 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: 'handleTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: 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: 'desc', + sort: 'custom', + isSearch: false, + table: { + width: '150' + }, + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } + } + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + isSearch: false, + isForm: 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', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } + ]) +) diff --git a/src/views/qms/inspectionQ3/index.vue b/src/views/qms/inspectionQ3/index.vue new file mode 100644 index 000000000..18b256c52 --- /dev/null +++ b/src/views/qms/inspectionQ3/index.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/views/qms/inspectionQ3/inspectionQ3.data.ts b/src/views/qms/inspectionQ3/inspectionQ3.data.ts new file mode 100644 index 000000000..2e002b789 --- /dev/null +++ b/src/views/qms/inspectionQ3/inspectionQ3.data.ts @@ -0,0 +1,328 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +import * as InspectionQ1Api from '@/api/qms/inspectionQ1' +import { Q1 } from '@/views/qms/inspectionQ1/inspectionQ1.data' + +import * as QadCostcentreApi from '@/api/wms/qadCostcentre' +import { QadCostcentre } from '@/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data' + +import * as CustomeritemApi from '@/api/wms/customeritem' +import { Customeritem } from '@/views/wms/basicDataManage/customerManage/customeritem/customeritem.data' + +// 表单校验 +export const Q3Rules = reactive({ + number: [required], + itemCode: [required], + qty: [required], + code: [required], + defectLocation: [required], + defectType: [required], + problemReason: [required], + priority: [required], + amount: [required], + costCode: [required], + handleTime: [required], + available: [required], + concurrencyStamp: [required] +}) + +export const Q3 = useCrudSchemas( + reactive([ + { + label: '通知单号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 150, + fixed: 'left' + } + }, + { + label: 'q1通知单号', + field: 'q1Number', + sort: 'custom', + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择Q1通知单', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: 'Q1通知单', // 查询弹窗标题 + searchAllSchemas: Q1.allSchemas, // 查询弹窗所需类 + searchPage: InspectionQ1Api.getQ1Page, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + }, + isSearch: true + }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.PUBLISHE_STATUS, + dictClass: 'string', + isForm: false, + isSearch: false, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '客户物料信息', // 查询弹窗标题 + searchAllSchemas: Customeritem.allSchemas, // 查询弹窗所需类 + searchPage: CustomeritemApi.getCustomeritemPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'customerCode', + value: 'customerCode', + message: '请填写客户代码!', + isMainValue: true + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + { + label: '单位', + field: 'uom', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select', + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '编码', + field: 'code', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + + { + label: '缺陷位置', + field: 'defectLocation', + sort: 'custom', + isSearch: false, + isTable: false + }, + { + label: '缺陷类型', + field: 'defectType', + sort: 'custom', + isSearch: false, + isTable: false, + form: { + component: 'SelectV2' + } + }, + { + label: '问题原因', + field: 'problemReason', + sort: 'custom', + isSearch: false, + isTable: false + }, + { + label: '优先级', + field: 'priority', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: false, + isTable: true, + tableForm: { + type: 'Select' + } + }, + { + label: '负责用户', + field: 'responUser', + sort: 'custom', + isSearch: false + }, + { + label: '金额', + field: 'amount', + sort: 'custom', + isTable: false, + isSearch: false, + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + { + label: '成本中心代码', + field: 'costCode', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'costcentreCode', // 查询弹窗赋值字段 + searchTitle: '成本中心信息', // 查询弹窗标题 + searchAllSchemas: QadCostcentre.allSchemas, // 查询弹窗所需类 + searchPage: QadCostcentreApi.getQadCostcentrePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + } + }, + { + label: '处理时间', + field: 'handleTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: 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: 'desc', + sort: 'custom', + isSearch: false, + table: { + width: '150' + }, + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } + } + }, + { + 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', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } + ]) +) From 3def176f847f61efe670169c01e954414a14e576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B7=BB=E7=A0=96-JAVA=5CAdministrator?= <591141169@qq.com> Date: Thu, 25 Jul 2024 11:14:13 +0800 Subject: [PATCH 06/10] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereturnRequestMain/purchasereturnRequestMain.data.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts index be19306d8..861ff32fd 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts @@ -1398,7 +1398,6 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive }, isForm: false, isTableForm:false, - isForm:false }, // { // label: '接口类型', From a2611adbf620b85124300675d5538dd14b73fa80 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 25 Jul 2024 11:59:19 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../relegate/relegateRequest/index.vue | 5 +- .../relegateRequestMain.data.ts | 92 +------------------ 2 files changed, 6 insertions(+), 91 deletions(-) diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue index f8c7fcf0d..88f2cd907 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue @@ -229,7 +229,10 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) => // console.log(row['itemCode']); // ItembasicApi.getItemListByCodes(row['itemCode']) row['downItemCode'] = val[0]['code'] - } else if (formField == 'toLocationCode') { + } else if(formField == 'packUnit'){ + row['packUnit'] = val[0]['packUnit'] + row['packQty'] = val[0]['packQty'] + }else if (formField == 'toLocationCode') { row['toLocationCode'] = val[0]['code'] } else { row[formField] = val[0][searchField] diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts index 3999a2a75..9a16dab51 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts @@ -729,50 +729,6 @@ export const RelegateRequestDetail = useCrudSchemas(reactive([ * @returns {Array} 物料变更申请子表创建标签 */ export const RelegateRequestDetailLabel = useCrudSchemas(reactive([ - { - label: '生产线代码', - field: 'productionLineCodePackage', - sort: 'custom', - table: { - width: 150 - }, - tableForm:{ - disabled: true - // isInpuFocusShow: true, - // searchListPlaceholder: '请选择生产线代码', // 输入框占位文本 - // searchField: 'productionLineCode', // 查询弹窗赋值字段 - // searchTitle: '生产线物料关系信息', // 查询弹窗标题 - // searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 - // searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 - // searchCondition:[{ - // key: 'itemCode', - // value: 'itemCode', - // isMainValue: true - // }] - } - }, - { - label: '供应商代码', - field: 'supplierItemCode', - sort: 'custom', - table: { - width: 150 - }, - tableForm:{ - isInpuFocusShow: true, - searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 - searchField: 'supplierCode', // 查询弹窗赋值字段 - searchTitle: '供应商信息', // 查询弹窗标题 - searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类 - searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法 - searchCondition:[{ - key: 'itemCode', - value: 'itemCode', - message: '请填写物料代码!', - isMainValue: true - }] - } - }, { label: '物料代码', field: 'itemCode', @@ -831,7 +787,7 @@ export const RelegateRequestDetailLabel = useCrudSchemas(reactive( }, { label: '批次', - field: 'batch', + field: 'fromBatch', sort: 'custom', table: { width: 150 @@ -861,45 +817,6 @@ export const RelegateRequestDetailLabel = useCrudSchemas(reactive( } } }, - { - label: '计量单位', - field: 'uom', - dictType: DICT_TYPE.UOM, - dictClass: 'string', - isTable: true, - sort: 'custom', - table: { - width: 150 - }, - tableForm: { - disabled: true - }, - form: { - componentProps: { - disabled: true - } - } - }, - { - label: '库存状态', - field: 'inventoryStatus', - dictType: DICT_TYPE.INVENTORY_STATUS, - dictClass: 'string', - isTable: true, - sort: 'custom', - table: { - width: 150 - }, - tableForm: { - type: 'Select', - disabled: true - }, - form: { - componentProps: { - disabled: true - } - } - }, { label: '单据号', field: 'number', @@ -987,10 +904,5 @@ export const RelegateRequestDetailLabel = useCrudSchemas(reactive( //表单校验 export const RelegateRequestDetailLabelRules = reactive({ - supplierItemCode: [ - { required: true, message: '请选择供应商', trigger: 'change' } - ], - productionLineCodePackage: [ - { required: true, message: '请选择生产线', trigger: 'change' } - ] + }) \ No newline at end of file From 7423ed83af41082421644d1b1d5fbe004574b86b Mon Sep 17 00:00:00 2001 From: wangyufei <2267742828@qq.com> Date: Thu, 25 Jul 2024 15:36:00 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=B3=A8=E6=84=8F=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/dict.ts | 1 + .../issue/issueRequestMain/index.vue | 14 +- .../issueRequestMain/issueRequestMain.data.ts | 128 +++++++++++++++++- 3 files changed, 137 insertions(+), 6 deletions(-) diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 6c806f0d1..3a0483446 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -290,6 +290,7 @@ export enum DICT_TYPE { PL_MSTR_TYPE = 'pl_mstr_type', //产品类类型 TT_GLTYPE = 'tt_gltype', //账户类型 REPLY_STATUS = 'reply_status', //询证函回函状态 + PRIORITY = 'priority', //优先级 // ========== 业务 - mes ========== MESDO_STATUS = 'mes_do_status', // 工单执行状态 diff --git a/src/views/wms/issueManage/issue/issueRequestMain/index.vue b/src/views/wms/issueManage/issue/issueRequestMain/index.vue index db8125f6d..00cc8063f 100644 --- a/src/views/wms/issueManage/issue/issueRequestMain/index.vue +++ b/src/views/wms/issueManage/issue/issueRequestMain/index.vue @@ -62,7 +62,16 @@ @onEnter="onEnter" @onChange="onChange" @clearSearchInput="onChange" - /> + :sumFormDataByTableCustom ="(formRef,formModel,tableData)=>{ + tableData.forEach(item=>{ + item.qty = item.qty1*item.packQty + }) + }" + > + + newRow['uom'] = item['uom'] tableData.value.push(newRow) }) + }else if(formField == 'packUnit'){ + row['packQty'] = val[0]['packQty'] + row[formField] = val[0][searchField] } else { row[formField] = val[0][searchField] } diff --git a/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts b/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts index 74e46ae6e..b02157b91 100644 --- a/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts +++ b/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts @@ -10,7 +10,8 @@ import { Workstation } from '@/views/wms/basicDataManage/factoryModeling/worksta import * as WorkshopApi from '@/api/wms/workshop' import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' - +import * as ItempackagingApi from '@/api/wms/itempackage' +import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' import * as ProductionlineitemApi from '@/api/wms/productionlineitem' import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' @@ -301,6 +302,21 @@ export const IssueRequestMain = useCrudSchemas( } } }, + { + label: '优先级', + field: 'priority', + dictType: DICT_TYPE.PRIORITY, + dictClass: 'string', + isSearch: false, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Select' + } + }, { label: '从库区类型范围', field: 'fromAreaTypes', @@ -880,26 +896,124 @@ export const IssueRequestDetail = useCrudSchemas( isForm: false }, { - label: '数量', - field: 'qty', + label: '包装规格', + field: 'packUnit', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + isInpuFocusShow: true, + searchListPlaceholder: '请选择包装规格', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '物料包装信息', // 查询弹窗标题 + searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类 + searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + },{ + key: 'itemCode', + value: 'itemCode', + message: '请填写物料代码!', + isMainValue: true + }] + } + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch:true, + // isSearch:true, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择包装规格', // 输入框占位文本 + // searchField: 'itemCode', // 查询弹窗赋值字段 + // searchTitle: '物料包装信息', // 查询弹窗标题 + // searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类 + // searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法 + // searchCondition: [{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // },{ + // key: 'itemCode', + // value: 'itemCode', + // message: '请填写物料代码!', + // isMainValue: true + // }], + // verificationParams: [{ + // key: 'packUnit', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true, + // }], // 失去焦点校验参数 + // } + // } + }, + { + label: '标包数', + field: 'packQty', sort: 'custom', table: { width: 150 }, hiddenInMain: true, tableForm: { + disabled:true, type: 'InputNumber', min: 0, - precision: 6 + precision: 0 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 0 + } + } + }, + { + label: '包装数', + field: 'qty1', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + tableForm: { + type: 'InputNumber', + min: 1, + precision: 0 }, form: { component: 'InputNumber', componentProps: { min: 0, - precision: 6 + precision: 0 } } }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + tableForm: { + type: 'slot' + }, + // form: { + // component: 'InputNumber', + // componentProps: { + // min: 0, + // precision: 6 + // } + // } + }, { label: '计量单位', @@ -1170,6 +1284,10 @@ export const IssueRequestDetailRules = reactive({ toLocationCode: [ { required: true, message: '请输入到库位代码', trigger: 'blur' } ], + qty1: [ + { required: true, message: '请输入包装数量', trigger: 'blur' }, + { min: true, message: '包装数量不能小于1', trigger: 'blur' } + ], qty: [ { required: true, message: '请输入数量', trigger: 'blur' } ], From 988da7985787cc056af6afaa72269a60c7d1bc38 Mon Sep 17 00:00:00 2001 From: wangyufei <2267742828@qq.com> Date: Thu, 25 Jul 2024 15:46:17 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=B3=A8=E6=84=8F?= =?UTF-8?q?=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ImportForm/src/ImportForm.vue | 20 +++++++++++++++++++ src/locales/en-US.ts | 1 + src/locales/zh-CN.ts | 1 + .../purchasePlanMain/index.vue | 12 +++++++++-- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/components/ImportForm/src/ImportForm.vue b/src/components/ImportForm/src/ImportForm.vue index a4cb50c64..c69a2b4cd 100644 --- a/src/components/ImportForm/src/ImportForm.vue +++ b/src/components/ImportForm/src/ImportForm.vue @@ -34,6 +34,18 @@
{{t('ts.将文件拖到此处,或')}}{{t('ts.点击上传')}}