Browse Source

佣金订单

yuansh 2 weeks ago
parent
commit
266de23215

+ 3 - 2
src/views/platformBusiness/commissionOrder/commissionOrder.vue

@@ -128,6 +128,7 @@
     cancelBatchSubmit,
     supplierOption,
     CustomerOption,
+    applyInvoice,
     batchClose
   } from './commissionOrderForm.api';
   import { cloneDeep } from 'lodash-es';
@@ -248,7 +249,7 @@
         label: '开票申请(apply invice)',
         onClick: handleApplyInvice.bind(null, record),
         // auth: 'saleCode:sale_quotation:edit',
-        ifShow: record.submit == '1',
+        ifShow: record.submit == '1' && record.applyInvoice == '0',
       },
     ];
   }
@@ -288,7 +289,7 @@
     }
   }
   function handleApplyInvice(record) {
-   
+    applyInvoice({ ids: record.id }, handleSuccess);
   }
 
   /* ----------------------以下为原生查询需要添加的-------------------------- */

+ 17 - 1
src/views/platformBusiness/commissionOrder/commissionOrderForm.api.ts

@@ -17,6 +17,7 @@ enum Api {
   submitBatch='/platCode/platCommissionOrder/submitBatch',
   cancelSubmitBatch='/platCode/platCommissionOrder/returnSubmitBatch',
   closeBatch='/platCode/platCommissionOrder/submitClose',
+  applyInvoice='/platCode/platCommissionOrder/applyInvoice',
   supplierList='/cuspCode/cuspSupplierProfile/list?pageSize=-1',
   customerList='/cuspCode/cuspCustomerProfile/list',
 }
@@ -127,7 +128,22 @@ export const batchClose = (params, handleSuccess) => {
     }
   });
 }
+//申请开票
+export const applyInvoice = (params, handleSuccess) => {
+  createConfirm({
+    iconType: 'warning',
+    title: '确认申请开票',
+    content: '是否申请开票',
+    okText: '确认',
+    cancelText: '取消',
+    onOk: () => {
+      return defHttp.get({url: Api.applyInvoice, params}, {joinParamsToUrl: true}).then(() => {
+        handleSuccess();
+      });
+    }
+  });
+}
 
 //获取供应商列表
 export const supplierOption = (params) => defHttp.get({url: Api.supplierList, params});
-export const CustomerOption = (params) => defHttp.get({ url: Api.customerList, params });
+export const CustomerOption = (params) => defHttp.get({ url: Api.customerList, params });

+ 5 - 0
src/views/platformBusiness/commissionOrder/commissionOrderForm.data.ts

@@ -52,6 +52,11 @@ export const columns: BasicColumn[] = [
     align:"center",
     dataIndex: 'close_dictText'
    },
