Преглед изворни кода

发货通知单-筛选条件修改

jingbb пре 4 месеци
родитељ
комит
1050b6df84

+ 26 - 30
src/views/publicComponents/SelectSaleOrderModal.vue

@@ -26,13 +26,14 @@
                         <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}'
                                     :disabled="fatherProject!==''"
                                     />
                             </a-form-item>
@@ -40,7 +41,16 @@
                         <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"
+                                    optionFilterProp="label"
+                                    resultField="records"
+                                    labelField="name"
+                                    valueField="id"
+                                    :params='{pageSize:-1}'
+                                    />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6" :sm="8">
@@ -50,12 +60,21 @@
                         </a-col>
                         <a-col :md="6" :sm="8">
                             <a-form-item label="供应商(supplier)">
-                                <a-input placeholder="请输入" v-model:value="queryParams.supplierName" :disabled="fatherSupplierName!==''"></a-input>
+                                <ApiSelect
+                                    :api="supplierOption"
+                                    showSearch
+                                    v-model:value="queryParams.supplierId"
+                                    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="机型(model)">
-                                <a-input placeholder="请输入" v-model:value="queryParams.headModel"></a-input>
+                                <JDictSelectTag v-model:value="queryParams.headModel" placeholder="请选择" dictCode="model_typer" style="width: 100%;"/>
                             </a-form-item>
                         </a-col>
                         
@@ -135,11 +154,9 @@
     import { defHttp} from '/@/utils/http/axios';
     import { message } from 'ant-design-vue';
     import { filterObj, getFileAccessHttpUrl } from '/@/utils/common/compUtils';
-    import { JDictSelectTag} from '/@/components/Form';
-    import {  ApiSelect, } from '/@/components/Form/index';
-    import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
+    import { JDictSelectTag,ApiSelect} from '/@/components/Form';
+    import {ProjectOption,ClassList,supplierOption} from '../saleCode/deliveryNotice/delivertNoticeForm.api';
     const emit = defineEmits([ 'selectSaleOrder']); //定义emit
-    let classOption = ref([])
     var visible = ref(false)
     var fatherProject = ref('')
     var fatherSourceCode = ref('')
@@ -349,26 +366,7 @@
         pagination.value.current = paginations.current;
         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.id?element.id:''
-                  };
-                  classOption.value.push( obj)
-              });    
-            }
-        })
-        .finally(() => {
-            // loading.value = false;
-        });
-  }
+    }
     function searchQuery(){
         loadData();
     }
@@ -479,7 +477,6 @@
         }
         fatherType.value='other'
         loadData()
-        getOptiom()
     }
     function getTableFromSalePayRequestForm(){
         visible.value = true
@@ -487,7 +484,6 @@
         fatherSourceCode.value = ''
         fatherType.value='payRequest'
         loadData()
-        getOptiom()
     }
 
     function changeBillDate(prop){

+ 15 - 2
src/views/saleCode/deliveryNotice/delivertNoticeForm.api.ts

@@ -16,8 +16,11 @@ enum Api {
   deliveryNoticeFormProductList = '/saleCode/saleDelivery/querySaleDeliveryDetailsByMainId',
   submitBatch='/saleCode/saleDelivery/submitBatch',
   cancelSubmitBatch='/saleCode/saleDelivery/returnSubmitBatch',
-  supplierList='/cuspCode/cuspSupplierProfile/list?pageSize=-1',
+  supplierList='/cuspCode/cuspSupplierProfile/list',
   closeBatch='/saleCode/saleDelivery/closeBatch',
+  classList='baseCode/baseProductClass/list',
+  customerList='/cuspCode/cuspCustomerProfile/list',
+  projectList='/baseCode/baseProjectArchive/list'
 }
 /**
  * 导出api
@@ -138,4 +141,14 @@ export const bacthClose = (params, handleSuccess) => {
 }
 
 //获取供应商列表
-export const supplierOption = (params) => defHttp.get({url: Api.supplierList, params});
+export const supplierOption = (params) => defHttp.get({url: Api.supplierList, 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});

+ 34 - 33
src/views/saleCode/deliveryNotice/deliveryNoticeList.vue

@@ -20,13 +20,31 @@
               <a-col :lg="8">
                 <a-form-item name="project">
                   <template #label><span title="项目(project)">项目(project)</span></template>
-                  <a-input placeholder="请输入项目(project)" v-model:value="queryParam.projectName" allow-clear AutoComplete="off"></a-input>
+                  <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="customer">
                   <template #label><span title="客户(customer)">客户(customer)</span></template>
-                  <a-input placeholder="请输入客户(customer)" v-model:value="queryParam.customerName" 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">
@@ -38,7 +56,16 @@
               <a-col :lg="8">
                 <a-form-item name="productionClass" >
                   <template #label><span title="产品分类(production class)">产品分类(production class)</span></template>
-                  <JSelectInput   v-model:value="queryParam.productionClass"  placeholder="请选择" :options="classOption" ></JSelectInput>
+                      <ApiSelect
+                      :api="ClassList"
+                      showSearch
+                      v-model:value="queryParam.productionClass"
+                      :filterOption="false"
+                      resultField="records"
+                      labelField="name"
+                      valueField="id"
+                      :params='{pageSize:-1}'
+                    />
                 </a-form-item>
               </a-col>
               <a-col :lg="8">
@@ -50,7 +77,7 @@
               <a-col :lg="8">
                 <a-form-item name="maker">
                   <template #label><span title="厂家(maker)">厂家(maker)</span></template>
-                  <a-input placeholder="请输入厂家(maker)" v-model:value="queryParam.maker" allow-clear AutoComplete="off"></a-input>
+                  <JDictSelectTag v-model:value="queryParam.maker" placeholder="请选择" dictCode="factory"/>
                 </a-form-item>
               </a-col>
               <a-col :lg="8">
@@ -140,11 +167,9 @@
     import { useListPage } from '/@/hooks/system/useListPage'
     import {useModal} from '/@/components/Modal';
     import {columns} from './delivertNoticeForm.data';
-    import {list, deleteOne, batchDelete, getImportUrl,getExportUrl,batchSubmit,cancelBatchSubmit,bacthClose} from './delivertNoticeForm.api';
-    import { defHttp } from '/@/utils/http/axios';
-    import { JDictSelectTag} from '/@/components/Form';
+    import {list, deleteOne, batchDelete, getImportUrl,getExportUrl,batchSubmit,cancelBatchSubmit,bacthClose,ProjectOption,CustomerOption,ClassList} from './delivertNoticeForm.api';
+    import { JDictSelectTag,ApiSelect} from '/@/components/Form';
     import ViewFileListModal from './components/ViewFileListModal.vue';
-    import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
     import deliveryNoticeFormModal from './components/deliveryNoticeFormModal.vue';
     import { message } from 'ant-design-vue';
     import { cloneDeep } from "lodash-es";
@@ -154,7 +179,6 @@
     const checkedKeys = ref<Array<string | number>>([]);
     //注册model
     const [registerModal, {openModal}] = useModal();
-    var classOption = ref([]);
      //注册table数据
     const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
         tableProps:{
@@ -188,10 +212,6 @@
   
     const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
 
-     // 自动请求并暴露内部方法
-     onMounted(() => {
-      getOptiom()
-    });
   
      /**
       * 新增事件
@@ -215,26 +235,7 @@
        });
      }
      
-    //  产品分类
-    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.id?element.id:''
-                        };
-                        classOption.value.push( obj)
-                    });    
-                  }
-              })
-              .finally(() => {
-                  // loading.value = false;
-              });
-    }
+
      /**
       * 详情
      */