<?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\common\model\contract;


use app\common\model\BaseModel;
use app\common\model\dict\DictData;
use think\model\concern\SoftDelete;


/**
 * 项目合同模型
 * Class Contract
 * @package app\common\model\contract
 */
class Contract extends BaseModel
{
    use SoftDelete;
    protected $name = 'contract';
    protected $deleteTime = 'delete_time';

    public function custom()
    {
        return $this->belongsTo(\app\common\model\custom\Custom::class, 'customer_id');
    }

    public function document()
    {
        return $this->belongsTo(\app\common\model\bid\BidBuyBiddingDocument::class, 'buy_bidding_document_id');
    }

    public function org()
    {
        return $this->hasOne(\app\common\model\dept\Orgs::class, 'id', 'org_id');
    }

    public function dept()
    {
        return $this->hasOne(\app\common\model\dept\Dept::class, 'id', 'dept_id');
    }
	
	public function getContractTypeTextAttr($value,$data): string
	{
		$dictData = DictData::where('type_value','contract_type')->column('name','value');
		return $dictData[$data['contract_type']];
	}
	
	public function getContractStatusTextAttr($value,$data): string
	{
		$dictData = DictData::where('type_value','contract_status')->column('name','value');
		return $dictData[$data['contract_status']];
	}
	
	public function getAnnexAttr($value){
		return !empty($value) ? json_decode($value,true) : null;
	}
    
}