<?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; } }