127 lines
3.6 KiB
PHP
127 lines
3.6 KiB
PHP
<?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\bid;
|
||
|
||
|
||
use app\common\model\bid\BidDocumentExamination;
|
||
use app\common\model\material\Material;
|
||
use app\common\validate\BaseValidate;
|
||
|
||
|
||
/**
|
||
* 标书审查-报价明细验证器
|
||
* Class BidDocumentExaminationDetailValidate
|
||
* @package app\adminapi\validate\bid
|
||
*/
|
||
class BidDocumentExaminationDetailValidate extends BaseValidate
|
||
{
|
||
|
||
/**
|
||
* 设置校验规则
|
||
* @var string[]
|
||
*/
|
||
protected $rule = [
|
||
'id' => 'require',
|
||
'bid_document_examination_id' => 'require|checkBidDocumentExamination',
|
||
'product_id' => 'require|checkProduct',
|
||
'num' => 'require|integer|egt:0',
|
||
'points' => 'require|integer|egt:0',
|
||
'cost_price' => 'require|float|egt:0',
|
||
'sale_price' => 'require|float|egt:0',
|
||
];
|
||
|
||
protected $message = [
|
||
'id.require' => '缺少必要参数',
|
||
'bid_document_examination_id.require' => '请选择审查内容',
|
||
'product_id.require' => '请选择产品',
|
||
'num.require' => '请填写产品数量',
|
||
'num.integer' => '产品数量值必须是整数',
|
||
'num.egt' => '产品数量值必须大于等于0',
|
||
'points.require' => '请填写点数',
|
||
'points.integer' => '点数值必须是整数',
|
||
'points.egt' => '点数值必须大于等于0',
|
||
'cost_price.require' => '请填写成本单价',
|
||
'cost_price.float' => '成本单价值必须是数字',
|
||
'cost_price.egt' => '成本单价值必须大于等于0',
|
||
'sale_price.require' => '请填写报价单价',
|
||
'sale_price.float' => '报价单价值必须是数字',
|
||
'sale_price.egt' => '报价单价值必须大于等于0',
|
||
];
|
||
|
||
|
||
/**
|
||
* @notes 添加场景
|
||
* @return BidDocumentExaminationDetailValidate
|
||
* @author likeadmin
|
||
* @date 2023/12/02 09:59
|
||
*/
|
||
public function sceneAdd()
|
||
{
|
||
return $this->remove('id', true);
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 编辑场景
|
||
* @return BidDocumentExaminationDetailValidate
|
||
* @author likeadmin
|
||
* @date 2023/12/02 09:59
|
||
*/
|
||
public function sceneEdit()
|
||
{}
|
||
|
||
|
||
/**
|
||
* @notes 删除场景
|
||
* @return BidDocumentExaminationDetailValidate
|
||
* @author likeadmin
|
||
* @date 2023/12/02 09:59
|
||
*/
|
||
public function sceneDelete()
|
||
{
|
||
return $this->only(['id']);
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 详情场景
|
||
* @return BidDocumentExaminationDetailValidate
|
||
* @author likeadmin
|
||
* @date 2023/12/02 09:59
|
||
*/
|
||
public function sceneDetail()
|
||
{
|
||
return $this->only(['id']);
|
||
}
|
||
|
||
public function checkBidDocumentExamination($value): bool|string
|
||
{
|
||
$data = BidDocumentExamination::where('id',$value)->findOrEmpty();
|
||
if($data->isEmpty()){
|
||
return '标书审查内容不存在';
|
||
}
|
||
return true;
|
||
}
|
||
|
||
public function checkProduct($value): bool|string
|
||
{
|
||
$data = Material::where('id',$value)->findOrEmpty();
|
||
if($data->isEmpty()){
|
||
return '产品信息不存在';
|
||
}
|
||
return true;
|
||
}
|
||
|
||
} |