$params['company_id'], 'contract_type' => $params['contract_type'], 'contract_no' => $params['contract_no'], 'file' => $params['file'], 'status' => $params['status'], 'party_a' => $params['party_a'], 'party_b' => $params['party_b'], 'area_manager' => $params['area_manager'] ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2023/07/18 14:28 */ public static function edit(array $params): bool { Db::startTrans(); try { Contract::where('id', $params['id'])->update([ 'company_id' => $params['company_id'], 'contract_type' => $params['contract_type'], 'contract_no' => $params['contract_no'], 'file' => $params['file'], 'status' => $params['status'], 'party_a' => $params['party_a'], 'party_b' => $params['party_b'], 'area_manager' => $params['area_manager'] ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2023/07/18 14:28 */ public static function delete(array $params): bool { return Contract::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2023/07/18 14:28 */ public static function detail($params): array { $data = Db::name('contract')->where('id', $params['id']) ->withAttr('party_b_name', function ($value, $data) { if ($data['type'] == 1) { return Db::name('company')->where('id', $data['party_b'])->value('company_name'); } else { return Db::name('admin')->where('id', $data['party_b'])->value('name'); } }) ->withAttr('party_a_name', function ($value, $data) { return Db::name('company')->where('id', $data['party_a'])->value('company_name'); }) ->withAttr('area_manager_name', function ($value, $data) { return Db::name('admin')->where('id', $data['area_manager'])->value('name'); }) ->withAttr('contract_type_name', function ($value, $data) { return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); }) ->withAttr('type_name', function ($value, $data) { return $data['type']==1?'公司':'个人'; }) ->withAttr('status_name', function ($value, $data) { return $data['status']==1?'已签约':'未签约'; }) ->find(); return $data; } }