Browse Source

修改 bug

master
王泽彦 8 months ago
parent
commit
87fdad841d
  1. 10
      admin/src/app/views/personnel/personnel.vue
  2. 2
      niucloud/app/adminapi/controller/personnel/Personnel.php
  3. 23
      niucloud/app/api/controller/apiController/Personnel.php
  4. 28
      niucloud/app/api/middleware/ApiLog.php
  5. 13
      niucloud/app/model/personnel/Personnel.php
  6. 59
      niucloud/app/service/api/apiService/PersonnelService.php
  7. 28
      niucloud/app/service/school_approval/SchoolApprovalProcessService.php
  8. 6
      uniapp/pages-coach/coach/my/update_pass.vue
  9. 6
      uniapp/pages-market/my/update_pass.vue
  10. 6
      uniapp/pages/coach/my/update_pass.vue
  11. 6
      uniapp/pages/market/my/update_pass.vue

10
admin/src/app/views/personnel/personnel.vue

@ -96,9 +96,15 @@
</el-form-item>
<el-form-item :label="t('createTime')" prop="create_time">
<el-input
<el-date-picker
v-model="personnelTable.searchParam.create_time"
type="datetimerange"
:placeholder="t('createTimePlaceholder')"
start-placeholder="开始时间"
end-placeholder="结束时间"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
class="w-[280px]"
/>
</el-form-item>
@ -335,7 +341,7 @@ let personnelTable = reactive({
education: '',
employee_number: '',
status: '',
create_time: '',
create_time: [],
},
})

2
niucloud/app/adminapi/controller/personnel/Personnel.php

@ -35,7 +35,7 @@ class Personnel extends BaseAdminController
["education",""],
["employee_number",""],
["status",""],
["create_time",""]
["create_time",[]]
]);
return success((new PersonnelService())->getPage($data));
}

23
niucloud/app/api/controller/apiController/Personnel.php

@ -187,20 +187,17 @@ class Personnel extends BaseApiService
}
try {
// 获取申请人ID
$res = (new PersonnelService())->addPersonnel($params);
if (!$res['code']) {
return fail($res['msg']);
}
// 检查是否使用审批流程
if (isset($params['use_approval']) && $params['use_approval'] && isset($params['approval_config_id']) && $params['approval_config_id'] > 0) {
// 使用审批流程
$approvalService = new \app\service\school_approval\SchoolApprovalProcessService();
// 获取申请人ID - 如果未登录则使用管理员ID
// 如果没有登录用户,查找系统管理员或HR作为申请人
$adminPersonnel = \think\facade\Db::table('school_personnel')
->where('account_type', 'admin')
->whereOr('account_type', 'teacher')
->where('status', 1)
->order('id', 'asc')
->find();
$applicantId = $adminPersonnel ? $adminPersonnel['id'] : 1;
$applicantId = $res['data']['personnel_id'];
$processId = $approvalService->createPersonnelApproval(
$params,
@ -212,18 +209,14 @@ class Personnel extends BaseApiService
'process_id' => $processId,
'message' => '审批申请已提交,等待审批'
]);
} else {
// 直接添加人员
$res = (new PersonnelService())->addPersonnel($params);
if (!$res['code']) {
return fail($res['msg']);
}
// 直接添加人员
return success([
'type' => 'direct',
'data' => $res['data'],
'message' => '员工信息添加成功'
]);
}
} catch (\Exception $e) {
return fail('添加员工信息失败:' . $e->getMessage());
}

28
niucloud/app/api/middleware/ApiLog.php

