Browse Source

销售发票-筛选条件修改

jingbb 3 months ago
parent
commit
86bc90ee60

+ 12 - 26
src/views/publicComponents/SelectQuotationModal.vue

@@ -40,8 +40,16 @@
                         </a-col>
                         <a-col :md="6" :sm="8">
                             <a-form-item label="产品分类(production class)" :label-col="labelCol1" :wrapper-col="wrapperCol1">
-                                <!-- <a-input placeholder="请输入" v-model:value="queryParams.classId"></a-input> -->
-                                <JSelectInput   v-model:value="queryParams.productionClass"  placeholder="请选择" :options="classOption" ></JSelectInput>
+                                <ApiSelect
+                                :api="ClassList"
+                                showSearch
+                                v-model:value="queryParams.productionClass"
+                                :filterOption="false"
+                                resultField="records"
+                                labelField="name"
+                                valueField="id"
+                                :params='{pageSize:-1}'
+                                />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6" :sm="8">
@@ -54,12 +62,11 @@
                                 <ApiSelect
                                     :api="CustomerOption"
                                     showSearch
-                                    v-model:value="queryParams.quotationCustomerName"
+                                    v-model:value="queryParams.quotationCustomer"
                                     optionFilterProp="label"
                                     resultField="records"
                                     labelField="abbreviation"
                                     valueField="id"
-                                    :disabled="fatherProject!==''"
                                     />
                             </a-form-item>
                         </a-col>
@@ -137,9 +144,8 @@
     import { JDictSelectTag} from '/@/components/Form';
      import {  ApiSelect, } from '/@/components/Form/index';
     import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
-    import {ProjectOption,CustomerOption} from '../saleCode/saleContract/SaleContract.api';
+    import {ProjectOption,CustomerOption,ClassList} from '../saleCode/saleContract/SaleContract.api';
     const emit = defineEmits([ 'selectQuotation']); //定义emit
-    let classOption = ref([])
     var visible = ref(false)
     var fatherProject = ref('')
     var fatherSourceCode = ref('')
@@ -348,25 +354,6 @@
         pagination.value.pageSize = paginations.pageSize;
         loadData()
     };
-    function getOptiom(){
-    defHttp
-        .get({ url: 'baseCode/baseProductClass/list'}, { isTransformResponse: false })
-        .then((res) => {
-            if (res.success) {
-              classOption.value = []
-              res.result.records.forEach(element => {
-                  var obj = {
-                    label: element.name?element.name:'无名称请维护',
-                    value: element.name?element.name:''
-                  };
-                  classOption.value.push( obj)
-              });    
-            }
-        })
-        .finally(() => {
-            // loading.value = false;
-        });
-  }
     function searchQuery(){
         loadData();
     }
@@ -447,7 +434,6 @@
             fatherSourceCode.value = ''
         }
         loadData()
-        getOptiom()
     }
     function changeBillDate(prop){
        if(prop){

+ 7 - 1
src/views/saleCode/saleContract/SaleContract.api.ts

@@ -21,7 +21,8 @@ enum Api {
   closeBill='/saleCode/saleContract/closeBatch',
   queryVersonHistoryById='/saleCode/saleContractHis/queryById',
   customerList='/cuspCode/cuspCustomerProfile/list',
-  projectList='/baseCode/baseProjectArchive/list'
+  projectList='/baseCode/baseProjectArchive/list',
+  classList='baseCode/baseProductClass/list',
 }
 /**
  * 导出api
@@ -152,3 +153,8 @@ export const CustomerOption = (params) => defHttp.get({ url: Api.customerList, p
 
 //获取项目下拉框列表
 export const ProjectOption = (params) => defHttp.get({ url: Api.projectList, params });
+/**
+ * 分类列表接口
+ * @param params
+ */
+export const ClassList = (params) => defHttp.get({url: Api.classList, params});

+ 12 - 5
src/views/saleCode/salesInvoice/components/SelectDeliveryNoticeModal.vue

@@ -26,18 +26,28 @@
                         <a-col :md="6" :sm="8">
                             <a-form-item label="项目(project)">
                                 <ApiSelect
-                                    :api="projectListList"
+                                    :api="ProjectOption"
                                     showSearch
                                     v-model:value="queryParams.project"
                                     optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
+                                    :params='{pageSize:-1}'
                                     />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6" :sm="8">
                             <a-form-item label="客户(customer)">
+                                <ApiSelect
+                                    :api="CustomerOption"
+                                    showSearch
+                                    v-model:value="queryParams.customer"
+                                    optionFilterProp="label"
+                                    resultField="records"
+                                    labelField="abbreviation"
+                                    valueField="id"
+                                    />
                             <a-input placeholder="请输入客户(customer)" v-model:value="queryParams.customerName" allow-clear ></a-input>
                             </a-form-item>
                         </a-col>
@@ -127,6 +137,7 @@
     import { JDictSelectTag} from '/@/components/Form';
     import {  ApiSelect, } from '/@/components/Form/index';
     import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
+    import {ProjectOption,CustomerOption} from '../salesInvoiceForm.api';
     const emit = defineEmits([ 'addDelivery']); //定义emit
     let classOption = ref([])
     var visible = ref(false)
@@ -419,10 +430,6 @@
        }
        
     }
