作者 何书鹏
1 个管道 的构建 通过 耗费 8 秒

二开

... ... @@ -60,7 +60,7 @@ class Factory extends Backend
->paginate($limit);
foreach ($list as $row) {
$row->visible(['id','factory_name','factory_shortname','factory_price','weigh']);
$row->visible(['id','factory_name','factory_shortname','factory_price','borrow_money','weigh']);
}
... ...
... ... @@ -96,6 +96,10 @@ class Realname extends Backend
$row->status = $params['status'];
Db::startTrans();
try {
// 把用户的昵称和电话更改为,实名认证的姓名和电话
if($params['status'] == '1'){
\app\admin\model\User::where('id',$row['user_id'])->update(['nickname'=>$row['realname'],'mobile'=>$row['mobile']]);
}
$result = $row->save();
Db::commit();
} catch (ValidateException $e) {
... ...
... ... @@ -29,7 +29,7 @@ class User extends Backend
$this->model = model('User');
$tree = Tree::instance();
$tree->init(collection($this->model->order('id desc')->select())->toArray(), 'pid');
$tree->init(collection($this->model->with(['factory'])->order('id desc')->select())->toArray(), 'pid');
$this->userlist = $tree->getTreeList($tree->getTreeArray(0), 'nickname');
$userdata = [0 => __('None')];
foreach ($this->userlist as $k => &$v) {
... ... @@ -76,7 +76,10 @@ class User extends Backend
if(isset($filter['is_complete']) && $filter['is_complete'] != ''){
$is_complete = $v['is_complete'] == $filter['is_complete'];
}
if ($nickname && $mobile && $is_work && $is_complete) {
if(isset($filter['factory.factory_shortname']) && $filter['factory.factory_shortname'] != ''){
$factory_shortname = stripos($v['factory']['factory_shortname'], $filter['factory.factory_shortname']) !== false ? true : false;
}
if ($nickname && $mobile && $is_work && $is_complete && $factory_shortname) {
$list[] = $v;
}
}
... ...
... ... @@ -5,6 +5,7 @@ return [
'Factory_name' => '工厂名称',
'Factory_shortname' => '工厂简称',
'Factory_price' => '工厂工价(元/时)',
'Borrow_money' => '可借支金额',
'Createtime' => '创建时间',
'Updatetime' => '更新时间',
'Weigh' => '权重'
... ...
... ... @@ -111,4 +111,10 @@ class User extends Model
return $this->belongsTo('UserGroup', 'group_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
// 工厂
public function factory()
{
return $this->belongsTo('Factory', 'factory_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
}
... ...
... ... @@ -19,6 +19,12 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Borrow_money')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-borrow_money" data-rule="required" class="form-control" step="0.01" name="row[borrow_money]" type="number" value="0.00">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0">
... ...
... ... @@ -19,6 +19,12 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Borrow_money')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-borrow_money" data-rule="required" class="form-control" step="0.01" name="row[borrow_money]" type="number" value="{$row.borrow_money|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}">
... ...
... ... @@ -38,22 +38,31 @@ class FactoryAdmin extends Api
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1606137472",
"time": "1612272667",
"data": {
"user": { //用户信息
"id": 72, //ID
"nickname": "何先生", //姓名
"avatar": "http://recruit.t.brotop.cn//uploads/20210131/9f0c3cad5f738a37406887aad524babd.jpg", //头像
},
"factory_list": [{ //可管理工程
"id": 1, //工厂ID
"factory_name": "新美亚电子(深圳)有限公司", //工厂名称
"factory_shortname": "新美亚电子" //工厂简称
}]
}
})
*/
public function index()
{
$user = $this->auth->getUser();
$user = \app\api\model\User::get($this->auth->id);
$user->visible(['id','avatar','nickname']);
$list = $this->model->alias('a')
$factory_list = $this->model->alias('a')
->join('factory b','b.id = a.factory_id')
->where('a.user_id',$user['id'])
->field('b.id,b.factory_name,b.factory_shortname')
->select();
$this->success('成功', compact('user','list'));
$this->success('成功', compact('user','factory_list'));
}
/**
... ... @@ -70,9 +79,26 @@ class FactoryAdmin extends Api
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1606137472",
"time": "1612274425",
"data": {
"user_list": { //用户列表
"total": 1, //数据总数
"per_page": 15,
"current_page": 1, //当前页
"last_page": 1,
"data": [{ //数据列表
"id": 72, //ID
"nickname": "何先生", //姓名
"mobile": "151*****361", //电话
"avatar": "http://recruit.t.brotop.cn//uploads/20210131/9f0c3cad5f738a37406887aad524babd.jpg", //头像
"is_work": "1", //是否在职:0=否,1=是
"join_time": "2021-02-02", //入职时间
"work_hours_month": "0.0", //本月总工时
"user_borrow_id": 1, //借支ID
"user_borrow_status": "0" //借支状态:-1=未申请,0=申请中,1=已通过
}]
},
"quit_count": 0
}
})
*/
... ... @@ -93,8 +119,8 @@ class FactoryAdmin extends Api
$where['a.nickname'] = ['like','%'.$keyword.'%'];
}
$borrow = UserBorrow::where('factory_id',$factory_id)
->order('createtime desc')
->whereTime('createtime','month')
->order('createtime desc')
->limit(1)
->buildSql();
$user_list = User::alias('a')
... ... @@ -108,13 +134,14 @@ class FactoryAdmin extends Api
if(Validate::regex($v['mobile'], "^1\d{10}$")){
$v['mobile'] = substr_replace($v['mobile'],'*****',3,5);
}
$v->user_borrow_status = $v['user_borrow_status'] == null ? -1 : $v['user_borrow_status'];
$v->visible(['id','avatar','nickname','mobile','is_work','join_time','work_hours_month'])->append(['user_borrow_id','user_borrow_status']);
});
// 本月离职人数
$quit = FactoryUser::where('factory_id',$factory_id)
->where('status','3')
->whereTime('quit_time','month')
->order('quit_time desc')
->whereTime('b.quit_time','month')
->limit(1)
->buildSql();
$quit_count = User::alias('a')
... ... @@ -165,9 +192,21 @@ class FactoryAdmin extends Api
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1606137472",
"time": "1612273417",
"data": {
"total": 1, //数据总数
"per_page": 15,
"current_page": 1, //当前页
"last_page": 1,
"data": [{ //数据
"id": 72, //用户ID
"nickname": "何先生", //名称
"mobile": "151*****361", //电话
"avatar": "http://recruit.t.brotop.cn//uploads/20210131/9f0c3cad5f738a37406887aad524babd.jpg", //头像
"is_work": "0", //是否入职:0=否,1=是
"join_time": "2021-02-02", //入职时间
"quit_time": "2021-02-02" //离职时间
}]
}
})
*/
... ... @@ -182,7 +221,6 @@ class FactoryAdmin extends Api
empty($factory) && $this->error('工厂不存在');
$where = [
'a.factory_id' => ['neq',$factory_id],
'a.is_work' => '1',
];
if(!empty($keyword)){
$where['a.nickname'] = ['like','%'.$keyword.'%'];
... ... @@ -190,13 +228,13 @@ class FactoryAdmin extends Api
// 本月离职人数
$quit = FactoryUser::where('factory_id',$factory_id)
->where('status','3')
->order('quit_time desc')
->whereTime('quit_time','month')
->order('quit_time desc')
->limit(1)
->buildSql();
$data = User::alias('a')
->join([$quit => 'b'],'b.user_id = a.id')
->field('a.*,b.join_time,b.quit_time')
->field('a.id,a.avatar,a.nickname,a.mobile,a.is_work,b.join_time,b.quit_time')
->where($where)
->paginate($page_num,false,['page'=>$page])
->each(function($v){
... ... @@ -204,6 +242,7 @@ class FactoryAdmin extends Api
if(Validate::regex($v['mobile'], "^1\d{10}$")){
$v['mobile'] = substr_replace($v['mobile'],'*****',3,5);
}
$v->quit_time = date('Y-m-d',$v['quit_time']);
$v->visible(['id','avatar','nickname','mobile','is_work','join_time','quit_time']);
});
$this->success('成功', $data);
... ...
... ... @@ -14,9 +14,13 @@ use think\Db;
use addons\third\model\Third;
use app\api\model\Realname;
use app\api\model\UserKeyword;
use app\api\model\WorkLog;
use app\api\model\UserWorkLog;
use app\api\model\UserWorkSubsidyLog;
use app\api\model\UserRecruitSubsidyLog;
use app\api\model\UserSalary;
use app\api\model\Factory;
use app\api\model\FactoryUser;
use app\api\model\UserBorrow;
use app\common\controller\Wechat;
/**
... ... @@ -77,8 +81,8 @@ class User extends Api
/**
* @ApiWeigh (97)
* @ApiTitle (劳务管理-个人信息-工资)
* @ApiSummary (劳务管理-个人信息-工资)
* @ApiTitle (劳务管理-工资)
* @ApiSummary (劳务管理-工资)
* @ApiMethod (POST)
*
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
... ... @@ -130,6 +134,45 @@ class User extends Api
}
/**
* @ApiWeigh (97)
* @ApiTitle (劳务管理-工资-历史收入)
* @ApiSummary (劳务管理-工资-历史收入)
* @ApiMethod (POST)
*
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="page", type="inter", required=false, description="当前页(默认1)")
* @ApiParams (name="page_num", type="inter", required=false, description="每页显示数据个数(默认10)")
*
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1612234313",
"data": {
"work_hours_month": "0.0", //本月打卡总工时
"work_salary_month": "0.00", //本月打卡工资
"work_subsidy": "2.00", //工时补贴(元/小时)
"work_subsidy_month": 0, //本月工时补贴
"lower_work_hours_month": 0, //下级打卡总工时
"lower_recruit_subsidy_month": 0, //下级招聘补贴工资
"salary": 0 //本月共收入
}
})
*/
public function salaryList()
{
$page = $this->request->param('page', 1, 'intval');
$page_num = $this->request->param('page_num', 10, 'intval');
$data = UserSalary::where('user_id',$this->auth->id)
->order('createtime desc')
->paginate($page_num,false,['page'=>$page])
->each(function($v){
// 格式化年月
$v->year_month = date('Y年m月',strtotime($v['year_month']));
});
$this->success('成功', $data);
}
/**
* 会员登录
*
* @param string $account 账号
... ... @@ -509,7 +552,7 @@ class User extends Api
->where('factory_id',$factory_id)
->where('status','1')
->find();
if($factory_user){
if(!$factory_user){
$factory_user = new FactoryUser;
}
Db::startTrans();
... ... @@ -522,7 +565,7 @@ class User extends Api
'quit_time' => time(),
]);
// 修改用户为未入职
$user->save(['is_work'=>'0','factory_id'=>0]);
$user->save(['is_work'=>'0','factory_id'=>0,'join_time'=>0]);
Db::commit();
} catch (PDOException $e) {
Db::rollback();
... ... @@ -531,7 +574,7 @@ class User extends Api
Db::rollback();
$this->error($e->getMessage());
}
$this->success('入职成功,驻厂将为您服务');
$this->success('离职后之前数据将会暂停');
}
/**
... ... @@ -567,14 +610,15 @@ class User extends Api
}
$realname->allowField(true)->save(array_merge([
'user_id' => $this->auth->id,
'status' => '0'
],$post));
$this->success('提交申请成功');
}
/**
* @ApiWeigh (87)
* @ApiTitle (实名认证信息)
* @ApiSummary (实名认证信息)
* @ApiTitle (实名认证状态)
* @ApiSummary (实名认证状态)
* @ApiMethod (POST)
* @ApiHeaders (name="token", type="string", required=true, description="请求的Token")
* @ApiReturn ({
... ... @@ -585,11 +629,12 @@ class User extends Api
}
})
*/
public function realnameinfo()
public function realnameStatus()
{
// 实名认证状态
$info = Realname::get(['user_id'=>$this->auth->id]);
$info->status = empty($info) ? '-1' : $info['status'];
$info->visible(['status']);
$this->success('成功',$info);
}
... ... @@ -871,9 +916,8 @@ class User extends Api
})
*/
public function logWork(){
$user = $this->auth->getUser();
$user = $this->model->get($this->auth->id);
$post = $this->request->param();
$user['is_work'] != '1' && $this->error('未入职,无法记录工时');
empty($post['work_date']) && $this->error('请选择工作日期');
empty($post['work_type']) && $this->error('请选择班次');
$work_salary = 0;
... ... @@ -882,11 +926,21 @@ class User extends Api
empty($post['work_price']) && $this->error('请填写工价');
$work_salary = round($post['work_hours'] * $post['work_price'],2);
}
$post['work_date'] = strtotime($post['work_date']); //日期转时间戳
$log = WorkLog::where('user_id',$this->auth->id)->where('work_date',$post['work_date'])->find();
$post['work_date'] = strtotime($post['work_date']) + 1; //日期转时间戳,加1为了用whereTime
$log = UserWorkLog::where('user_id',$user['id'])->where('work_date',$post['work_date'])->find();
if(!$log){
$log = new WorkLog;
$log = new UserWorkLog;
}
// 记录连续打卡天数
$yesterday = UserWorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->whereTime('work_date','yesterday')
->find();
$today = UserWorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->whereTime('work_date','today')
->find();
$log_days = $user['log_days'] == 0 ? 1 : ($yesterday && !$today ? ($user['log_days'] + 1) : $user['log_days']);
Db::startTrans();
try {
/*记录打卡*/
... ... @@ -898,29 +952,37 @@ class User extends Api
$update_data = [];
// 更新本月工时、本月打卡工资和本月打卡次数
if(date('Y-m',$post['work_date']) == date('Y-m')){
$update_data['work_hours_month'] = WorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
// 本月工时
$update_data['work_hours_month'] = UserWorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->whereTime('work_date','month')
->sum('work_hours'); //本月工时
$update_data['work_salary_month'] = WorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->sum('work_hours');
// 本月打卡工资
$update_data['work_salary_month'] = UserWorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->whereTime('work_date','month')
->sum('work_salary'); //本月打卡工资
$update_data['log_days_month'] = WorkLog::where('user_id',$user['id'])
->sum('work_salary');
// 这个月的工时补贴和招聘补贴
if($user['is_work'] == '1' && !empty($user['factory'])){
// 本月工时补贴增加
$update_data['work_subsidy_month'] = $user['work_subsidy_month'] + round($user['work_subsidy'] * $post['work_hours'],2);
// 给上级返招聘补贴
$parent = $this->model->get($user['pid']);
if($parent){
$parent->setInc('recruit_subsidy_month',round($user['recruit_subsidy']*$post['work_hours'],2));
}
}
// 本月打卡次数
$update_data['log_days_month'] = UserWorkLog::where('user_id',$user['id'])
->whereTime('work_date','month')
->count(); //本月打卡次数
}
// 记录连续打卡天数
$yesterday = WorkLog::where('user_id',$this->auth->id)
->where('type','in','1,2')
->whereTime('work_date','-1 days')
->find();
if($yesterday){
$update_data['log_days'] = !$yesterday ? 0 : Db::raw('log_days + 1');
->count();
}
$update_data['log_days'] = $log_days;
if($update_data){
$user->save($update_data);
}
// 计算该月工资
$this->salaryCalculate($log,$user);
Db::commit();
} catch (PDOException $e) {
Db::rollback();
... ... @@ -933,6 +995,61 @@ class User extends Api
}
/**
* @ApiInternal
* @ApiTitle (计算该月工资)
* @ApiSummary (计算该月工资)
*/
private function salaryCalculate($log,$user){
/*记录该月工时补贴和招聘补贴*/
if($user['is_work'] == '1' && !empty($user['factory'])){
// 工时补贴
UserWorkSubsidyLog::create([
'user_id' => $user['id'],
'work_subsidy' => round($user['work_subsidy'] * $log['work_hours'],2),
'work_date' => $log['work_date'],
'user_work_log_id' => $log['id'],
]);
// 招聘补贴
$parent = $this->model->get($user['pid']);
if($parent){
UserRecruitSubsidyLog::create([
'user_id' => $user['pid'],
'recruit_subsidy' => round($user['recruit_subsidy'] * $log['work_hours'],2),
'work_date' => $log['work_date'],
'chirldren_id' => $user['id'],
'user_work_log_id' => $log['id'],
]);
}
}
/*记录该月总工资*/
$year_month = date('Y-m',$log['work_date']);
$user_salary = UserSalary::where('user_id',$user['id'])
->where('year_month',$year_month)
->find();
if(!$user_salary){
$user_salary = new UserSalary;
}
$month_start = strtotime($year_month);
$month_end = strtotime('+1 month',$month_start);
$work_salary_total = UserWorkLog::where('user_id',$user['id'])
->where('work_type','in','1,2')
->where("work_date >= {$month_start} and work_date < {$month_end}")
->sum('work_salary'); //月打卡总工资
$work_subsidy_total = UserWorkSubsidyLog::where('user_id',$user['id'])
->where("work_date >= {$month_start} and work_date < {$month_end}")
->sum('work_subsidy'); //月工时总补贴
$recruit_subsidy_total = UserRecruitSubsidyLog::where('user_id',$user['id'])
->where("work_date >= {$month_start} and work_date < {$month_end}")
->sum('recruit_subsidy'); //月招聘总补贴
$user_salary->save([
'user_id' => $user['id'],
'salary' => round($work_salary_total + $work_subsidy_total + $recruit_subsidy_total,2),
'year_month' => $year_month,
]);
return true;
}
/**
* @ApiWeigh (73)
* @ApiTitle (工时详情)
* @ApiSummary (工时详情)
... ... @@ -948,9 +1065,9 @@ class User extends Api
*/
public function workLogInfo(){
$work_date = $this->request->param('work_date');
$work_date = strtotime($work_date);
$info = WorkLog::where('user_id',$this->auth->id)->where('work_date',$work_date)->find();
$this->success('打卡成功',$info);
$work_date = strtotime($work_date) + 1;
$info = UserWorkLog::where('user_id',$this->auth->id)->where('work_date',$work_date)->find();
$this->success('成功',$info);
}
/**
... ... @@ -962,9 +1079,23 @@ class User extends Api
* @ApiParams (name="month", type="string", required=true, description="年月")
* @ApiReturn ({
"code": 1,
"msg": "成功",
"time": "1606124276",
"data": "<p>招聘补贴富文本详情介绍</p>" //招聘补贴介绍
"msg": "打卡成功",
"time": "1612279947",
"data": {
"work_hours_month": 9, //工时时长
"work_salary_month": 180, //收入
"list": [{ //本月数据
"id": 14,
"user_id": 72,
"work_date": 1612108801, //打卡日期
"work_hours": "4.5", //工时
"work_price": "20.00", //工价
"work_salary": "90.00", //收入
"work_type": "1", //班次:1=白班,2=夜班,3=休班
"createtime": 1612278909,
"updatetime": 1612278909
}]
}
})
*/
public function workLogList(){
... ... @@ -972,8 +1103,8 @@ class User extends Api
empty($month) && $this->error('缺少必需参数');
$starttime = strtotime($month);
$endtime = strtotime('+1 month',$starttime) - 1;
$list = WorkLog::where('user_id',$this->auth->id)
->where('work_date','in',[$starttime,$endtime])
$list = UserWorkLog::where('user_id',$this->auth->id)
->where('work_date','between',[$starttime,$endtime])
->select();
$work_hours_month = array_sum(array_column($list,'work_hours'));
$work_salary_month = array_sum(array_column($list,'work_salary'));
... ... @@ -986,7 +1117,6 @@ class User extends Api
* @ApiSummary (借支-打卡天数)
* @ApiMethod (POST)
* @ApiHeaders (name="token", type="string", required=true, description="请求的Token")
* @ApiParams (name="month", type="string", required=true, description="年月")
* @ApiReturn ({
"code": 1,
"msg": "成功",
... ... @@ -1014,7 +1144,6 @@ class User extends Api
* @ApiSummary (借支)
* @ApiMethod (POST)
* @ApiHeaders (name="token", type="string", required=true, description="请求的token")
* @ApiParams (name="month", type="string", required=true, description="年月")
* @ApiReturn ({
"code": 1,
"msg": "成功",
... ... @@ -1029,14 +1158,30 @@ class User extends Api
}
$factory = Factory::get($user['factory_id']);
empty($factory) && $this->error('您入职的工厂已被删除,请选择其他工厂入职');
$user_borrow = UserBorrow::where('user_id',$this->auth->id)
->where('factory_id',$user['factory_id'])
->where('status','0')
->order('createtime desc')
->find();
!empty($user_borrow) && $this->error('借支正在审核中,无法再次申请');
$limit_days = 7;
$user['log_days'] < $limit_days && $this->error('您已打卡'.$user['log_days'].'天,不满'.$limit_days.'天,条件不足无法申请借支');
Db::startTrans();
try {
$user->save(['log_days'=>0]);
UserBorrow::create([
'user_id' => $user['id'],
'factory_id' => $user['factory_id'],
'borrow_money' => $factory['borrow_money']
]);
Db::commit();
} catch (PDOException $e) {
Db::rollback();
$this->error($e->getMessage());
} catch (Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
$this->success('本次借支已完成,请重新打卡满'.$limit_days.'天可申请借支');
}
... ... @@ -1132,7 +1277,7 @@ class User extends Api
"avatar": "http://www.recruit.top/uploads/20201123/8894d62100f2f920ffb2f38063b63f2d.jpg", //头像
"is_work": "0", //是否在职
"is_complete": "0", //补贴是否完成:0=否,1=是
"recruit_subsidy_month": 2, //工资
"give_recruit_subsidy": 2, //工资
"work_hours_month": "0.0", //本月总工时
"factory": { //工厂
"id": 1, //工厂ID
... ... @@ -1186,9 +1331,9 @@ class User extends Api
if(Validate::regex($v['mobile'], "^1\d{10}$")){
$v['mobile'] = substr_replace($v['mobile'],'*****',3,5);
}
$v->recruit_subsidy_month = round($v['recruit_subsidy'],$v['work_hours_month'],2);
$v->visible(['id','avatar','nickname','is_work','mobile','is_complete','work_hours_month','recruit_subsidy_month','factory']);
})->toArray();
$v->give_recruit_subsidy = round($v['recruit_subsidy']*$v['work_hours_month'],2);
$v->visible(['id','avatar','nickname','is_work','mobile','is_complete','work_hours_month','factory'])->append(['give_recruit_subsidy']);
});
$this->success('成功',$data);
}
... ... @@ -1277,7 +1422,7 @@ class User extends Api
"avatar": "", //头像
"is_work": "1", //是否在职:0=否,1=是
"is_complete": "0", //补贴是否完成:0=否,1=是
"recruit_subsidy_month": 2, //工资
"give_recruit_subsidy": 2, //工资
"work_hours_month": "0.0", //本月总工时
"factory": { //工厂
"id": 1, //工厂ID
... ... @@ -1319,9 +1464,9 @@ class User extends Api
if(Validate::regex($v['mobile'], "^1\d{10}$")){
$v['mobile'] = substr_replace($v['mobile'],'*****',3,5);
}
$v->recruit_subsidy_month = round($v['recruit_subsidy'],$v['work_hours_month'],2);
$v->visible(['id','avatar','nickname','is_work','mobile','is_complete','work_hours_month','recruit_subsidy_month','factory']);
})->toArray();
$v->give_recruit_subsidy = round($v['recruit_subsidy']*$v['work_hours_month'],2);
$v->visible(['id','avatar','nickname','is_work','mobile','is_complete','work_hours_month','factory'])->append(['give_recruit_subsidy']);
});
if(Validate::regex($user['mobile'], "^1\d{10}$")){
$user['mobile'] = substr_replace($user['mobile'],'*****',3,5);
}
... ...
... ... @@ -4,11 +4,13 @@ namespace app\api\model;
use think\Model;
class WorkLog extends Model
class FactoryAdmin extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
}
... ...
<?php
namespace app\api\model;
use think\Model;
class UserRecruitSubsidyLog extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = false;
}
... ...
<?php
namespace app\api\model;
use think\Model;
class UserSalary extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
}
... ...
<?php
namespace app\api\model;
use think\Model;
class UserWorkLog extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
}
... ...
<?php
namespace app\api\model;
use think\Model;
class UserWorkSubsidyLog extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = false;
}
... ...
此 diff 太大无法显示。
... ... @@ -29,6 +29,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'factory_name', title: __('Factory_name'), operate: 'LIKE'},
{field: 'factory_shortname', title: __('Factory_shortname'), operate: 'LIKE'},
{field: 'factory_price', title: __('Factory_price'), operate:'BETWEEN'},
{field: 'borrow_money', title: __('Borrow_money'), operate:'BETWEEN'},
{field: 'weigh', title: __('Weigh'), operate: false},
//操作栏,默认有编辑、删除或排序按钮,可自定义配置buttons来扩展按钮
{
... ...
... ... @@ -45,7 +45,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
// {field: 'email', title: __('Email'), operate: 'LIKE'},
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},
{field: 'is_work', title: __('Is_work'), formatter:Table.api.formatter.toggle, searchList: {0: __('否'), 1: __('是')}},
{field: 'is_work', title: __('Is_work'), formatter: Table.api.formatter.status, searchList: {0: __('否'), 1: __('是')}},
{field: 'factory.factory_shortname', title: __('入职工厂'), operate: 'LIKE'},
{field: 'join_time', title: __('入职日期'), formatter: Table.api.formatter.datetime, operate: false},
{field: 'log_days_month', title: __('本月打卡天数'), operate: false},
{field: 'work_hours_month', title: __('本月打卡工时'), operate: false},
{field: 'is_complete', title: __('Is_complete'), formatter: Table.api.formatter.status, searchList: {0: __('否'), 1: __('是')}},
{field: 'work_subsidy', title: __('Work_subsidy'), operate: false},
{field: 'work_subsidy_month', title: __('Work_subsidy_month'), operate: false},
... ...