@ -13,6 +13,7 @@ namespace app\api\middleware;
use app\Request;
use app\service\admin\user\UserLogService;
use Closure;
/**
@ -25,20 +26,19 @@ class ApiLog
public function handle(Request $request, Closure $next)
{
//写入日志
// if($request->method() != 'GET')
// {
// $data = [
// 'uid' => $request->adminid(),
// 'username' => $request->username(),
// 'url' => $request->url(),
// 'params' => $request->param(),
// 'ip' => $request->ip(),
// 'type' => $request->method()
//
// ];
// (new UserLogService())->add($data);
// }
//
if ($request->method() != 'GET') {
$data = [
'uid' => $request->memberId(),
'username' => $request->username(),
'url' => $request->url(),
'params' => $request->param(),
'ip' => $request->ip(),
'type' => $request->method()
];
(new UserLogService())->add($data);
}
return $next($request);
}
}

13
niucloud/app/model/personnel/Personnel.php

@ -87,7 +87,7 @@ class Personnel extends BaseModel
public function searchPhoneAttr($query, $value, $data)
{
if ($value) {
$query->where("phone", $value);
$query->where("phone", "like", "%".$value."%");
}
}
@ -99,7 +99,7 @@ class Personnel extends BaseModel
public function searchAddressAttr($query, $value, $data)
{
if ($value) {
$query->where("address", $value);
$query->where("address", "like", "%".$value."%");
}
}
@ -146,8 +146,13 @@ class Personnel extends BaseModel
*/
public function searchCreateTimeAttr($query, $value, $data)
{
if ($value) {
$query->where("create_time", $value);
if ($value && is_array($value) && count($value) == 2) {
// 日期范围查询
$query->where("create_time", ">=", $value[0])
->where("create_time", "<=", $value[1]);
} elseif ($value) {
// 单个日期查询(按天)
$query->whereTime("create_time", "=", $value);
}
}

59
niucloud/app/service/api/apiService/PersonnelService.php

@ -233,55 +233,6 @@ class PersonnelService extends BaseApiService
}
$model = $this->model;
//存在员工id的时候
// if ((!empty($where['personnel_id']) || isset($where['personnel_id'])) && $where['personnel_id'] !== '') {
// //查询这个员工的校区id
// $campus_id = CampusPersonRole::where('person_id', $where['personnel_id'])
// ->distinct(true)
// ->column('campus_id');
// if ($campus_id[0]) {
//
// $person_id_arr = CampusPersonRole::whereIn('campus_id', $campus_id)
// ->where(['dept_id' => 3])
// ->distinct(true)
// ->column('person_id');
// if ($person_id_arr) {
// //根据校区id获取校区下的全部员工
// $model = $model->whereIn('id', $person_id_arr);
// }
// }else{
// $person_id_arr = CampusPersonRole::whereIn('campus_id', $campus_id)
// ->where(['dept_id' => 3])
// ->distinct(true)
// ->column('person_id');
// if ($person_id_arr) {
// //根据校区id获取校区下的全部员工
// $model = $model->whereIn('id', $person_id_arr);
// }
// }
// }
//
// if (empty($where['account_type'])) {
// $model = $model->where('account_type', $where['account_type']);
// }
//
// if (!empty($where['campus'])) {
//// $model = $model->where('campus', $where['campus']);
//
// $person_id_arr = CampusPersonRole::whereIn('campus_id', $where['campus'])
// ->distinct(true)
// ->where(['dept_id' => 3])
// ->column('person_id');
//
// if ($person_id_arr) {
// //根据校区id获取校区下的全部员工
// $model = $model->whereIn('id', $person_id_arr);
// }
//
// }
$res = $model->field($field)
->select()
->toArray();//员工信息
@ -470,17 +421,15 @@ class PersonnelService extends BaseApiService
'msg' => '添加失败',
'data' => []
];
try {
// 开启事务
$this->model->startTrans();
// 检查手机号是否已存在
$existingPersonnel = $this->model->where('phone', $data['phone'])->find();
if ($existingPersonnel) {
$res['msg'] = '该手机号已存在,请更换';
return $res;
}
try {
// 开启事务
$this->model->startTrans();
// 准备基本员工信息数据
$personnelData = [
@ -520,7 +469,7 @@ class PersonnelService extends BaseApiService
$detailData = [
'person_id' => $personnelId,
'name' => $data['name'],
'ethnicity' => $data['ethnicity'] ?? '',
// 'ethnicity' => $data['ethnicity'] ?? '',
'age' => $data['age'] ?? null,
'politics' => $data['politics'] ?? '',
'university' => $data['university'] ?? '',

28
niucloud/app/service/school_approval/SchoolApprovalProcessService.php

@ -4,6 +4,7 @@ declare(strict_types=1);
namespace app\service\school_approval;
use app\model\personnel\Personnel;
use app\model\personnel\PersonnelInfo;
use app\model\school_approval\SchoolApprovalConfig;
use app\model\school_approval\SchoolApprovalConfigNode;
use app\model\school_approval\SchoolApprovalParticipants;
@ -236,7 +237,7 @@ class SchoolApprovalProcessService
(new SchoolApprovalProcess())->where(['id' => $process_id])
->update([
'approval_status' => SchoolApprovalProcess::STATUS_REJECTED,
'approval_time' => time(),
'approval_time' => date('Y-m-d H:i:s'),
'remarks' => $remarks
]);
@ -271,7 +272,7 @@ class SchoolApprovalProcessService
(new SchoolApprovalProcess())->where(['id' => $process_id])
->update([
'approval_status' => SchoolApprovalProcess::STATUS_APPROVED,
'approval_time' => time()
'approval_time' => date('Y-m-d H:i:s')
]);
// 处理业务逻辑
@ -327,7 +328,7 @@ class SchoolApprovalProcessService
(new SchoolApprovalProcess())->where(['id' => $process_id])
->update([
'approval_status' => SchoolApprovalProcess::STATUS_REJECTED,
'approval_time' => time(),
'approval_time' => date('Y-m-d H:i:s'),
'remarks' => '申请人撤销'
]);
@ -396,12 +397,33 @@ class SchoolApprovalProcessService
$createData = $personnelData;
$createData['status'] = 2; // 设置为已审核状态
$insert_status = (new Personnel())->where(['phone' => $createData['phone']])->order('id', 'desc')->find();
if ($insert_status) {
$personnelId = $insert_status->id;
//获取Personnel模型中所有字段
$fields = (new Personnel())->getFields();
// 过滤只保留字符串和整数类型的键
$fields = array_filter($fields, function($field) {
return is_string($field) || is_int($field);
});
$PersonnelData = array_intersect_key($createData, array_flip($fields));
(new Personnel())->where(['id' => $insert_status->id])->update($PersonnelData);
$fields = (new PersonnelInfo())->getFields();
// 过滤只保留字符串和整数类型的键
$fields = array_filter($fields, function($field) {
return is_string($field) || is_int($field);
});
$PersonnelInfoData = array_intersect_key($createData, array_flip($fields));
(new PersonnelInfo())->where(['person_id' => $insert_status->id])->update($PersonnelInfoData);
} else {
// 创建人员记录
$result = $personnelService->addPersonnel($createData);
if (!$result['code']) {
throw new \Exception($result['msg']);
}
$personnelId = $result['data']['personnel_id'];
}
// 更新流程的business_id为实际创建的人员ID
(new SchoolApprovalProcess())->where(['id' => $process['id']])

6
uniapp/pages-coach/coach/my/update_pass.vue

@ -177,11 +177,7 @@ import apiRoute from '@/api/apiRoute.js';
})
//1s
setTimeout(() => {
//-
//
uni.redirectTo({
url: `/pages-coach/coach/my/index`
})
uni.navigateBack()
}, 1000)
},
}

6
uniapp/pages-market/my/update_pass.vue

@ -177,11 +177,7 @@ import apiRoute from '@/api/apiRoute.js';
})
//1s
setTimeout(() => {
//-
//
uni.redirectTo({
url: `/pages-market/my/index`
})
uni.navigateBack()
}, 1000)
},
}

6
uniapp/pages/coach/my/update_pass.vue

@ -177,11 +177,7 @@ import apiRoute from '@/api/apiRoute.js';
})
//1s
setTimeout(() => {
//-
//
uni.redirectTo({
url: `/pages-coach/coach/my/index`
})
uni.navigateBack()
}, 1000)
},
}

6
uniapp/pages/market/my/update_pass.vue

@ -177,11 +177,7 @@ import apiRoute from '@/api/apiRoute.js';
})
//1s
setTimeout(() => {
//-
//
uni.redirectTo({
url: `/pages-market/my/index`
})
uni.navigateBack()
}, 1000)
},
}

Loading…
Cancel
Save