Browse Source

选择弹窗-所有下拉框可搜索

jingbb 3 months ago
parent
commit
1948542022

+ 3 - 3
src/views/inventiry/salesOutbound/components/SelectDeliveryModal.vue

@@ -29,7 +29,7 @@
                                     :api="ProjectOption"
                                     showSearch
                                     v-model:value="queryParams.project"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
@@ -44,7 +44,7 @@
                                     :api="CustomerOption"
                                     showSearch
                                     v-model:value="queryParams.customer"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="abbreviation"
                                     valueField="id"
@@ -64,7 +64,7 @@
                                     :api="ClassList"
                                     showSearch
                                     v-model:value="queryParams.productionClass"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"

+ 3 - 3
src/views/inventiry/salesOutbound/components/SelectStaningStockModal.vue

@@ -34,7 +34,7 @@
                                     :api="supplierOption"
                                     showSearch
                                     v-model:value="queryParams.supplier"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
@@ -48,7 +48,7 @@
                                     :api="CustomerOption"
                                     showSearch
                                     v-model:value="queryParams.customer"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="abbreviation"
                                     valueField="id"
@@ -62,7 +62,7 @@
                                     :api="ClassList"
                                     showSearch
                                     v-model:value="queryParams.productionClass"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"

+ 15 - 26
src/views/publicComponents/SelectPrpductModal.vue

@@ -32,8 +32,17 @@
                         </a-col>
                         <a-col :md="6" :sm="8">
                             <a-form-item label="分类(class)">
-                                <!-- <a-input placeholder="请输入" v-model:value="queryParams.classId"></a-input> -->
-                                <JSelectInput   v-model:value="queryParams.classId"  placeholder="请选择" :options="classOption" ></JSelectInput>
+                                <ApiSelect
+                                :api="ClassList"
+                                showSearch
+                                v-model:value="queryParams.classId"
+                                :filterOption="true"
+                                resultField="records"
+                                labelField="name"
+                                valueField="id"
+                                :params='{pageSize:-1}'
+                                optionFilterProp="label"
+                                />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6" :sm="8">
@@ -101,10 +110,10 @@
     import { defHttp } from '/@/utils/http/axios';
     import { message } from 'ant-design-vue';
     import { filterObj, getFileAccessHttpUrl } from '/@/utils/common/compUtils';
-    import { JDictSelectTag,JInput} from '/@/components/Form';
+    import { JDictSelectTag,JInput,ApiSelect} from '/@/components/Form';
     import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
+    import {ClassList} from '../purchase/arrivedGoods/ArriveGoodsForm.api';
     const emit = defineEmits([ 'selectProduct']); //定义emit
-    let classOption = ref([])
     var visible = ref(false)
     var productType=ref('')
     var modeaTitle =ref('选择产品(select product)')
@@ -137,7 +146,8 @@
             title: '英文名(English name)',
             key: 'englishName',
             dataIndex: 'englishName',
-            align:"center"
+            align:"center",
+            ellipsis: true,
         },
         {
             title: '备件号(partno)',
@@ -284,25 +294,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.id?element.id:''
-                  };
-                  classOption.value.push( obj)
-              });    
-            }
-        })
-        .finally(() => {
-            // loading.value = false;
-        });
-  }
     function searchQuery(){
         pagination.value.current = 1
         selectedRowKeys.value = []
@@ -388,14 +379,12 @@
         modeaTitle.value = '选择产品(select product)'
         productType.value=''
         loadData()
-        getOptiom()
     }
     function getTableVirtual(){
         visible.value = true
         productType.value='Virtual'
         modeaTitle.value = '选择虚拟产品(select virtual products)'
         loadData()
-        getOptiom()
     }
     defineExpose({
       getTable,

+ 2 - 2
src/views/publicComponents/SelectPurchaseOrderModal.vue

@@ -44,7 +44,7 @@
                                 :api="ClassList"
                                 showSearch
                                 v-model:value="queryParams.productionClass"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"
@@ -58,7 +58,7 @@
                                 :api="supplierOption"
                                 showSearch
                                 v-model:value="queryParams.supplier"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"

+ 1 - 1
src/views/publicComponents/SelectQuotationModal.vue

@@ -44,7 +44,7 @@
                                 :api="ClassList"
                                 showSearch
                                 v-model:value="queryParams.productionClass"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"

+ 3 - 3
src/views/publicComponents/SelectStaningStockModal.vue

@@ -29,7 +29,7 @@
                                     :api="ProjectOption"
                                     showSearch
                                     v-model:value="queryParams.project"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
@@ -44,7 +44,7 @@
                                     :api="supplierOption"
                                     showSearch
                                     v-model:value="queryParams.supplier"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
@@ -58,7 +58,7 @@
                                     :api="CustomerOption"
                                     showSearch
                                     v-model:value="queryParams.customer"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="abbreviation"
                                     valueField="id"

+ 11 - 28
src/views/publicComponents/SelectSupplierQuotation.vue

@@ -26,7 +26,7 @@
                         <a-col :md="6"  :sm="8">
                             <a-form-item label="项目(quotation project)">
                                 <ApiSelect
-                                    :api="projectListList"
+                                    :api="ProjectOption"
                                     showSearch
                                     v-model:value="queryParams.inquiryProject"
                                     optionFilterProp="label"
@@ -57,7 +57,15 @@
                         </a-col>
                         <a-col :md="6"  :sm="8">
                             <a-form-item label="产品分类(production class" >
-                                <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"
+                                />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6"  :sm="8">
@@ -128,9 +136,8 @@
     import {  ApiSelect, } from '/@/components/Form/index';
     import { JDictSelectTag,JInput} from '/@/components/Form';
     import JSelectInput from '/@/components/Form/src/jeecg/components/JSelectInput.vue';
-    import { supplierOption } from '../saleCode/quotation/quotationForm.api';
+    import {ProjectOption,ClassList,supplierOption} from '../saleCode/deliveryNotice/delivertNoticeForm.api';
     const emit = defineEmits([ 'selectSupplierQuatationConfirm']); //定义emit
-    let classOption = ref([])
     var visible = ref(false)
     var fatherProject = ref('')
     var fatherSourceCode = ref('')
@@ -303,25 +310,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.id?element.id:''
-                  };
-                  classOption.value.push( obj)
-              });    
-            }
-        })
-        .finally(() => {
-            // loading.value = false;
-        });
-  }
     function searchQuery(){
         pagination.value.current =1;
         loadData();
@@ -410,11 +398,6 @@
             }
         }       
         loadData()
