update
This commit is contained in:
parent
9c1789c8b7
commit
cfcce13191
@ -8,6 +8,7 @@ use app\common\model\cost_project\CostProject;
|
||||
use app\common\model\cost_project\CostProjectPerson;
|
||||
use app\common\model\DataReception;
|
||||
use app\common\model\dept\Dept;
|
||||
use app\common\model\ProjectCommission;
|
||||
use app\common\model\task\TaskAllocation;
|
||||
use app\common\model\TaskHandlingThreeLevelReview;
|
||||
use app\common\model\zjzx_finance\ZjzxInvoice;
|
||||
@ -89,7 +90,7 @@ class CostConsultationReportController extends BaseAdminController
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['id'])->sum('amount');
|
||||
//提成金额
|
||||
$data['total_commission_amount'] = 0;
|
||||
$data['total_commission_amount'] = ProjectCommission::where('project_id',$data['id'])->sum('bczfze');
|
||||
})->toArray();
|
||||
$count = CostProject::where($where)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
@ -98,35 +99,42 @@ class CostConsultationReportController extends BaseAdminController
|
||||
// 项目全过程跟踪表
|
||||
public function project_trace()
|
||||
{
|
||||
$page_no = $this->request->param('page_no', 1);
|
||||
$page_size = $this->request->param('page_size', 15);
|
||||
$params = $this->request->param();
|
||||
$project_name = $params['project_name'] ?? '';
|
||||
$contract_name = $params['contract_name'] ?? '';
|
||||
|
||||
$query = Db::name('cost_project')->alias('p')->leftJoin('cost_approved_project c', 'p.contract_id=c.id')->where(function ($query) use ($project_name, $contract_name) {
|
||||
if ($contract_name) {
|
||||
$query->where('c.contract_name', 'like', '%' . $contract_name . '%');
|
||||
}
|
||||
if ($project_name) {
|
||||
$query->where('p.project_name', 'like', '%' . $project_name . '%');
|
||||
}
|
||||
})->append(['task_allocation_status', 'task_handling_three_level_review_status', 'data_reception_status'])
|
||||
->withAttr('task_allocation_status', function ($data, $value) {
|
||||
$count = TaskAllocation::where('cost_project_id', $value['id'])->count();
|
||||
return $count > 0 ? 1 : 0;
|
||||
})->withAttr('task_handling_three_level_review_status', function ($data, $value) {
|
||||
$count = TaskHandlingThreeLevelReview::where('project_id', $value['id'])->count();
|
||||
return $count > 0 ? 1 : 0;
|
||||
})->withAttr('data_reception_status', function ($data, $value) {
|
||||
$count = DataReception::where('project_id', $value['id'])->count();
|
||||
return $count > 0 ? 1 : 0;
|
||||
});
|
||||
$count = $query->count();
|
||||
$lists = $query->append(['dept'])->withAttr('dept', function ($value, $data) {
|
||||
return Dept::where('id', $data['depar'])->findOrEmpty()->toArray();
|
||||
})->page($page_no, $page_size)->select();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
$params = $this->request->get();
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$where = [];
|
||||
if(!empty($params['contract_name'])){
|
||||
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id');
|
||||
$where[] = ['contract_id','in',$contract_ids1];
|
||||
}
|
||||
if(!empty($params['project_name'])){
|
||||
$where[] = ['project_name','like','%'.$params['project_name'].'%'];
|
||||
}
|
||||
$lists = CostProject::field('id,contract_id,project_num,project_name,depar')
|
||||
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
|
||||
$contract = CostApprovedProject::field('contract_name,project_director')->where('id',$data['contract_id'])->findOrEmpty();
|
||||
$dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty();
|
||||
$data['contract_name'] = $contract['contract_name'];
|
||||
$data['project_director'] = $contract['project_director'];
|
||||
$data['dept_name'] = $dept['name'];
|
||||
//任务分配状态
|
||||
$task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count();
|
||||
$data['task_allocation_status'] = $task_allocation_status > 0 ? 1 : 0;
|
||||
//任务办理状态
|
||||
$task_handling_three_level_review_status = TaskHandlingThreeLevelReview::where('project_id', $data['id'])->count();
|
||||
$data['task_handling_three_level_review_status'] = $task_handling_three_level_review_status > 0 ? 1 : 0;
|
||||
//资料归档状态
|
||||
$data_reception_status = DataReception::where('project_id', $data['id'])->count();
|
||||
$data['data_reception_status'] = $data_reception_status > 0 ? 1 : 0;
|
||||
//开票金额
|
||||
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id',$data['id'])->sum('apply_amount');
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['id'])->sum('amount');
|
||||
//提成金额
|
||||
$data['total_commission_amount'] = ProjectCommission::where('project_id',$data['id'])->sum('bczfze');
|
||||
})->toArray();
|
||||
$count = CostProject::where($where)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -134,34 +142,31 @@ class CostConsultationReportController extends BaseAdminController
|
||||
*/
|
||||
public function project_invoice_receipt()
|
||||
{
|
||||
$page_no = $this->request->param('page_no', 1);
|
||||
$page_size = $this->request->param('page_size', 15);
|
||||
$project_name = $params['project_name'] ?? '';
|
||||
$depar_id = $params['depar_id'] ?? 0;
|
||||
$query = (new CostProject)->with(['cost_project_contract']);
|
||||
$field = 'id,project_num,project_name,depar,principal,contract_id';
|
||||
if ($project_name) {
|
||||
$query->where('project_name', 'like', '%' . $project_name . '%');
|
||||
}
|
||||
if ($depar_id) {
|
||||
$query->where('depar', $depar_id);
|
||||
}
|
||||
|
||||
$count = $query->count();
|
||||
$lists = $query->field($field)->page($page_no, $page_size)->select()->each(function ($item) {
|
||||
$item['start_date'] = date('Y-m-d', $item['start_date']);
|
||||
$item['end_date'] = date('Y-m-d', $item['end_date']);
|
||||
if ($item['depar'] > 0) {
|
||||
$item['depar'] = Dept::where('id', $item['depar'])->value('name');
|
||||
}
|
||||
if ($item['principal'] > 0) {
|
||||
$item['principal'] = Dept::where('id', $item['principal'])->value('name');
|
||||
}
|
||||
$item['has_invoice_amount'] = 0;
|
||||
$item['amount_Collected'] = 0;
|
||||
return $item;
|
||||
});
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
$params = $this->request->get();
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$where = [];
|
||||
if(!empty($params['contract_name'])){
|
||||
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id');
|
||||
$where[] = ['contract_id','in',$contract_ids1];
|
||||
}
|
||||
if(!empty($params['project_name'])){
|
||||
$where[] = ['project_name','like','%'.$params['project_name'].'%'];
|
||||
}
|
||||
$lists = CostProject::field('id,contract_id,project_num,project_name,depar')
|
||||
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
|
||||
$contract = CostApprovedProject::field('contract_name,project_director')->where('id',$data['contract_id'])->findOrEmpty();
|
||||
$dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty();
|
||||
$data['contract_name'] = $contract['contract_name'];
|
||||
$data['project_director'] = $contract['project_director'];
|
||||
$data['dept_name'] = $dept['name'];
|
||||
//开票金额
|
||||
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id',$data['id'])->sum('apply_amount');
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['id'])->sum('amount');
|
||||
})->toArray();
|
||||
$count = CostProject::where($where)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -207,4 +212,18 @@ class CostConsultationReportController extends BaseAdminController
|
||||
});
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
//项目提成统计
|
||||
public function project_commission_statistics(){
|
||||
$params = $this->request->get();
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$where = [];
|
||||
if(!empty($params['project_name'])){
|
||||
$where[] = ['project_name','like','%'.$params['project_name'].'%'];
|
||||
}
|
||||
// if(!empty($params['date'])){
|
||||
//
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
@ -17,9 +17,12 @@ namespace app\adminapi\lists;
|
||||
|
||||
use app\adminapi\lists\BaseAdminDataLists;
|
||||
use app\common\lists\ListsExcelInterface;
|
||||
use app\common\model\cost_project\CostApprovedProject;
|
||||
use app\common\model\cost_project\CostProject;
|
||||
use app\common\model\ProjectCommission;
|
||||
use app\common\lists\ListsSearchInterface;
|
||||
use app\common\model\ProjectCommissionDetail;
|
||||
use app\common\model\zjzx_finance\ZjzxRefund;
|
||||
|
||||
|
||||
/**
|
||||
@ -57,16 +60,25 @@ class ProjectCommissionLists extends BaseAdminDataLists implements ListsSearchIn
|
||||
*/
|
||||
public function lists(): array
|
||||
{
|
||||
return ProjectCommission::with(['projectInfo', 'contract'])
|
||||
->append(['children'])
|
||||
->where($this->searchWhere)
|
||||
return ProjectCommission::withoutField('create_time,update_time,delete_time')->where($this->searchWhere)
|
||||
->limit($this->limitOffset, $this->limitLength)
|
||||
->order(['id' => 'desc'])
|
||||
->withAttr('children', function ($value, $data){
|
||||
$details = ProjectCommissionDetail::where('project_commission_id', $data['id'])->select();
|
||||
return $details;
|
||||
})
|
||||
->select()
|
||||
->select()->each(function($data){
|
||||
$project = CostProject::field('project_name,project_num,contract_id')->where('id',$data['project_id'])->findOrEmpty();
|
||||
$contract = CostApprovedProject::field('contract_name,project_director,industry_nature')->where('id',$project['contract_id'])->findOrEmpty();
|
||||
$data['project_name'] = $project['project_name'];
|
||||
$data['project_num'] = $project['project_num'];
|
||||
$data['contract_name'] = $contract['contract_name'];
|
||||
$data['project_director'] = $contract['project_director'];
|
||||
$data['industry_nature'] = $contract->industry_nature_text;
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['project_id'])->sum('amount');
|
||||
//已支付总额
|
||||
$data['total_pay_amount'] = ProjectCommission::where('project_id',$data['project_id'])->sum('bczfze');
|
||||
//应提成总金额
|
||||
$data['total_commission_amount'] = $data['total_refund_amount'] * ($data['rate'] / 100);
|
||||
$data['children'] = ProjectCommissionDetail::field('id,engineer,task_name,task_type,professional_type,zj_amount,sk_amount,tc_rate,tc_amount,pay_amount,other_fee')->where('project_commission_id', $data['id'])->select()->toArray();
|
||||
})
|
||||
->toArray();
|
||||
}
|
||||
|
||||
|
@ -15,9 +15,12 @@
|
||||
namespace app\adminapi\logic;
|
||||
|
||||
|
||||
use app\common\model\cost_project\CostApprovedProject;
|
||||
use app\common\model\cost_project\CostProject;
|
||||
use app\common\model\ProjectCommission;
|
||||
use app\common\logic\BaseLogic;
|
||||
use app\common\model\ProjectCommissionDetail;
|
||||
use app\common\model\zjzx_finance\ZjzxRefund;
|
||||
use think\facade\Db;
|
||||
|
||||
|
||||
@ -45,18 +48,12 @@ class ProjectCommissionLogic extends BaseLogic
|
||||
'dataid' => generate_sn(ProjectCommission::class,'dataid'),
|
||||
'num' => generate_sn(ProjectCommission::class,'num'),
|
||||
'project_id' => $params['project_id'],
|
||||
'affcontract' => $params['affcontract'],
|
||||
'industry' => $params['industry'],
|
||||
'hk' => $params['hk'],
|
||||
'rate' => $params['rate'],
|
||||
'ticheng' => $params['ticheng'],
|
||||
'paid_amount' => $params['paid_amount'],
|
||||
'bczfze' => $params['bczfze'],
|
||||
'djr' => $params['djr'],
|
||||
'apptime' => $params['apptime'],
|
||||
'remark' => $params['remark'],
|
||||
'apptime' => !empty($params['apptime']) ? strtotime($params['apptime']) : 0,
|
||||
'remark' => $params['remark'] ?? '',
|
||||
]);
|
||||
|
||||
foreach ($params['project_commission_detail'] as $item) {
|
||||
$item['project_commission_id'] = $projectCommission->id;
|
||||
ProjectCommissionDetailLogic::add($item);
|
||||
@ -83,17 +80,13 @@ class ProjectCommissionLogic extends BaseLogic
|
||||
Db::startTrans();
|
||||
try {
|
||||
ProjectCommission::where('id', $params['id'])->update([
|
||||
'project_id' => $params['project_id'],
|
||||
'affcontract' => $params['affcontract'],
|
||||
'industry' => $params['industry'],
|
||||
'hk' => $params['hk'],
|
||||
'rate' => $params['rate'],
|
||||
'ticheng' => $params['ticheng'],
|
||||
'paid_amount' => $params['paid_amount'],
|
||||
'bczfze' => $params['bczfze'],
|
||||
'djr' => $params['djr'],
|
||||
'apptime' => $params['apptime'],
|
||||
'remark' => $params['remark'],
|
||||
'project_id' => $params['project_id'],
|
||||
'rate' => $params['rate'],
|
||||
'bczfze' => $params['bczfze'],
|
||||
'djr' => $params['djr'],
|
||||
'apptime' => !empty($params['apptime']) ? strtotime($params['apptime']) : 0,
|
||||
'remark' => $params['remark'] ?? '',
|
||||
'update_time' => time(),
|
||||
]);
|
||||
|
||||
Db::commit();
|
||||
@ -133,8 +126,21 @@ class ProjectCommissionLogic extends BaseLogic
|
||||
*/
|
||||
public static function detail($params): array
|
||||
{
|
||||
$data = ProjectCommission::with(['projectInfo', 'contract'])->findOrEmpty($params['id'])->toArray();
|
||||
$data['project_commission_detail'] = ProjectCommissionDetail::where('project_commission_id', $params['id'])->select()->toArray();
|
||||
$data = ProjectCommission::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id'])->toArray();
|
||||
$project = CostProject::field('project_name,project_num,contract_id')->where('id',$data['project_id'])->findOrEmpty();
|
||||
$contract = CostApprovedProject::field('contract_name,project_director,industry_nature')->where('id',$project['contract_id'])->findOrEmpty();
|
||||
$data['project_name'] = $project['project_name'];
|
||||
$data['project_num'] = $project['project_num'];
|
||||
$data['contract_name'] = $contract['contract_name'];
|
||||
$data['project_director'] = $contract['project_director'];
|
||||
$data['industry_nature'] = $contract->industry_nature_text;
|
||||
//到账金额
|
||||
$data['total_refund_amount'] = ZjzxRefund::where('project_id',$data['project_id'])->sum('amount');
|
||||
//已支付总额
|
||||
$data['total_pay_amount'] = ProjectCommission::where('project_id',$data['project_id'])->sum('bczfze');
|
||||
//应提成总金额
|
||||
$data['total_commission_amount'] = $data['total_refund_amount'] * ($data['rate'] / 100);
|
||||
$data['project_commission_detail'] = ProjectCommissionDetail::field('id,engineer,task_name,task_type,professional_type,zj_amount,sk_amount,tc_rate,tc_amount,pay_amount,other_fee,remark')->where('project_commission_id', $data['id'])->select()->toArray();
|
||||
return $data;
|
||||
}
|
||||
}
|
@ -1,94 +1,118 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\adminapi\validate;
|
||||
|
||||
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
|
||||
/**
|
||||
* ProjectCommission验证器
|
||||
* Class ProjectCommissionValidate
|
||||
* @package app\adminapi\validate
|
||||
*/
|
||||
class ProjectCommissionValidate extends BaseValidate
|
||||
{
|
||||
|
||||
/**
|
||||
* 设置校验规则
|
||||
* @var string[]
|
||||
*/
|
||||
protected $rule = [
|
||||
'id' => 'require',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* 参数描述
|
||||
* @var string[]
|
||||
*/
|
||||
protected $field = [
|
||||
'id' => 'id',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* @notes 添加场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneAdd()
|
||||
{
|
||||
return $this->remove('id', true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 编辑场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneEdit()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 删除场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneDelete()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 详情场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneDetail()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\adminapi\validate;
|
||||
|
||||
|
||||
use app\common\model\cost_project\CostProject;
|
||||
use app\common\model\ProjectCommission;
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
|
||||
/**
|
||||
* ProjectCommission验证器
|
||||
* Class ProjectCommissionValidate
|
||||
* @package app\adminapi\validate
|
||||
*/
|
||||
class ProjectCommissionValidate extends BaseValidate
|
||||
{
|
||||
|
||||
/**
|
||||
* 设置校验规则
|
||||
* @var string[]
|
||||
*/
|
||||
protected $rule = [
|
||||
'id' => 'require|checkData',
|
||||
'project_id' => 'require|checkProject',
|
||||
'rate' => 'require|float|gt:0',
|
||||
'bczfze' => 'require|float|egt:0',
|
||||
'djr' => 'require',
|
||||
'apptime' => 'require|dateFormat:YH-m-d',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* 参数描述
|
||||
* @var string[]
|
||||
*/
|
||||
protected $field = [
|
||||
'id' => 'id',
|
||||
'project_id' => '项目id',
|
||||
'rate' => '提成比例',
|
||||
'bczfze' => '本次支付总额',
|
||||
'djr' => '登记人',
|
||||
'apptime' => '登记日期',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* @notes 添加场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneAdd()
|
||||
{
|
||||
return $this->remove('id', true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 编辑场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneEdit()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 删除场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneDelete()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 详情场景
|
||||
* @return ProjectCommissionValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/02/23 09:37
|
||||
*/
|
||||
public function sceneDetail()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
public function checkData($value): bool|string
|
||||
{
|
||||
$data = ProjectCommission::where('id',$value)->findOrEmpty();
|
||||
return $data->isEmpty() ? '数据不存在' : true;
|
||||
}
|
||||
|
||||
public function checkProject($value): bool|string
|
||||
{
|
||||
$data = CostProject::where('id',$value)->findOrEmpty();
|
||||
return $data->isEmpty() ? '项目信息不存在' : true;
|
||||
}
|
||||
|
||||
}
|
@ -40,4 +40,9 @@ class ProjectCommission extends BaseModel
|
||||
{
|
||||
return $this->hasOne(CostApprovedProject::class, 'id','affcontract');
|
||||
}
|
||||
|
||||
public function getAppTimeAttr($value): string
|
||||
{
|
||||
return !empty($value) ? date('Y-m-d',$value) : '';
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user