更新细节

This commit is contained in:
yaooo 2023-12-19 16:47:02 +08:00
parent b6bddc5f26
commit 5bad878c07

View File

@ -15,10 +15,10 @@
namespace app\adminapi\lists\expense; namespace app\adminapi\lists\expense;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\expense\ExpenseReimbursementDetail; use app\common\model\expense\ExpenseReimbursementDetail;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use think\facade\Db;
/** /**
* ExpenseReimbursementDetail列表 * ExpenseReimbursementDetail列表
@ -38,7 +38,7 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['expense_id', 'cost_subject_id'], '=' => ['expense_id', 'cost_subject_id'],
]; ];
} }
@ -54,11 +54,22 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List
*/ */
public function lists(): array public function lists(): array
{ {
return ExpenseReimbursementDetail::where($this->searchWhere) return Db::name('ExpenseReimbursementDetail')->alias('erd')
->field(['id', 'expense_id', 'cost_subject_id', 'use_to', 'amount', 'remark']) ->where($this->searchWhere)
->whereNull('erd.delete_time')
->leftJoin('expense_reimbursement er','er.id = erd.expense_id')
->leftJoin('orgs o','o.id = er.org_id')
->leftJoin('dept d','d.id = er.dept_id')
->leftJoin('custom ct','ct.id = er.customer_id')
->field('erd.*, er.reimburser, er.reimbursement_date, er.pay_type, d.name as dept_name, o.name as org_name, ct.name as customer_name')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['er.id' => 'desc'])
->select() ->select()->each(function($item, $key){
//关联数据后续添加
$item['year'] = date('Y', strtotime($item['reimbursement_date']));
$item['month'] = date('m', strtotime($item['reimbursement_date']));
return $item;
})
->toArray(); ->toArray();
} }
@ -71,7 +82,13 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List
*/ */
public function count(): int public function count(): int
{ {
return ExpenseReimbursementDetail::where($this->searchWhere)->count(); return Db::name('ExpenseReimbursementDetail')->alias('erd')
->where($this->searchWhere)
->whereNull('erd.delete_time')
->leftJoin('expense_reimbursement er','er.id = erd.expense_id')
->leftJoin('orgs o','o.id = er.org_id')
->leftJoin('dept d','d.id = er.dept_id')
->leftJoin('custom ct','ct.id = er.customer_id')->count();
} }
} }