diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 9c6aad57a..e571f3bf9 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -691,6 +691,7 @@ export default { 预测日期:'Forecast Date', 订单行:'Order Line', 计划数量:'Planned Quantity', + 计划数量必须大于0:'The number of plans must be greater than 0', 最后更新时间:'Last update time', 最后更新者:'Last Updater', 要货计划:'Demand plan', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index b7920e2d5..c5655b206 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -693,6 +693,7 @@ export default { 预测日期:'预测日期', 订单行:'订单行', 计划数量:'计划数量', + 计划数量必须大于0:'计划数量必须大于0', 最后更新时间:'最后更新时间', 最后更新者:'最后更新者', 要货计划:'要货计划', diff --git a/src/views/system/passwordRule/index.vue b/src/views/system/passwordRule/index.vue index d91a69279..353879cba 100644 --- a/src/views/system/passwordRule/index.vue +++ b/src/views/system/passwordRule/index.vue @@ -113,8 +113,8 @@ const passwordConfig = ref({ ruleDesc: "", tryCount: 3, lockHours: 1, - updatePeriod: 30, - dayTryCount: 3, + updatePeriod: 180, + dayTryCount: 5, updateRemind: 7, }) /** 查询配置 */ diff --git a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue index 000036fea..a648a54d9 100644 --- a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue +++ b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue @@ -1210,6 +1210,37 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗 /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { + let TransactionType = formData.value.condition[5]['Value'] + if(Array.isArray(TransactionType)){ + TransactionType = TransactionType.join(',') + } + if(TransactionType=='Repleinment'){ + //补料--物料和库位必填 + let msg = '' + let itemCodeType = formData.value.condition[1]['ParamCode'] + let itemCodes = formData.value.condition[1]['Value'] + if(Array.isArray(itemCodes)){ + itemCodes = itemCodes.join(',') + } + let locationCodes = formData.value.configuration.LocationCode + if(Array.isArray(locationCodes)){ + locationCodes = locationCodes.join(',') + } + if(itemCodeType!='ItemCode'){ + msg = '请选择物料' + }else if(itemCodes.trim().length<=0){ + msg = '请您选择物料' + }else if(warehouseType.value!='LocationCode'){ + // 判断库位必填 + msg = '请选择库位' + }else if(locationCodes.trim().length<=0){ + msg = '请您选择库位' + } + if(msg){ + message.error(msg) + return + } + } await blurWarehouse() // await blurTransactionType() if(warehouseType.value == 'WarehouseCode' && !formData.value.configuration.WarehouseCode){ @@ -1230,6 +1261,7 @@ const submitForm = async () => { message.error('请选择库位') return } + // 校验表单 if (!formRef) return diff --git a/src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue b/src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue index b38c26706..41632cb0e 100644 --- a/src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue +++ b/src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue @@ -153,7 +153,7 @@ const butttondata = (row, $index) => { return [ // defaultButtons.mainListEditBtn({hasPermi:'wms:sale-shipment-main-record:update'}), // 编辑 // defaultButtons.mainListDeleteBtn({hasPermi:'wms:sale-shipment-main-record:delete'}), // 删除 - defaultButtons.mainListAbortBtn({hasPermi:'wms:sale-shipment-main-request:abort',hide:row.revokeFlag=='TRUE'}), // 撤销 + defaultButtons.mainListAbortBtn({hasPermi:'wms:sale-shipment-main-request:abort',hide:(row.revokeFlag=='TRUE'||row.relateRecordNumber != null ) }), // 撤销 ] } diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue index b36c4f3c3..bf4d22be7 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue @@ -83,7 +83,6 @@ :detailAllSchemas="PurchasePlanDetail.allSchemas" :detailAllSchemasRules="PurchasePlanDetailRules" :apiCreate="PurchasePlanDetailApi.createPurchasePlanDetail" - :apiUpdate="PurchasePlanDetailApi.updatePurchasePlanDetail" :apiPage="PurchasePlanDetailApi.getPurchasePlanDetailPage" :apiDelete="PurchasePlanDetailApi.deletePurchasePlanDetail" @searchTableSuccessDetail="searchTableSuccessDetail" @@ -98,6 +97,8 @@ :isOpenSearchTable="true" :mainSubmitCreateApi="true" fieldTableColumn="poLine" + @detailOpenForm="detailOpenForm" + @handleSubmitForm="handleDetailSubmitForm" /> @@ -517,7 +518,26 @@ const getSearchTableData = async (number,formField,searchField)=>{ const departmentCode = wsCache.get(CACHE_KEY.DEPT).find((account) => account.id == row.departmentCode)?.name if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) } - + const detailOpenForm = (type, row) => { + + PurchasePlanDetail.allSchemas.formSchema.forEach(item=>{ + if(item.field == 'planQty'){ + //计划数量 + item.componentProps.disabled = row.available=="FALSE" + } + }) + } + const handleDetailSubmitForm = async (formType, data)=>{ + if(formType == 'update'){ + if(Number(data.planQty)<=0){ + message.error(t('ts.计划数量必须大于0')) + return + } + await PurchasePlanDetailApi.updatePurchasePlanDetail(data) + message.success(t('common.updateSuccess')) + } + detailRef.value.submitUpdateList() + } /** 删除按钮操作 */ const handleDelete = async (id : number) => { try { @@ -865,25 +885,26 @@ const handleSelectionPublish = async ()=>{ // 子表新增/编辑校验 const detailValidate = async (data) => { - let tag = false - await PurchaseDetailApi.getPurchaseDetailPageCheckData({ - number: data.poNumber, - lineNumber: data.poLine - }).then(res => { - if(res.list[0].type == 'DISCRETE'){//只有离散单需要这个校验 - if (data.planQty > res.list[0].orderQty - res.list[0].plannedQty) { - message.error(t('ts.要货计划数量不得大于订单数量-已计划数量')) - tag = false - } else { - tag = true - } - }else{ - tag = true - } - }).catch(err =>{ - console.log(err); - }) - return tag + return true + // let tag = false + // await PurchaseDetailApi.getPurchaseDetailPageCheckData({ + // number: data.poNumber, + // lineNumber: data.poLine + // }).then(res => { + // if(res.list[0].type == 'DISCRETE'){//只有离散单需要这个校验 + // if (data.planQty > res.list[0].orderQty - res.list[0].plannedQty) { + // message.error(t('ts.要货计划数量不得大于订单数量-已计划数量')) + // tag = false + // } else { + // tag = true + // } + // }else{ + // tag = true + // } + // }).catch(err =>{ + // console.log(err); + // }) + // return tag } /** 导入 */ diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts index 3e0ceb2fc..6f9d5991a 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts @@ -138,6 +138,11 @@ export const SupplierdeliverRequestMain = useCrudSchemas(reactive( value: 4, isMainValue: false }, + { + key: 'flag', + value: 1, + isMainValue: false + }, { key: 'available', value: "TRUE",