Browse Source

销售报价单/采购订单-选择弹窗数据库更改/客户折扣联动子表更改

jingbb 5 months ago
parent
commit
3d08ec6b03

+ 26 - 13
src/views/saleCode/quotation/components/SelectSupplierQuotation.vue → src/views/publicComponents/SelectSupplierQuotation.vue

@@ -128,8 +128,8 @@
     import {  ApiSelect, } from '/@/components/Form/index';
     import { JDictSelectTag} from '/@/components/Form';
     import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
-    import { supplierOption } from '../quotationForm.api';
-    const emit = defineEmits([ 'selectProduct']); //定义emit
+    import { supplierOption } from '../saleCode/quotation/quotationForm.api';
+    const emit = defineEmits([ 'selectSupplierQuatationConfirm']); //定义emit
     let classOption = ref([])
     var visible = ref(false)
     var fatherProject = ref('')
@@ -354,7 +354,7 @@
       }else if(new Set(arr).size!==1){
         message.error('请勾选询价单号相同的数据');
       }else{
-        emit('selectProduct', selectedRows.value)
+        emit('selectSupplierQuatationConfirm', selectedRows.value)
         handleCancel()
       }
     }
@@ -375,18 +375,31 @@
             projectName:''
         }
     }
-    function getTable(formData){
+    function getTable(formData,data){
         visible.value = true
-        if(formData.quotationProjectName&&formData.quotationProjectName!==''){
-            fatherProject.value = formData.quotationProject
-        }else{
-            fatherProject.value = ''
-        }
-        if(formData.sourceCode&&formData.sourceCode!==''){
-            fatherSourceCode.value = formData.sourceCode
+        if(data){
+            if(formData.projectName&&formData.projectName!==''){
+                fatherProject.value = formData.project
+            }else{
+                fatherProject.value = ''
+            }
+            if(formData.sourceCode&&formData.sourceCode!==''){
+                fatherSourceCode.value = formData.sourceCode
+            }else{
+                fatherSourceCode.value = ''
+            }
         }else{
-            fatherSourceCode.value = ''
-        }
+            if(formData.quotationProjectName&&formData.quotationProjectName!==''){
+             fatherProject.value = formData.quotationProject
+            }else{
+                fatherProject.value = ''
+            }
+            if(formData.sourceCode&&formData.sourceCode!==''){
+                fatherSourceCode.value = formData.sourceCode
+            }else{
+                fatherSourceCode.value = ''
+            }
+        }       
         loadData()
         getOptiom()
     }

+ 14 - 12
src/views/purchase/purchaseOrder/components/PurchaseOrderFormForm.vue

@@ -188,7 +188,7 @@
     <SelectPrpductModal ref="SelectPrpductModalRef" @selectProduct ='addProduct'></SelectPrpductModal>
     <SelectProjectModal ref="SelectProjectModalRef" @selectProject="addProject"></SelectProjectModal>
     <BaseShipArchiveAccessoriesModal ref="BaseShipArchiveAccessoriesModalRef"></BaseShipArchiveAccessoriesModal>
-    <SelectSupplierQuotationModal ref="SelectSupplierQuotationModalRef" @selectSupplierQuotation="addFromQuotation"></SelectSupplierQuotationModal>
+    <SelectSupplierQuotation ref="SelectSupplierQuotationRef" @selectSupplierQuatationConfirm="addFromQuotation"></SelectSupplierQuotation>
     <SelectSaleOrderModal ref="SelectSaleOrderModalRef" @selectSaleOrder="addFormSaleOrder"></SelectSaleOrderModal>
   </a-spin>
 </template>
@@ -203,7 +203,7 @@
   import SelectPrpductModal from '../../../publicComponents/SelectPrpductModal.vue';
   import SelectProjectModal from '../../../publicComponents/SelectProjectModal.vue';
   import SelectSaleOrderModal from '../../../publicComponents/SelectSaleOrderModal.vue';
-  import SelectSupplierQuotationModal from '../../../publicComponents/SelectSupplierQuotationModal.vue';
+  import SelectSupplierQuotation from '../../../publicComponents/SelectSupplierQuotation.vue';
   import BaseShipArchiveAccessoriesModal from '../../../publicComponents/BaseShipArchiveAccessoriesModal.vue';
   import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
   import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
@@ -225,7 +225,7 @@
       JSelectInput,
       SelectProjectModal,
       BaseShipArchiveAccessoriesModal,
-      SelectSupplierQuotationModal,
+      SelectSupplierQuotation,
       SelectSaleOrderModal,
       ApiSelect
     },
@@ -246,7 +246,7 @@
       const SelectPrpductModalRef = ref()
       const SelectProjectModalRef = ref()
       const BaseShipArchiveAccessoriesModalRef = ref();
