|
|
@@ -27,22 +27,32 @@ class Procuremenarchive extends Backend
|
|
|
$this->relationSearch = false;
|
|
|
$this->request->filter(['strip_tags', 'trim']);
|
|
|
if ($this->request->isAjax()) {
|
|
|
- list($where, $sort, $order, $offset, $limit) = $this->buildparams();
|
|
|
+ list(, $sort, $order, $offset, $limit) = $this->buildparams();
|
|
|
$ccydhKw = trim((string)$this->request->get('ccydh', ''));
|
|
|
-
|
|
|
- $query = Db::table('purchase_order');
|
|
|
- $this->applyPurchaseOrderCompletedWhere($query);
|
|
|
- if ($ccydhKw !== '') {
|
|
|
- $query->where('CCYDH', 'like', '%' . $ccydhKw . '%');
|
|
|
- }
|
|
|
- if (is_callable($where)) {
|
|
|
- $query->where($where);
|
|
|
+ if ($ccydhKw === '') {
|
|
|
+ $ccydhKw = trim((string)$this->request->get('search', ''));
|
|
|
}
|
|
|
|
|
|
- $total = (clone $query)->count();
|
|
|
+ $applyFilters = function ($query) use ($ccydhKw) {
|
|
|
+ $this->applyPurchaseOrderCompletedWhere($query);
|
|
|
+ if ($ccydhKw !== '') {
|
|
|
+ $query->where(function ($q) use ($ccydhKw) {
|
|
|
+ $q->where('CCYDH', 'like', '%' . $ccydhKw . '%')
|
|
|
+ ->whereOr('CYJMC', 'like', '%' . $ccydhKw . '%')
|
|
|
+ ->whereOr('CGYMC', 'like', '%' . $ccydhKw . '%');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ $countQuery = Db::table('purchase_order');
|
|
|
+ $applyFilters($countQuery);
|
|
|
+ $total = (int)$countQuery->count();
|
|
|
+
|
|
|
$sortField = preg_match('/^[a-zA-Z0-9_]+$/', (string)$sort) ? $sort : 'id';
|
|
|
$orderDir = strtoupper((string)$order) === 'ASC' ? 'ASC' : 'DESC';
|
|
|
- $rows = $query
|
|
|
+ $listQuery = Db::table('purchase_order');
|
|
|
+ $applyFilters($listQuery);
|
|
|
+ $rows = $listQuery
|
|
|
->field('id,scydgy_id,CCYDH,CYJMC,CGYMC,createtime,dStamp')
|
|
|
->order($sortField, $orderDir)
|
|
|
->limit($offset, $limit)
|