diff --git a/src/api/wms/mstr/index.ts b/src/api/wms/mstr/index.ts
new file mode 100644
index 000000000..f34bc2a89
--- /dev/null
+++ b/src/api/wms/mstr/index.ts
@@ -0,0 +1,56 @@
+import request from '@/config/axios'
+
+export interface MstrVO {
+ id: number
+ hflccHflcd: string
+ plProdLine: string
+ plDesc: string
+ plMvarAcct: string
+ plCchgAcct: string
+ type: string
+ remark: string
+ extraProperties: string
+ concurrencyStamp: number
+ siteId: string
+}
+
+// 查询产品类信息列表
+export const getMstrPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/mstr/senior', data })
+ } else {
+ return await request.get({ url: `/wms/mstr/page`, params })
+ }
+}
+
+// 查询产品类信息详情
+export const getMstr = async (id: number) => {
+ return await request.get({ url: `/wms/mstr/get?id=` + id })
+}
+
+// 新增产品类信息
+export const createMstr = async (data: MstrVO) => {
+ return await request.post({ url: `/wms/mstr/create`, data })
+}
+
+// 修改产品类信息
+export const updateMstr = async (data: MstrVO) => {
+ return await request.put({ url: `/wms/mstr/update`, data })
+}
+
+// 删除产品类信息
+export const deleteMstr = async (id: number) => {
+ return await request.delete({ url: `/wms/mstr/delete?id=` + id })
+}
+
+// 导出产品类信息 Excel
+export const exportMstr = async (params) => {
+ return await request.download({ url: `/wms/mstr/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/mstr/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue
index 5fa0fbd9a..378a2ba07 100644
--- a/src/components/BasicForm/src/BasicForm.vue
+++ b/src/components/BasicForm/src/BasicForm.vue
@@ -615,14 +615,12 @@ const submitForm = async () => {
formLoading.value = true
if (formType.value == 'create') {
const validateForm = await tableFormRef.value.validateForm()
- if (!validateForm && props.tableFormDataLength) {
+ if (props.tableFormDataLength) {
if (props.tableData.length == 0) {
message.warning('请填写明细信息!')
formLoading.value = false
return
}
- formLoading.value = false
- return
}
// 主子表——提交请求
try {
diff --git a/src/components/TableForm/src/TableForm.vue b/src/components/TableForm/src/TableForm.vue
index 28db8d9a7..88439dd30 100644
--- a/src/components/TableForm/src/TableForm.vue
+++ b/src/components/TableForm/src/TableForm.vue
@@ -551,6 +551,7 @@ const tableSelectionChange = (val) => {
}
const handleSelectionDelete = () => {
emit('tableSelectionDelete', deleteTableData.value)
+ TableBaseComponents_Ref.value.clearSelection()
nextTick(() => {
deleteTableData.value.forEach((row) => {
TableBaseComponents_Ref.value!.toggleRowSelection(row, false)
diff --git a/src/views/wms/basicDataManage/subject/mstr/index.vue b/src/views/wms/basicDataManage/subject/mstr/index.vue
new file mode 100644
index 000000000..67ea231af
--- /dev/null
+++ b/src/views/wms/basicDataManage/subject/mstr/index.vue
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/basicDataManage/subject/mstr/mstr.data.ts b/src/views/wms/basicDataManage/subject/mstr/mstr.data.ts
new file mode 100644
index 000000000..da3628962
--- /dev/null
+++ b/src/views/wms/basicDataManage/subject/mstr/mstr.data.ts
@@ -0,0 +1,67 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const MstrRules = reactive({
+ hflccHflcd: [required],
+ plProdLine: [required],
+ plMvarAcct: [required],
+ plCchgAcct: [required],
+ concurrencyStamp: [required],
+})
+
+export const Mstr = useCrudSchemas(reactive([
+ {
+ label: '域代码',
+ field: 'hflccHflcd',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '产品类',
+ field: 'plProdLine',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '产品描述',
+ field: 'plDesc',
+ sort: 'custom',
+ },
+ {
+ label: '物料差异账户',
+ field: 'plMvarAcct',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '成本重估账户',
+ field: 'plCchgAcct',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ 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/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts b/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
index 4a7479093..4b131b1bb 100644
--- a/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
+++ b/src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
@@ -560,6 +560,9 @@ export const IssueRequestMainRules = reactive({
workshopCode: [
{ required: true, message: '请选择车间代码', trigger: 'change' }
],
+ productionLineCode: [
+ { required: true, message: '请选择生产线代码', trigger: 'change' }
+ ],
// fromWarehouseCode: [
// { required: true, message: '请选择从仓库代码', trigger: 'change' }
// ],
diff --git a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
index f18f34c0d..80e5d6536 100644
--- a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
+++ b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
@@ -471,6 +471,122 @@ export const RepleinshRequestMainRules = reactive({
* @returns {Array} 补料申请子表
*/
export const RepleinshRequestDetail = useCrudSchemas(reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch:true,
+ sortSearchDefault:2,
+ sortTableDefault:3,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '物料基础信息', // 查询弹窗标题
+ searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
+ searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
+ searchCondition:[{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ tableForm:{
+ enterSearch:true,
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '物料基础信息', // 查询弹窗标题
+ searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
+ searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
+ searchCondition:[{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },{
+ key : 'businessTypeCode',
+ value: queryParams.businessTypeCode
+ }]
+ },
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ sortTableDefault:4,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '物料描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain:true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain:true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenInMain:true,
+ form: {
+ component: 'InputNumber',
+ componentProps: {
+ min: 0,
+ precision: 6
+ }
+ },
+ tableForm: {
+ type: 'InputNumber',
+ min: 0,
+ precision: 6
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:9,
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
{
label: '到库位代码',
field: 'toLocationCode',
@@ -541,7 +657,8 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
field: 'inventoryStatus',
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
- isTable: true,
+ isTableForm: false,
+ isTable:false,
sort: 'custom',
form: {
value: 'OK',
@@ -557,6 +674,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
table: {
width: 150
},
+ isTableForm:false,
tableForm: {
type: 'Select',
default: 'OK',
@@ -573,63 +691,23 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
},
hiddenInMain:true,
isTableForm: false,
+ isTable:false,
form: {
componentProps: {
disabled: true
}
}
},
- {
- label: '物料代码',
- field: 'itemCode',
- sort: 'custom',
- table: {
- width: 150
- },
- isSearch:true,
- sortSearchDefault:2,
- sortTableDefault:3,
- form: {
- // labelMessage: '信息提示说明!!!',
- componentProps: {
- isSearchList: true, // 开启查询弹窗
- searchListPlaceholder: '请选择物料代码', // 输入框占位文本
- searchField: 'code', // 查询弹窗赋值字段
- searchTitle: '物料基础信息', // 查询弹窗标题
- searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
- searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
- searchCondition:[{
- key: 'available',
- value: 'TRUE',
- isMainValue: false
- }]
- }
- },
- tableForm:{
- enterSearch:true,
- isInpuFocusShow: true,
- searchListPlaceholder: '请选择物料代码', // 输入框占位文本
- searchField: 'code', // 查询弹窗赋值字段
- searchTitle: '物料基础信息', // 查询弹窗标题
- searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
- searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
- searchCondition:[{
- key: 'available',
- value: 'TRUE',
- isMainValue: false
- },{
- key : 'businessTypeCode',
- value: queryParams.businessTypeCode
- }]
- },
- },
+
{
label: '备注',
field: 'remark',
sort: 'custom',
+ isTableForm:false,
table: {
width: 150
},
+ isTable:false,
hiddenInMain:true,
},
{
@@ -667,36 +745,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
isTableForm: false,
isForm: false
},
- {
- label: '物料名称',
- field: 'itemName',
- sort: 'custom',
- sortTableDefault:4,
- isTableForm: false,
- isForm: false,
- },
- {
- label: '物料描述1',
- field: 'itemDesc1',
- sort: 'custom',
- table: {
- width: 150
- },
- hiddenInMain:true,
- isTableForm: false,
- isForm: false,
- },
- {
- label: '物料描述2',
- field: 'itemDesc2',
- sort: 'custom',
- table: {
- width: 150
- },
- hiddenInMain:true,
- isTableForm: false,
- isForm: false,
- },
+
{
label: '项目代码',
field: 'projectCode',
@@ -706,50 +755,10 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
},
hiddenInMain:true,
isTableForm: false,
+ isTable:false,
isForm: false,
},
- {
- label: '数量',
- field: 'qty',
- sort: 'custom',
- table: {
- width: 150
- },
- hiddenInMain:true,
- form: {
- component: 'InputNumber',
- componentProps: {
- min: 0,
- precision: 6
- }
- },
- tableForm: {
- type: 'InputNumber',
- min: 0,
- precision: 6
- }
- },
- {
- label: '计量单位',
- field: 'uom',
- dictType: DICT_TYPE.UOM,
- dictClass: 'string',
- isTable: true,
- sort: 'custom',
- table: {
- width: 150
- },
- sortTableDefault:9,
- tableForm: {
- type: 'Select',
- disabled: true
- },
- form: {
- componentProps: {
- disabled: true
- }
- }
- },
+
{
label: '采购订单号',
field: 'poNumber',
@@ -760,6 +769,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
hiddenInMain:true,
isTableForm: false,
sortTableDefault:1,
+ isTable:false,
},
{
label: '订单行',
@@ -771,6 +781,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
hiddenInMain:true,
isTableForm: false,
sortTableDefault:2,
+ isTable:false,
},
{
@@ -783,6 +794,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
isTableForm: false,
isForm: false,
hiddenInMain:true,
+ isTable:false,
},
{
label: '到货主代码',
@@ -794,6 +806,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
isTableForm: false,
isForm: false,
hiddenInMain:true,
+ isTable:false,
},
{
label: '最后更新时间',
@@ -829,6 +842,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
},
isTableForm: false,
hiddenInMain:true,
+ isTable:false,
isForm: false
},
{
@@ -847,9 +861,9 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive([
//表单校验
export const RepleinshRequestDetailRules = reactive({
- inventoryStatus: [
- { required: true, message: '请选择库存状态', trigger: 'change' }
- ],
+ // inventoryStatus: [
+ // { required: true, message: '请选择库存状态', trigger: 'change' }
+ // ],
toLocationCode: [
{ required: true, message: '请输入到库位代码', trigger: 'blur' }
],
diff --git a/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue b/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue
index e62b08b73..fe2a491bb 100644
--- a/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue
+++ b/src/views/wms/productionManage/processproduction/processproductionRequest/index.vue
@@ -292,6 +292,7 @@ const handleHandle = async (id: number) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ tableData.value = [] // 重置明细数据
basicFormRef.value.open(type, row)
}
diff --git a/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts b/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
index bc469c5ad..d3f6e0e3e 100644
--- a/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
+++ b/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts
@@ -236,7 +236,6 @@ export const ProductionMain = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- isSearch: true,
sortTableDefault:1000,
form: {
component: 'DatePicker',
@@ -731,6 +730,9 @@ export const ProductionDetail = useCrudSchemas(reactive([
}
},
isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ // hiddenInMain: true,
sortTableDefault:1000,
form: {
component: 'DatePicker',
diff --git a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
index 466d2a4e5..b6b85d8b5 100644
--- a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
+++ b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
@@ -235,7 +235,6 @@ export const ProductionMain = useCrudSchemas(reactive([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- isSearch: true,
sortTableDefault:1000,
form: {
component: 'DatePicker',
@@ -730,6 +729,9 @@ export const ProductionDetail = useCrudSchemas(reactive([
}
},
isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ // hiddenInMain: true,
sortTableDefault:1000,
form: {
component: 'DatePicker',
diff --git a/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts b/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
index eb64606c0..ad2d93277 100644
--- a/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
+++ b/src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
@@ -535,6 +535,9 @@ export const ProductreceiptRequestMainRules = reactive({
// departmentCode: [
// { required: true, message: '请输入部门', trigger: 'blur' }
// ],
+ productionLineCode: [
+ { required: true, message: '请选择生产线代码', trigger: 'change' }
+ ],
autoCommit: [
{ required: true, message: '请选择是否自动提交', trigger: 'change' }
],
diff --git a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
index 9e01199c7..84fb8ddaa 100644
--- a/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
+++ b/src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
@@ -536,6 +536,9 @@ export const ProductreceiptRequestMainRules = reactive({
// departmentCode: [
// { required: true, message: '请输入部门', trigger: 'blur' }
// ],
+ productionLineCode: [
+ { required: true, message: '请选择生产线代码', trigger: 'change' }
+ ],
autoCommit: [
{ required: true, message: '请选择是否自动提交', trigger: 'change' }
],
diff --git a/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue b/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue
index 5f291b7e7..a6ba77156 100644
--- a/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue
+++ b/src/views/wms/productionManage/productrepair/productrepairRequestMain/index.vue
@@ -56,6 +56,8 @@
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
@buttonOperationClick="buttonOperationClick"
+ :isShowReduceButtonSelection="true"
+@tableSelectionDelete="tableSelectionDelete"
/>
@@ -686,7 +688,9 @@ const tableFormButton = async (val , row) => {
await getDetailListBom()
}
}
-
+const tableSelectionDelete = (selection) => {
+ tableData.value = tableData.value.filter(item => !selection.includes(item))
+}
/** 初始化 **/
onMounted(async () => {
getList()
diff --git a/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts b/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts
index 5c7911793..b6902aa29 100644
--- a/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts
+++ b/src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts
@@ -500,6 +500,9 @@ export const ProductscrapRequestMainRules = reactive({
// dueTime: [
// { required: true, message: '请选择截止时间', trigger: 'change' }
// ],
+ productionLineCode: [
+ { required: true, message: '请选择生产线代码', trigger: 'change' }
+ ],
departmentCode: [
{ required: true, message: '请输入部门', trigger: 'blur' }
],