-      const SelectSupplierQuotationModalRef = ref();
+      const SelectSupplierQuotationRef = ref();
       const SelectSaleOrderModalRef = ref();
       const PurOrderFormShipFormShipTable = reactive<Record<string, any>>({
         loading: false,
@@ -477,7 +477,7 @@
       }
       function getShipList(id,status){
         let params = {id:id}
-        let url = status=='quotation'?'/purCode/purPurchaseQuotation/queryPurPurchaseQuotationShipByMainId':'/saleCode/saleOrder/querySaleOrderShipByMainId'
+        let url = status=='quotation'?'/purCode/purQuotationSelection/queryPurQuotationSelectionShipByMainId':'/saleCode/saleOrder/querySaleOrderShipByMainId'
           defHttp.get({url:url,params}, { isTransformResponse: false }).then(res=>{
             if(res){
               PurOrderFormShipFormShipTable.dataSource = res.result
@@ -485,7 +485,9 @@
           })
       }
       function addFromQuotation(data){
+        debugger
         data.map(item=>{
+          item.fatherModel = item.model
           item.model = item.childModel
           item.sourceId = item.childId
           item.sourceType = 'Quo'+item.childId
@@ -496,13 +498,13 @@
         notAllowEdit.value=true
         formData.sourceCode =data[0].billCode
         if(formData.sourceCode2==''){
-          formData.project = data[0].quotationProject
+          formData.project = data[0].inquiryProject
           formData.projectName = data[0].projectName
-          formData.supplier= data[0].quotationSuppiler
-          formData.supplierName= data[0].suppilerName
+          formData.supplier= data[0].selectionSupplier
+          formData.supplierName= data[0].selectionSupplier_dictText
           formData.priority =data[0].priority
           formData.productionClass =data[0].productionClass
-          formData.model =data[0].headModel
+          formData.model =data[0].fatherModel
           formData.maker =data[0].maker
           getShipList(data[0].headId,'quotation')
         }
@@ -579,9 +581,9 @@
         }
         
       }
-      //选择供应商报价单
+      //选择供应商报价单选定
       function SelectSupplierQuotationList (){
-        SelectSupplierQuotationModalRef.value.getTable(formData)
+        SelectSupplierQuotationRef.value.getTable(formData,'purOrder')
       }
 
       // 选择销售订单
@@ -601,7 +603,7 @@
         PurOrderFormShipFormShipTable,
         purOrderFormShipFormProductTableRef,
         purOrderFormShipFormProductTable,
-        SelectSupplierQuotationModalRef,
+        SelectSupplierQuotationRef,
         SelectSaleOrderModalRef,
         validatorRules,
         validateInfos,

+ 12 - 9
src/views/saleCode/quotation/components/quotationFormForm.vue

@@ -174,7 +174,7 @@
     <SelectPrpductModal ref="SelectPrpductModalRef" @selectProduct="addProduct"></SelectPrpductModal>
     <SelectProjectModal ref="SelectProjectModalRef" @selectProject="addProject"></SelectProjectModal>
     <ViewHistoryQuotationModal ref="ViewHistoryQuotationModalRef" ></ViewHistoryQuotationModal>
-    <SelectSupplierQuotation ref="SelectSupplierQuotationRef" @selectProduct="addProductFromSupplier"></SelectSupplierQuotation>
+    <SelectSupplierQuotation ref="SelectSupplierQuotationRef" @selectSupplierQuatationConfirm="addProductFromSupplier"></SelectSupplierQuotation>
   </a-spin>
 </template>
 
@@ -189,7 +189,7 @@
   import BaseShipArchiveAccessoriesModal from '../../../publicComponents/BaseShipArchiveAccessoriesModal.vue';
   import SelectPrpductModal from '../../../publicComponents/SelectPrpductModal.vue';
   import SelectProjectModal from '../../../publicComponents/SelectProjectModal.vue';
-  import SelectSupplierQuotation from './SelectSupplierQuotation.vue';
+  import SelectSupplierQuotation from '../../../publicComponents/SelectSupplierQuotation.vue';
   import ViewHistoryQuotationModal from './ViewHistoryQuotationModal.vue';
   import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
   import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
@@ -459,6 +459,7 @@
           var obj = await getRowRate(item)
           item.taxRate = obj.rateNumber
           item.grossMargin = obj.grossMargin
+          item.discount= formData.custumerDiscount!==''?formData.custumerDiscount:''
         }
         var arrProduct = data.concat(saleQuotationFormProductTable.dataSource)
         saleQuotationFormProductTable.dataSource=arrProduct      
@@ -480,7 +481,7 @@
               formData.custumerDiscount=item.discount
             }
           })
-          if(saleQuotationFormProductTable.dataSourc.length>0){
+          if(saleQuotationFormProductTable.dataSource.length>0){
             var newArr = [...saleQuotationFormProductTable.dataSource]
             newArr.map(item=>{
               item.discount =  formData.custumerDiscount
@@ -613,7 +614,10 @@
           item.supplierId = item.selectionSupplier
           item.supplierName = item.selectionSupplier_dictText
           item.purchasePrice = item.taxPrice
-          item.taxAmount = 0
+          item.taxAmount = 0    
+        }
+        var arrProduct = data.concat(saleQuotationFormProductTable.dataSource)
+        arrProduct.map(item=>{
           customerOption.value.map(event=>{
             if(event.value==formData.quotationCustomer){
               item.intermediatorCommission = event.intermediatorCommission,
@@ -621,9 +625,8 @@
               formData.custumerDiscount=event.discount
               item.discount = event.discount
             }
-          })      
-        }
-        var arrProduct = data.concat(saleQuotationFormProductTable.dataSource)
+          })  
+        })
         saleQuotationFormProductTable.dataSource=arrProduct     
         notAllowEdit.value=true
         formData.quotationProject = data[0].inquiryProject
@@ -647,13 +650,13 @@
                 obj.rateNumber= res.result.records[0].taxRate
               }else{
                 classOption.value.map(event=>{
-                  if(event.value==row.productionClass){
+                  if(event.label==row.productClass){
                     obj.rateNumber = event.taxRate
                   }
                 })
               }   
               classOption.value.map(event=>{
-                  if(event.value==row.productionClass){
+                  if(event.label==row.productClass){
                     obj.grossMargin = event.grossMargin
                   }
                 })