-        getOptiom()
-    }
-    function projectListList(){
-        let params = {pageSize:-1}
-        return defHttp.get({url:'/baseCode/baseProjectArchive/list',params});
     }
     defineExpose({
       getTable

+ 3 - 3
src/views/publicComponents/selectArrivalList.vue

@@ -29,7 +29,7 @@
                                     :api="ProjectOption"
                                     showSearch
                                     v-model:value="queryParams.project"
-                                    :filterOption="false"
+                                    optionFilterProp="label"
                                     resultField="records"
                                     labelField="name"
                                     valueField="id"
@@ -44,7 +44,7 @@
                                 :api="ClassList"
                                 showSearch
                                 v-model:value="queryParams.productionClass"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"
@@ -58,7 +58,7 @@
                                 :api="supplierOption"
                                 showSearch
                                 v-model:value="queryParams.supplier"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"

+ 2 - 2
src/views/purchase/freightPurchaseOrder/components/SelectDeliveryNoticeModal.vue

@@ -44,7 +44,7 @@
                                 :api="CustomerOption"
                                 showSearch
                                 v-model:value="queryParams.customer"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="abbreviation"
                                 valueField="id"
@@ -63,7 +63,7 @@
                                 :api="ClassList"
                                 showSearch
                                 v-model:value="queryParams.productionClass"
-                                :filterOption="false"
+                                optionFilterProp="label"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"

+ 2 - 1
src/views/purchase/purchaseInquiryForm/components/SelectCustomerInquiryModal.vue

@@ -54,11 +54,12 @@
                                 :api="ClassList"
                                 showSearch
                                 v-model:value="queryParams.productionClass"
-                                :filterOption="false"
+                                :filterOption="true"
                                 resultField="records"
                                 labelField="name"
                                 valueField="id"
                                 :params='{pageSize:-1}'
+                                optionFilterProp="label"
                                 />
                             </a-form-item>
                         </a-col>

+ 13 - 25
src/views/saleCode/salesInvoice/components/SelectDeliveryNoticeModal.vue

@@ -45,7 +45,7 @@
                                     v-model:value="queryParams.customer"
                                     optionFilterProp="label"
                                     resultField="records"
-                                    labelField="abbreviation"
+                                    labelField="name"
                                     valueField="id"
                                     />
                             </a-form-item>
@@ -58,8 +58,15 @@
                         </a-col>
                         <a-col :md="6" :sm="8">
                             <a-form-item label="产品分类(production class)" :label-col="labelCol1" :wrapper-col="wrapperCol1">
-                                <!-- <j-input placeholder="请输入" v-model:value="queryParams.classId"></j-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"
+                                />
                             </a-form-item>
                         </a-col>
                         <a-col :md="6" :sm="8">
@@ -136,9 +143,9 @@
     import { JDictSelectTag,JInput} 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';
+    import {ProjectOption,CustomerOption,ClassList} from '../salesInvoiceForm.api';
     const emit = defineEmits([ 'addDelivery']); //定义emit
-    let classOption = ref([])
+
     var visible = ref(false)
     const columns = [
         { 
@@ -338,25 +345,7 @@
         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(){
         pagination.value.current =1;
         loadData();
@@ -423,7 +412,6 @@
     function getTable(formData){
         visible.value = true 
         loadData(formData.project)
-        getOptiom()
     }
     function changeBillDate(prop){
        if(prop){