修复:处理工单bug

This commit is contained in:
2025-06-27 16:33:42 +08:00
parent 646b58c851
commit b31012af25
4 changed files with 422 additions and 242 deletions
+48 -2
View File
@@ -122,17 +122,47 @@ class Index extends BaseController
}
} else {
$param = get_params();
$id = isset($param['id']) ? $param['id'] : 0;
$id = !empty($param['id']) ? intval($param['id']) : 0;
$workorder = WorkOrderList::where('id', $id)
->field('id, project_id, problemtype, uid, username, contact, content, remark, status, solve, creater, sub_time, create_time')
->field('id, project_id, problemtype, uid, username, contact, email, content, remark, status, solve, creater, sub_time, create_time')
->find();
if ($workorder) {
// 批量获取相关ID
$projectId = $workorder['project_id'];
$createrId = $workorder['creater'];
// $solveId = $workorder['solve'];
// 查询相关名称和联系方式
$projectName = $projectId ? Db::name('Project')->where('id', $projectId)->value('name_short') : '-';
$adminName = $createrId ? Db::name('Admin')->where('id', $createrId)->value('name') : '-';
// $solveName = $solveId ? Db::name('Admin')->where('id', $solveId)->value('name') : '-';
// 联系方式优先用工单自带,否则查创建人
$contact = !empty($workorder['contact']) ? $workorder['contact'] : (
$createrId ? (Db::name('Admin')->where('id', $createrId)->value('mobile') ?: '-') : '-'
);
$email = !empty($workorder['email']) ? $workorder['email'] : (
$createrId ? (Db::name('Admin')->where('id', $createrId)->value('email') ?: '-') : '-'
);
$uid = !empty($workorder['uid']) ? $workorder['uid'] : (
$createrId ? (Db::name('Admin')->where('id', $createrId)->value('id') ?: '-') : '-'
);
// 赋值
$workorder['project_id'] = $projectName ?: '-';
$workorder['creater'] = $adminName ?: '-';
// $workorder['solve'] = $solveName ?: '-';
$workorder['contact'] = $contact;
$workorder['email'] = $email ?: '-';
$workorder['uid'] = $uid ?: '-';
View::assign('detail', $workorder);
} else {
View::assign('message', '没有详细数据');
}
return view();
// return json($workorder);
}
}
@@ -153,6 +183,22 @@ class Index extends BaseController
} else {
$view->contact = Db::name('Admin')->where('id', $view['creater'])->value('mobile') ?: '-';
}
if (!empty($view['uid'])) {
$view->uid = $view['uid'];
} else {
$view->uid = Db::name('Admin')->where('id', $view['creater'])->value('id') ?: '-';
}
if (!empty($view['email'])) {
$view->email = $view['email'];
} else {
$view->email = Db::name('Admin')->where('id', $view['creater'])->value('email') ?: '-';
}
if (!empty($view['project_order_id'])) {
$view->project_order_id = $view['project_order_id'];
} else {
$projectOrderId = Db::name('WorkOrder')->where('id', $id ?: $view['id'])->value('project_order_id');
$view->project_order_id = $projectOrderId ?: $view['id'];
}
$adminName = Db::name('Admin')->where('id', $view['creater'])->value('name');
$view->creater = $adminName ?: '-';
$solveName = Db::name('Admin')->where('id', $view['solve'])->value('name');