+   {
+    title: '开票申请(apply invoice)',
+    align:"center",
+    dataIndex: 'applyInvoice_dictText'
+   },
    {
     title: '供应商回款(supplier payment)',
     align:"center",

+ 13 - 0
src/views/saleCode/quotation/quotation.vue

@@ -82,12 +82,25 @@
                 <JInput placeholder="请输入产品编码(product code)" v-model:value="queryParam.productCode" allow-clear AutoComplete="off" />
               </a-form-item>
             </a-col>
+            
             <a-col :lg="8">
               <a-form-item name="sourceCode" :label-col="{ style: 'width: 200px' }">
                 <template #label><span title="来源(sourceCode)">来源(sourceCode)</span></template>
                 <JInput placeholder="请输入来源(sourceCode)" v-model:value="queryParam.sourceCode" allow-clear AutoComplete="off" />
               </a-form-item>
             </a-col>
+            <a-col :lg="8">
+              <a-form-item name="shipName" :label-col="{ style: 'width: 200px' }">
+                <template #label><span title="船(shipName)">船(shipName)</span></template>
+                <JInput placeholder="请输入船(shipName)" v-model:value="queryParam.shipName" allow-clear AutoComplete="off" />
+              </a-form-item>
+            </a-col>
+            <a-col :lg="8">
+              <a-form-item name="imo" :label-col="{ style: 'width: 200px' }">
+                <template #label><span title="imo(imo)">imo(imo)</span></template>
+                <JInput placeholder="请输入imo(imo)" v-model:value="queryParam.imo" allow-clear AutoComplete="off" />
+              </a-form-item>
+            </a-col>
             <a-col :lg="8">
               <a-form-item name="model" :label-col="{ style: 'width: 200px' }">
                 <template #label><span title="型号(model">型号(model)</span></template>

+ 12 - 0
src/views/saleCode/quotation/quotationForm.data.ts

@@ -71,6 +71,18 @@ export const columns: BasicColumn[] = [
     align:"center",
     dataIndex: 'maker'
    },
+   {
+    title: '船名(shipName)',
+    align:"center",
+    dataIndex: 'shipName',
+    width:200,
+   },
+   {
+    title: 'imo(imo)',
+    align:"center",
+    dataIndex: 'imo',
+    width:200,
+   },
    {
     title: '来源(sourceCode)',
     align:"center",

+ 20 - 20
src/views/saleCode/salesInvoice/components/SelectCommissionOrderModal.vue

@@ -44,12 +44,12 @@
                 </a-col>
                 <a-col :md="6" :sm="8">
                   <a-form-item label="业务员(salesman)">
-                    <j-input placeholder="请输入" v-model:value="queryParams.salesman" />
+                    <j-input placeholder="请输入" v-model:value="queryParams.salesmanName" />
                   </a-form-item>
                 </a-col>
                 <a-col :md="6" :sm="8">
                   <a-form-item label="销售部门(sale department)">
-                    <j-input placeholder="请输入" v-model:value="queryParams.saleDepartment" />
+                    <j-input placeholder="请输入" v-model:value="queryParams.saleDepartmenName" />
                   </a-form-item>
                 </a-col>
               </template>
@@ -145,30 +145,30 @@
     },
     {
       title: '销售部门(sale department)',
-      dataIndex: 'saleDepartment',
-      key: 'saleDepartment',
+      dataIndex: 'saleDepartmenName',
+      key: 'saleDepartmenName',
       align: 'center',
       width: 250,
       ellipsis: true,
     },
     {
       title: '业务员(salesman)',
-      dataIndex: 'salesman',
-      key: 'salesman',
-      align: 'center',
-    },
-    {
-      title: '产品编码(product code)',
-      dataIndex: 'productCode',
-      key: 'productCode',
-      align: 'center',
-    },
-    {
-      title: '产品名(name)',
-      dataIndex: 'chineseName',
-      key: 'chineseName',
+      dataIndex: 'salesmanName',
+      key: 'salesmanName',
       align: 'center',
     },
+    // {
+    //   title: '产品编码(product code)',
+    //   dataIndex: 'productCode',
+    //   key: 'productCode',
+    //   align: 'center',
+    // },
+    // {
+    //   title: '产品名(name)',
+    //   dataIndex: 'chineseName',
+    //   key: 'chineseName',
+    //   align: 'center',
+    // },
     {
       title: '佣金(commission)',
       dataIndex: 'commission',
@@ -220,7 +220,7 @@
   function loadData() {
     let params = getQueryParams();
     defHttp
-      .get({ url: '/saleCode/saleDelivery/list', params }, { isTransformResponse: false })
+      .get({ url: '/platCode/platCommissionOrder/queryPageListInvoice', params }, { isTransformResponse: false })
       .then((res) => {
         if (res.success) {
           dataSource.value = res.result.records;
@@ -295,7 +295,7 @@
     if (selectedRowKeys.value.length == 0) {
       message.error('请勾选数据');
     } else {
-      emit('addDelivery', selectedRows.value);
+      emit('addCommission', selectedRows.value);
       handleCancel();
     }
   }

+ 41 - 2
src/views/saleCode/salesInvoice/components/saleInvoiceForm.vue

@@ -281,7 +281,7 @@
     </a-tabs>
     <SelectDeliveryNoticeModal ref="SelectDeliveryNoticeModalRef" @add-delivery="addSonList" />
     <BaseShipArchiveAccessoriesModal ref="BaseShipArchiveAccessoriesListRef" />
-    <SelectCommissionOrderModal ref="SelectCommissionOrderModalRef" />
+    <SelectCommissionOrderModal ref="SelectCommissionOrderModalRef" @add-commission="addCommission" />
     <SelectProjectModal ref="SelectProjectModalRef" @select-project="addProject" />
   </a-spin>
 </template>
@@ -297,6 +297,7 @@
     saveOrUpdate,
     listHeard,
     queryDeliverDataById,
+    queryCommissionDataById,
   } from '../salesInvoiceForm.api';
   import { JVxeTable } from '/@/components/jeecg/JVxeTable';
   import { saleInvoiceShipColumns, saleInvoiceDetailColumns } from '../salesInvoiceForm.data';
@@ -391,7 +392,7 @@
 
       //表单验证
       const validatorRules = reactive({
-        projectName: [{ required: true, message: '请选择项目(select project)' }],
+        // projectName: [{ required: true, message: '请选择项目(select project)' }],
       });
       const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
       const dbData = {};
@@ -570,6 +571,43 @@
           message.warning('发票明细只可有一条数据');
         }
       }
+      async function addCommission(data) {
+        
+        var arrCommissionSon = await queryCommissionDataById(data[0].id);
+        arrCommissionSon.map((item) => {
+          item.sourceId = item.id;
+          item.quantity = 1;
+          item.taxPrice = item.commission && item.commission !== '' ? item.commission : 0;
+          item.taxMoney = item.commission && item.commission !== '' ? item.commission : 0;
+          //暂无税率字段,设置默认为0
+          item.taxRate = item.taxRate ? item.taxRate : 0;
+          item.taxAmount = ((item.taxMoney * item.taxRate) / 100).toFixed(4);
+          item.sourceType = '佣金业务';
+        });
+        
+        notAllowEdit.value = true;
+        var xTable = saleInvoiceDetailsTableRef.value!.getXTable();
+        var arrSonFormCommission = xTable.data.concat(arrCommissionSon);
+        saleInvoiceDetailsTable.dataSource = arrSonFormCommission;
+       console.log("========================");
+       console.log(data[0]);
+       console.log(data[0].customerId);
+        formData.project = '';//data[0].project;
+        formData.projectName = '';//data[0].projectName;
+        formData.customer = data[0].customerId;
+        formData.customerName = data[0].customerName;
+        formData.sourceCode2 = data[0].billCode;
+        formData.invoiceHeader = data[0].invoiceHeader;
+        formData.invoiceAddress = data[0].invoiceAddress;
+        formData.currency = data[0].currency;
+        formData.busynessType = '佣金业务';
+        getCustomerOptions({ pageSize: -1, id: data[0].customerId }).then((res) => {
+          formData.buyerTaxNumber = res.records[0].dutyParagraph;
+          formData.buyerTelphone = res.records[0].phone;
+          formData.buyerAddress = res.records[0].invoiceAddress;
+        });
+      }
+      
       async function addSonList(data) {
         var arrDeliverSon = await queryDeliverDataById(data[0].id);
         arrDeliverSon.map((item) => {
@@ -657,6 +695,7 @@
         SelectCommissionOrderModalRef,
         selectCommissionList,
         addSonList,
+        addCommission,
         listHeard,
         changeSeller,
       };

+ 5 - 0
src/views/saleCode/salesInvoice/salesInvoiceForm.api.ts

@@ -13,6 +13,7 @@ enum Api {
   exportXls = '/saleCode/saleInvoice/exportXls',
   exportXlsRow = '/saleCode/saleInvoice/exportBillXls',
   queryDataById = '/saleCode/saleInvoice/queryById',
+  queryCommissionDataById = '/platCode/platCommissionOrder/queryPlatCommissionOrderProductByMainId',
   queryDeliverDataById = '/saleCode/saleDelivery/querySaleDeliveryDetailsByMainId',
   saleInvoiceFormShipList = '/saleCode/saleInvoice/querySaleInvoiceShipByMainId',
   saleInvoiceDetailList = '/saleCode/saleInvoice/querySaleInvoiceProductByMainId',
@@ -113,6 +114,10 @@ export const saveOrUpdate = (params, isUpdate) => {
 */
 export const queryDataById = (id) => defHttp.get({url: Api.queryDataById, params:{ id }});
 export const queryDeliverDataById = (id) => defHttp.get({url: Api.queryDeliverDataById, params:{ id }});
+/**
+ * 获取佣金订单子数据
+ */
+export const queryCommissionDataById = (id) => defHttp.get({url: Api.queryCommissionDataById, params:{ id }});
 // 提交
 export const batchSubmit = (params, handleSuccess) => {
   createConfirm({

+ 8 - 1
src/views/saleCode/salesInvoice/salesInvoiceForm.data.ts

@@ -52,12 +52,19 @@ export const columns: BasicColumn[] = [
     ellipsis:true,
    },
    {
-    title: '来源(sourceCode)',
+    title: '通知单来源(sourceCode)',
     align:"center",
     dataIndex: 'sourceCode',
     width:200,
     ellipsis:true,
    },
+   {
+    title: '佣金来源(sourceCode)',
+    align:"center",
+    dataIndex: 'sourceCode2',
+    width:200,
+    ellipsis:true,
+   },
    {
     title: '销售订单(sale order)',
     align:"center",

+ 7 - 1
src/views/saleCode/salesInvoice/salesInvoiceList.vue

@@ -42,10 +42,16 @@
             </a-col>
             <a-col :lg="8">
               <a-form-item name="sourceCode" >
-                <template #label><span title="来源(sourceCode)">来源(sourceCode)</span></template>
+                <template #label><span title="来源(sourceCode)">通知单来源(sourceCode)</span></template>
                 <JInput placeholder="请输入" v-model:value="queryParam.sourceCode" allow-clear AutoComplete="off" />
               </a-form-item>
             </a-col>
+            <a-col :lg="8">
+              <a-form-item name="sourceCode2" >
+                <template #label><span title="来源(sourceCode)">佣金来源(sourceCode)</span></template>
+                <JInput placeholder="请输入" v-model:value="queryParam.sourceCode2" allow-clear AutoComplete="off" />
+              </a-form-item>
+            </a-col>
             <a-col :lg="8">
               <a-form-item name="orderNumber" >
                 <template #label><span title="客户订单号(customer order number)">客户订单号(customer order number)</span></template>

+ 2 - 2
src/views/saleCode/salesOrder/SaleOrderForm.data.ts

@@ -146,9 +146,9 @@ export const columns: BasicColumn[] = [
     width:250
    },
    {
-    title: '发货金额(delivery money)',
+    title: '折后金额(converted amount)',
     align:"center",
-    dataIndex: 'deliveryMoney',
+    dataIndex: 'convertedAmount',
     width:250
    },
    {