diff --git a/src/api/oa/base/relationMaterial/types.ts b/src/api/oa/base/relationMaterial/types.ts index a7143f8..9fca428 100644 --- a/src/api/oa/base/relationMaterial/types.ts +++ b/src/api/oa/base/relationMaterial/types.ts @@ -19,6 +19,21 @@ export interface RelationMaterialVO { */ saleMaterialName: string; + /** + * SAP物料编码 + */ + materialCode?: string; + + /** + * SAP物料名称 + */ + materialName?: string; + + /** + * 客户名称 + */ + customerName?: string; + /** * 备注 */ @@ -124,17 +139,27 @@ export interface RelationMaterialQuery extends PageQuery { /** * SAP物料编码 */ - materialCode: string; + materialCode?: string; /** * SAP物料名称 */ - materialName: string; + materialName?: string; + + /** + * 物料品牌 + */ + materialBrand?: string; + + /** + * 物料型号 + */ + materialModel?: string; /** * 客户名称 */ - customerName: string; + customerName?: string; } diff --git a/src/api/oa/erp/contractMaterial/types.ts b/src/api/oa/erp/contractMaterial/types.ts index 09ebfd0..f2de22d 100644 --- a/src/api/oa/erp/contractMaterial/types.ts +++ b/src/api/oa/erp/contractMaterial/types.ts @@ -127,6 +127,16 @@ export interface ContractMaterialForm extends BaseEntity { */ materialName?: string; + /** + * 物料编号 + */ + materialCode?: string; + + /** + * 客户名称 + */ + customerName?: string; + /** * 销售物料ID */ diff --git a/src/components/SaleMaterialSelect/index.vue b/src/components/SaleMaterialSelect/index.vue new file mode 100644 index 0000000..b9b4040 --- /dev/null +++ b/src/components/SaleMaterialSelect/index.vue @@ -0,0 +1,266 @@ + + + diff --git a/src/views/oa/base/relationMaterial/index.vue b/src/views/oa/base/relationMaterial/index.vue index 2add4ab..8c35b5c 100644 --- a/src/views/oa/base/relationMaterial/index.vue +++ b/src/views/oa/base/relationMaterial/index.vue @@ -246,7 +246,7 @@ const openMaterialSelect = () => { materialSelectRef.value.open(); }; -//确认选择申请人 +//确认选择物料 const materialSelectCallBack = (data) => { const materialList = data; if (materialList.length > 0) { @@ -298,6 +298,7 @@ const handleUpdate = async (row?: RelationMaterialVO) => { reset(); const _relationMaterialId = row?.relationMaterialId || ids.value[0]; const res = await getRelationMaterial(_relationMaterialId); + console.log(res.data); Object.assign(form.value, res.data); dialog.visible = true; dialog.title = '修改关联销售物料信息'; diff --git a/src/views/oa/erp/contractInfo/edit.vue b/src/views/oa/erp/contractInfo/edit.vue index 712f434..ce19e93 100644 --- a/src/views/oa/erp/contractInfo/edit.vue +++ b/src/views/oa/erp/contractInfo/edit.vue @@ -75,25 +75,15 @@ - - + + - - + + @@ -218,25 +208,31 @@ - {{dict.label}} + {{ dict.label }} - + + + + + + + + + + + @@ -247,16 +243,6 @@ - - - - - - - - - - - - + + @@ -350,7 +336,7 @@ import { getErpContractMaterialList } from '@/api/oa/erp/contractMaterial'; import { ContractMaterialVO, ContractMaterialForm } from '@/api/oa/erp/contractMaterial/types'; import { getBaseUnitInfoList } from '@/api/oa/base/unitInfo'; import { getRuleGenerateCode } from '@/api/system/codeRule'; -import MaterialSelect from '@/components/MaterialSelect/index.vue'; +import SaleMaterialSelect from '@/components/SaleMaterialSelect/index.vue'; import { ref } from 'vue'; import { listDept } from '@/api/system/dept'; import { getCrmCustomerInfoList } from '@/api/oa/crm/customerInfo'; @@ -503,19 +489,23 @@ const generateContractCode = async () => { } }; -const materialSelectRef = ref>(); +const saleMaterialSelectRef = ref>(); -//打开物料选择 -const openMaterialSelect = () => { - materialSelectRef.value.open(); +//打开销售物料选择 +const openSaleMaterialSelect = () => { + saleMaterialSelectRef.value.open(); }; //确认选择申请人 -const materialSelectCallBack = (data) => { +const saleMaterialSelectCallBack = (data) => { const materialList = data; if (materialList.length > 0) { materialForm.value.materialId = materialList[0].materialId; - materialForm.value.productName = materialList[0].materialName; + materialForm.value.materialCode = materialList[0].materialCode; + materialForm.value.materialName = materialList[0].materialName; + materialForm.value.productName = materialList[0].saleMaterialName; + materialForm.value.relationMaterialId = materialList[0].relationMaterialId; + materialForm.value.customerName = materialList[0].customerName; } }; @@ -523,13 +513,6 @@ const submitForm = () => { contractInfoFormRef.value?.validate(async (valid: boolean) => { if (valid) { buttonLoading.value = true; - console.log('提交的表单数据:', JSON.stringify(form.value, null, 2)); - console.log('甲方公司ID:', form.value.oneCustomerId); - console.log('甲方授权代表:', form.value.oneRepresent); - console.log('甲方签字日期:', form.value.oneDate); - console.log('乙方公司ID:', form.value.twoCustomerId); - console.log('乙方授权代表:', form.value.twoRepresent); - console.log('乙方签字日期:', form.value.twoDate); if (form.value.contractId) { await updateContractInfo(form.value).finally(() => (buttonLoading.value = false)); } else { @@ -561,7 +544,7 @@ const getContractMaterialList = async () => { // 新增物料(新增合同时也可添加,不依赖contractId) const handleAddMaterial = () => { resetMaterialForm(); - // materialForm.value.contractId = form.value.contractId; + materialForm.value.contractId = form.value.contractId; materialDialog.visible = true; materialDialog.title = '新增合同物料'; };