adminInfo = get_login_admin(); $this->category_id=354; $this->url=[ '/admin/supplychain.index/index?category_id='.$this->category_id, '/admin/supplychain.index/add', '/admin/supplychain.index/edit', '/admin/supplychain.index/delete', '/admin/supplychain.merchant/index', '/admin/supplychain.merchant/bill', ]; } /** * * 供应链团队列表 * */ public function index() { if (request()->isAjax()) { $params= get_params(); $where[]= ['status','=',0]; if (isset($params['keywords']) && !empty($params['keywords'])){ $where[]= ['name','like','%'.$params['keywords'].'%']; } if($this->adminInfo['position_id'] != 1){ //不是超级管理员 $www['admin_id'] = $this->adminInfo['id']; $user_address = Db::table('fa_szxc_information_useraddress')->where($www)->find(); if ($user_address){ if($user_address['auth_range'] == 1){ $where[] = ['village_id','=',$user_address['village_id']]; }elseif ($user_address['auth_range'] == 2){ $where[] = ['street_id','=',$user_address['street_id']]; }elseif ($user_address['auth_range'] == 3){ $where[] = ['area_id','=',$user_address['area_id']]; }else{ $where[] = ['village_id','=',$user_address['village_id']]; } }else{ $where[] = ['village_id','=','']; } } $total = SupplyChain::where($where)->count(); $list = SupplyChain::with(['merchant', 'street', 'area'])->order('id desc')->select(); View::assign('url', $this->url); View::assign('list', $list); $result = ['total' => $total, 'data' => $list]; return table_assign(0, '', $result); }else{ $list = SupplyChain::select(); View::assign('url', $this->url); View::assign('list', $list); return view(); } } /** * * 新增 * */ public function add() { if (request()->isAjax()) { $params = get_params(); $data['user_id'] = $this->adminInfo['id']; // 操作用户ID $data['name'] = $params['title']; // 团队名称 $data['tel'] = $params['phone']; // 联系电话 $data['shareRate'] = $params['shareRate']; // 分润比例 $data['mer_id_list'] = json_encode($params['mer_id']); // 已选商户 $data['street_id'] = $params['street_id']; // 街道ID $street = GeoStreet::where('street_id', $data['street_id'])->find(); // 街道数据 $data['lng'] = $street['lng']; // 经度 $data['lat'] = $street['lat']; // 纬度 $area = $street->area; // 区数据 $data['area_id'] = $area['area_id']; // 区县id $city = $area->city; // 获取市级 $data['address'] = $city['city_name'] . $area['area_name'] . $street['street_name']; // 实际地址 $data['create_time'] = date('Y-m-d H:i:s'); // 数据入库 $res = SupplyChain::create($data); // 关联数据入库 foreach ($params['mer_id'] as $v) { $dataLink = [ 'eb_merchant_id' => $v, // 商户ID 'user_id' => $data['user_id'], 'create_time' => $data['create_time'], ]; $res->linkMerchant()->save($dataLink); // 插入关联数据 } if ($res){ return to_assign(0,'操作成功',['aid'=>$res]); } return to_assign(1, '操作失败,原因:'.$res); }else{ // 取出正常的商家 $merchant = Merchant::where('status', 1)->column('mer_id, real_name'); // 区域模型 $arealist = GeoArea::where('city_code', '510500')->select(); View::assign('editor', get_system_config('other','editor')); View::assign('arealist', $arealist); View::assign('merchant', $merchant); View::assign('url', $this->url); return view(); } } /** * * 编辑 * */ public function edit() { $id = get_params("id"); if(!$id) return to_assign(1, '非法操作!'); if (request()->isAjax()) { $params = get_params(); $data['id'] = $params['id']; // 当前ID $data['user_id'] = $this->adminInfo['id']; // 操作用户ID $data['name'] = $params['title']; // 团队名称 $data['tel'] = $params['phone']; // 联系电话 $data['shareRate'] = $params['shareRate']; // 分润比例 $data['mer_id_list'] = isset($params['mer_id']) ? json_encode($params['mer_id']) : null; // 已选商户 $data['street_id'] = $params['street_id']; // 街道ID $street = GeoStreet::where('street_id', $data['street_id'])->find(); // 街道数据 $data['lng'] = $street['lng']; // 经度 $data['lat'] = $street['lat']; // 纬度 $area = $street->area; // 区数据 $data['area_id'] = $area['area_id']; // 区县id $city = $area->city; // 获取市级 $data['address'] = $city['city_name'] . $area['area_name'] . $street['street_name']; // 实际地址 $data['create_time'] = date('Y-m-d H:i:s'); // 数据更新 $supplyChain = SupplyChain::with(['linkMerchant'])->find($data['id']); $res = $supplyChain->update($data); // 获取关联数据一对一---曲线救国 $linkMerchant = $supplyChain['linkMerchant']; // $linkMerchantArr = $linkMerchant->column('id'); // 先删除关联数据-- 曲线救国 $linkMerchant->delete(); // 关联商户状态 if($data['mer_id_list']) { // 再重新将关联数据入库 foreach ($params['mer_id'] as $v) { $dataLink = [ 'eb_merchant_id' => $v, // 商户ID 'user_id' => $data['user_id'], 'create_time' => $data['create_time'], ]; $supplyChain->linkMerchant()->save($dataLink); } } if ($res){ return to_assign(0,'操作成功',['aid'=>$res]); } return to_assign(1, '操作失败,原因:'.$res); }else{ $supplyChain = SupplyChain::with(['merchant', 'street', 'area'])->find($id); // 取出当前供应链数据 View::assign('detail', $supplyChain); // 取出正常的商家 $merchant = Merchant::where('status', 1)->column('mer_id, real_name'); // 区域模型 $arealist = GeoArea::where('city_code', '510500')->select(); View::assign('arealist', $arealist); View::assign('merchant', $merchant); View::assign('url', $this->url); return view(); } } /** * * 删除 * */ public function delete() { $id = get_params("id"); if(!$id) return to_assign(1, '非法操作!'); $supplyChain = SupplyChain::with(['linkMerchant'])->find($id); // 删除关联模型 $res = $supplyChain->together(['linkMerchant'])->delete(); if ($res){ return to_assign(0,'操作成功',['aid'=>$res]); } return to_assign(1, '操作失败,原因:'.$res); } }