From 22396bb4ce4a096e5968d4d9d67ad5dd887ede75 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 18 Mar 2026 14:24:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BE=9B=E5=BA=94=E5=95=86=E6=A3=80?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/application/api/controller/Supplier.php | 48 +++++ front/src/api/supplier.js | 9 + front/src/views/assets-mgr/applylist.vue | 4 +- .../src/views/contract-mgr/contractsearch.vue | 4 +- .../src/views/supplier-mgr/suppliersearch.vue | 204 ++++++++++++++++-- 5 files changed, 244 insertions(+), 25 deletions(-) diff --git a/back/application/api/controller/Supplier.php b/back/application/api/controller/Supplier.php index b031d63..d207d92 100644 --- a/back/application/api/controller/Supplier.php +++ b/back/application/api/controller/Supplier.php @@ -155,4 +155,52 @@ class Supplier extends Common } } + // 供应商检索 + public function searchSuppliers() + { + $param = request()->param(); + + $currPage = isset($param['currPage']) ? $param['currPage'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 20; + + // 构建查询条件 + $where = []; + $where['company_type'] = 4; // 4代表供应商 + + // 公司名模糊搜索 + if (isset($param['company_name']) && !empty($param['company_name'])) { + $where['company_name'] = ['like', '%' . $param['company_name'] . '%']; + } + + // 查询供应商列表 + $supplierList = db('partner_company') + ->where($where) + ->order('company_id', 'desc') + ->page($currPage, $pageSize) + ->select(); + + // 遍历供应商列表,补充服务类型信息 + foreach ($supplierList as &$supplier) { + // 获取服务类型名称 + if ($supplier['service_type']) { + $serviceType = db('partner_service_type') + ->where('type_id', $supplier['service_type']) + ->field('type_name') + ->find(); + $supplier['service_type_name'] = $serviceType ? $serviceType['type_name'] : ''; + } else { + $supplier['service_type_name'] = ''; + } + } + unset($supplier); + + // 查询总记录数 + $total = db('partner_company')->where($where)->count(); + + $res['list'] = $supplierList; + $res['total'] = $total; + + return $this->sendSuccess($res); + } + } \ No newline at end of file diff --git a/front/src/api/supplier.js b/front/src/api/supplier.js index c24db13..20ba988 100644 --- a/front/src/api/supplier.js +++ b/front/src/api/supplier.js @@ -47,4 +47,13 @@ export default { data: param }) }, + + // 供应商检索 + searchSuppliers(param) { + return request({ + url: `/Supplier/searchSuppliers`, + method: 'post', + data: param + }) + }, } diff --git a/front/src/views/assets-mgr/applylist.vue b/front/src/views/assets-mgr/applylist.vue index 32868ef..1a985ef 100644 --- a/front/src/views/assets-mgr/applylist.vue +++ b/front/src/views/assets-mgr/applylist.vue @@ -13,8 +13,8 @@ - - + - + @@ -247,7 +247,7 @@ export default { try { const params = { contract_category: this.queryParam.contract_category, - page: this.currentPage, + currPage: this.currentPage, pageSize: this.pageSize } diff --git a/front/src/views/supplier-mgr/suppliersearch.vue b/front/src/views/supplier-mgr/suppliersearch.vue index 143c143..1ef9c6a 100644 --- a/front/src/views/supplier-mgr/suppliersearch.vue +++ b/front/src/views/supplier-mgr/suppliersearch.vue @@ -1,37 +1,199 @@