-    function projectListList(){
-        let params = {pageSize:-1}
-        return defHttp.get({url:'/baseCode/baseProjectArchive/list',params});
-    }
     defineExpose({
       getTable
     });

+ 16 - 2
src/views/saleCode/salesInvoice/salesInvoiceForm.api.ts

@@ -20,7 +20,10 @@ enum Api {
   close='/saleCode/saleInvoice//closeBatch',
   editSign='/saleCode/saleInvoice/updateSigning',
   getDetail='/saleCode/saleInvoice/queryBySourceId',
-  supplierList='/cuspCode/cuspSupplierProfile/list?pageSize=-1'
+  supplierList='/cuspCode/cuspSupplierProfile/list?pageSize=-1',
+  classList='baseCode/baseProductClass/list',
+  customerList='/cuspCode/cuspCustomerProfile/list',
+  projectList='/baseCode/baseProjectArchive/list'
 }
 /**
  * 导出api
@@ -161,4 +164,15 @@ export const editSignSing = (params, handleSuccess) => {
  * @param params
  */
 export const getListDetail = (params) =>
-  defHttp.get({url: Api.getDetail, params});
+  defHttp.get({url: Api.getDetail, params});
+
+//获取客户下拉框列表
+export const CustomerOption = (params) => defHttp.get({ url: Api.customerList, params });
+
+//获取项目下拉框列表
+export const ProjectOption = (params) => defHttp.get({ url: Api.projectList, params });
+/**
+ * 分类列表接口
+ * @param params
+ */
+export const ClassList = (params) => defHttp.get({url: Api.classList, params});

+ 23 - 5
src/views/saleCode/salesInvoice/salesInvoiceList.vue

@@ -20,13 +20,31 @@
               <a-col :lg="8">
                 <a-form-item name="project">
                   <template #label><span title="项目(project)">项目(project)</span></template>
-                  <a-input v-model:value="queryParam.projectName" placeholder="请输入" AutoComplete="off"/>
+                  <ApiSelect
+                    :api="ProjectOption"
+                    showSearch
+                    v-model:value="queryParam.project"
+                    :filterOption="false"
+                    resultField="records"
+                    labelField="name"
+                    valueField="id"
+                    :params='{pageSize:-1}'
+                  />
                 </a-form-item>
               </a-col>
               <a-col :lg="8">
-                <a-form-item name="buyer">
+                <a-form-item name="customer">
                   <template #label><span title="购方(buyer)">购方(buyer)</span></template>
-                  <a-input placeholder="请输入" v-model:value="queryParam.buyer" allow-clear AutoComplete="off"></a-input>
+                  <ApiSelect
+                    :api="CustomerOption"
+                    showSearch
+                    v-model:value="queryParam.customer"
+                    :filterOption="false"
+                    resultField="records"
+                    labelField="abbreviation"
+                    valueField="id"
+                    :params='{pageSize:-1}'
+                  />
                 </a-form-item>
               </a-col>
               <a-col :lg="8">
@@ -117,10 +135,10 @@
     import { useListPage } from '/@/hooks/system/useListPage'
     import {useModal} from '/@/components/Modal';
     import {columns,} from './salesInvoiceForm.data';
-    import {list, deleteOne, batchDelete, getImportUrl,getExportUrl,batchSubmit,cancelBatchSubmit,batchClose,editSignSing,getListDetail} from './salesInvoiceForm.api';
+    import {list, deleteOne, batchDelete, getImportUrl,getExportUrl,batchSubmit,cancelBatchSubmit,batchClose,editSignSing,getListDetail,ProjectOption,CustomerOption} from './salesInvoiceForm.api';
     import { cloneDeep } from "lodash-es";
     import { defHttp } from '/@/utils/http/axios';
-    import { JDictSelectTag} from '/@/components/Form';
+    import { JDictSelectTag,ApiSelect} from '/@/components/Form';
     import saleInvoiceFormModal from './components/saleInvoiceFormModal.vue';
     import SaleOrderFormList from '../salesOrder/components/SaleOrderFormModal.vue'
     import PurchaseOrderFormList from '../../purchase/purchaseOrder/components/PurchaseOrderFormModal.vue'