Commit ed5ba904 authored by zw's avatar zw

Merge branch '1109-v2.9.8' into test

# Conflicts: # application/route.php # application/task/controller/PrivacyNumber.php
parents b52fe8bb 4dc39d99
......@@ -66,13 +66,13 @@ class Register extends Basic
{
header('Access-Control-Allow-Origin:*');
$params = $this->params;
/* $params = array(
"phone" => "16617616471",
"device_id" => "1111",
"code" => 1231,
"wx_union_id" => "oNOSMwfDsUAXGdq0B-NzNYSep_xw", //false
"referrer_id" => 1, //邀请人id 经纪人or客户 也用于判断是否是分享出去的请求
"referrer_source" => 20, //false
/* $params = array(
"phone" => "18516077520",
"device_id" => "154235127061783",
"code" => 8977,
"wx_union_id" => "oxROBwAVrJV7Y_z5wZWKN8HuF55Q", //false
"referrer_id" => 94, //邀请人id 经纪人or客户 也用于判断是否是分享出去的请求
"referrer_source" => 10, //false
);*/
//苹果审核
......
......@@ -97,7 +97,7 @@ class Shop extends Basic
return $this->response("101", "城市不能为空");
}
$field = "id,external_title as title,external_address as address,city,disc,business_district_id,status,industry_type,external_image_id
,shop_area_start,shop_area_end,shop_type,residue_num,shop_sign,is_carefully_chosen,rent_type,rent_price";
,shop_area_start,shop_area_end,shop_type,residue_num,shop_sign,is_carefully_chosen,rent_type,rent_price,is_show_image";
$conditions["city"] = trim($params['city']);
......@@ -212,16 +212,22 @@ class Shop extends Basic
$result[$key]["api_path"] = SHOP_IMAGE_DEPOT_URL;
$result[$key]["rent_price"] = $val["rent_price"] * 0.01;
$result[$key]["images"] = [];
if ($val["external_image_id"]) {
$param["id"] = array("in", $val["external_image_id"]);
$param["img_status"] = 0;
$field = 'id,0 as house_id,img_type,label,img_name,img_status';
if (empty($val['is_show_image'])) {
if ($val["external_image_id"]) {
$param["id"] = array("in", $val["external_image_id"]);
$param["img_status"] = 0;
$res = $this->imageDepotModel->getImageDepotById($field, $param, 1);
$result[$key]["images"] = count($res) > 0 ? $res : [];
}
$field = 'id,0 as house_id,img_type,label,img_name,img_status';
$res = $this->imageDepotModel->getImageDepotById($field, $param, 1);
$result[$key]["images"] = count($res) > 0 ? $res : [];
}
} else {
$house_img_where["house_id"] = $val["id"];
$house_img_where["img_type"] = 2; //默认主图 产品盼盼于11.16号修改
$result[$key]["images"] = $this->gHousesImgModel->getHouseImages($house_img_where, 1);
}
}
if ($params['site_area'] == 6) {
......@@ -321,7 +327,7 @@ class Shop extends Basic
b.enter_num,b.external_item_advantage as item_advantage,b.sign_rule,b.do_business_date, b.opening_date,b.traffic,
b.auditorium,b.tiny_brochure_url,b.start_business_date,b.fee_rule,b.age_limit,b.payment_month,b.deposit_month,b.external_slotting_fee,
b.area_width,b.depth,b.electric_quantity,b.voltage,b.exhaust_fume,b.running_water,b.downriver,b.business_scope,b.decoration
,b.rim_mating,b.section,b.crowd,b.other";
,b.rim_mating,b.section,b.crowd,b.other,a.is_show_image";
$conditions['a.status'] = array("eq", 1);
$conditions['a.is_show'] = array('eq', 0); //c端只显示公开楼盘
......@@ -349,22 +355,26 @@ class Shop extends Basic
if ($result["external_slotting_fee"] != '-1') {
$result["external_slotting_fee"] = $result["external_slotting_fee"] * 0.01;
}
$result["api_path"] = SHOP_IMAGE_DEPOT_URL;
//$param["house_id"] = $params['id'];
//todo 这里的是否要更改成b端后台上传的类型
/* $param["img_type"] = 2;
$result["images"] = $this->gHousesImgModel->getHouseImages($param, 15);
$param["img_type"] = 3;//图片类型:1效果图,2实景图,3样板图,4户型图,5交通图
$result["plan_images"] = $this->gHousesImgModel->getHouseImages($param, 1);*/
$result["images"] = [];
if ($result["external_image_id"]) {
$param["id"] = array("in", $result["external_image_id"]);
$param["img_status"] = 0;
$field = 'id,0 as house_id,img_type,label,img_name,img_status';
$res = $this->imageDepotModel->getImageDepotById($field, $param);
$result["images"] = count($res) > 0 ? $res : [];
}
if (empty($result['is_show_image'])) {
$result["api_path"] = SHOP_IMAGE_DEPOT_URL;
$result["images"] = [];
if ($result["external_image_id"]) {
$param["id"] = array("in", $result["external_image_id"]);
$param["img_status"] = 0;
$field = 'id,0 as house_id,img_type,label,img_name,img_status';
$res = $this->imageDepotModel->getImageDepotById($field, $param);
$result["images"] = count($res) > 0 ? $res : [];
}
} else {
$result["api_path"] = CK_IMG_URL.'images/';
$param["house_id"] = $params['id'];
//todo 这里的是否要更改成b端后台上传的类型
$param["img_type"] = 2;
$result["images"] = $this->gHousesImgModel->getHouseImages($param, 15);
$param["img_type"] = 3;//图片类型:1效果图,2实景图,3样板图,4户型图,5交通图
$result["plan_images"] = $this->gHousesImgModel->getHouseImages($param, 1);
}
if ($result['status'] == 0) {
return $this->response("101", '此楼盘已下架');
......
......@@ -44,7 +44,6 @@ class RegisterService
$fields = "id,buyer_id,user_nick,user_pic,other_pic,sex,agent_id,referrer_id,referrer_source,user_phone,status,first_login_time";
$user_info = $this->userModel->getUserByWhere($conditions, $fields);
$buyer_id = $sex = $id = $status = $agent_id = 0;
$buyer_nick = $user_nick = $other_pic = "";
$registration_time = $first_login_time = "";
......@@ -97,7 +96,9 @@ class RegisterService
return [ "code" => 101, "data" => "没有找到授权信息" ];
}
//todo 此处有个关系,解绑上一个的id
$this->userModel->unbundlingWx([ "buyer_id" => $buyer_id ]);
if($buyer_id > 0){
$this->userModel->unbundlingWx([ "buyer_id" => $buyer_id ]);
}
}
//判断邀请关系 if邀请人是用户的话则此客户的盘方修改为邀请人的盘方
......
<?php
namespace app\api\untils;
use think\Log;
/**
* 微信接口api
......@@ -20,8 +21,21 @@ class WxCallbackUntils
public function __construct()
{
$this->appId = "wxbbeb8cd2f4b72aea";
$this->appSecret = "9ac6d1680553f4b554f3b46d263fbfb3";
if (strpos($this->http_host(), 'api') !== false) {
$this->appId = "wxbbeb8cd2f4b72aea";
$this->appSecret = "9ac6d1680553f4b554f3b46d263fbfb3";
} else {
$this->appId = "wxd30d74d1126d3278";//测试
$this->appSecret = "f29c8c502549020d2193a464be9632dc";//测试
}
}
public function http_host()
{
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
$host=$http_type.$_SERVER['HTTP_HOST'];
return $host;
}
/**
......@@ -30,6 +44,7 @@ class WxCallbackUntils
*/
public function getWxCode($redirect_url)
{
Log::record($redirect_url, 'rizhiheiheihei'); //记录日志
$redirect_url = urlencode($redirect_url);
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appId . "&redirect_uri="
. $redirect_url . "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
......@@ -87,6 +102,35 @@ class WxCallbackUntils
return $data;
}
/**
* 静默授权,用户无感知
* @param $redirect_url
*/
public function getWxCodesnSapiBase($redirect_url)
{
$redirect_url = urlencode($redirect_url);
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appId . "&redirect_uri="
. $redirect_url . "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
header("Location:" . $url);
}
/**
* 静默授权用
* @param $code
* @return mixed
*/
public function getUserOpenId($code)
{
$access_token_info = $this->getAccessTokenByCode($code);
$access_token_info = json_decode($access_token_info);
$open_id = $access_token_info->openid;
return $open_id;
}
public function curl($url, $data = [])
{
$ch = curl_init();
......
<?php
namespace app\api_broker\controller;
/**
* Created by PhpStorm.
* User: zhuwei
* Date: 2018-11-12
* Time: 10:25:16
*/
use app\api_broker\extend\Basic;
use app\model\AAgents;
class Agent extends Basic
{
protected $aAgents;
public function __construct($request = null)
{
parent::__construct($request);
$this->aAgents = new AAgents();
}
/**
* 消息页面--通讯录
* User: 朱伟
* Date: 2018-11-12
* Time: 10:49:56
* 接口文档 http://showdoc.tonglianjituan.com/index.php?s=/1&page_id=680
*/
public function getPhoneBook()
{
$params = $this->params;
$where = [];
$pageNo = empty($params['pageNo']) ? 1 : $params['pageNo'];
$pageSize = empty($params['pageSize']) ? 15 : $params['pageSize'];
if (!empty($params['keyword'])) {
$where['Agents.name|Agents.phone'] = [ 'LIKE', '%' . $params['keyword'] . '%' ];
}
$field = 'Agents.id as agent_id,';
$field .= 'Agents.name,';
$field .= 'Agents.img,';
$field .= 'Agents.phone';
$res = $this->aAgents->getPhoneBookList($field, $where, $pageSize, $pageNo);
foreach ($res as $key => $val) {
$res[$key]['head_portrait'] = AGENTHEADERIMGURL . $val['img'];
}
$res_total = $this->aAgents->getPhoneBookListTotal($where);
return $this->response("200", "成功",['data'=>$res,'total'=>$res_total]);
}
}
\ No newline at end of file
......@@ -16,14 +16,18 @@ use app\api_broker\service\BrokerService;
use app\api_broker\service\CallPhoneService;
use app\api_broker\service\ClientService;
use app\api_broker\service\OrderLogService;
use app\api_broker\service\VipService;
use app\extra\RedisExt;
use app\index\service\UserService;
use app\model\AAgents;
use app\model\ABindingDevice;
use app\model\ACollectUser;
use app\model\ASite;
use app\model\ChatUserExt;
use app\model\Evaluate;
use app\model\GOperatingRecords;
use app\model\NoteLog;
use app\model\OBargainModel;
use app\model\UPhoneFollowPp;
use app\model\Users;
use think\Exception;
......@@ -186,6 +190,20 @@ class Broker extends Basic
$redis_->set("agent_city_" . $agents_data['id'], $site_city[0]['city']);
$redis_->set("agent_site_id_" . $agents_data['id'], $agents_data['site_id']);
/*处理多个手机登录聊天*/
$m_chat_ext = new ChatUserExt();
$bind_where['is_forbidden'] = 0;
$bind_where['user_id'] = ['<>', $agents_data['id']];
$bind_where['type'] = 1;
$bind_where['push_id'] = $params["push_id"];
$del_bind_id = $m_chat_ext->getChatUserExtByUserId($bind_where, 'a.id', 100);
if (count($del_bind_id) > 0) {
foreach ($del_bind_id as $v) {
$m_chat_ext->updateDate(['is_forbidden'=>1], ['id'=>$v['id']]);
}
}
/*处理多个手机登录聊天*/
return $this->response(200, $data['msg'], $data['data']);
}
......@@ -372,7 +390,7 @@ class Broker extends Basic
$user = new Users();
// 查询数据集
$user_res = $user->where('user_name|user_phone', 'like', "%$phone_or_name%")
$user_res = $user->where('user_name|user_phone|id', 'like', "%$phone_or_name%")
//->where('create_time','< time',$Two_days_ago)//小于两天前,即排除48小时内受保护的客户
// ->whereOr('agent_id',$user_id)
......@@ -410,7 +428,7 @@ class Broker extends Basic
/**
* 客户动态展示加搜索加客户详情
*
* APP客户详情
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
......@@ -420,6 +438,7 @@ class Broker extends Basic
{
header('Access-Control-Allow-Origin:*');
$params = $this->params;
/* $params = array(
"user_id" => 828,
"agent_id" => 1,
......@@ -526,6 +545,8 @@ class Broker extends Basic
if (!$clientService->dialTotal($params["user_id"])) {
$data['is_outpace_call_num'] = 1;
}
$model = new AAgents();
$result = $model->searchAgentsByKeyword("id,name,phone", [ "id" => $params["agent_id"] ]);
$call = new CallPhoneService();
......@@ -534,6 +555,11 @@ class Broker extends Basic
$data['is_outpace_call_num'] = 0;
}
//查询当前经纪人是否是某个客方的总监 0:可查看 1:不可查看
$data['is_can_look'] = $user_service->isUserAgentDirector($user_res["agent_id"],$params["agent_id"]);
$vip_services = new VipService();
//是否可以查看vip客户 0:可查看 1:不可查看
$data['examine_vip'] = $vip_services->vip($params['agent_id']);
return $this->response("200", "success!", $data);
}
......@@ -819,4 +845,61 @@ class Broker extends Basic
return $this->response(200, '', $data['data']);
}
/**
* 查询评论和成交记录
*
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function commentAndDeal()
{
$params = $this->params;
$data['status'] = 200;
$data['data'] = [];
$data['msg'] = '';
if ($params['agent_id']) {
$pageNo = empty($params['pageNo']) ? 1 : $params['pageNo'];
$pageSize = empty($params['pageSize']) ? PAGESIZE : $params['pageSize'];
$bargain = new OBargainModel();
$evaluate = new Evaluate();
$fields_evaluate = 'house_id,user_id,user_nick,user_phone,user_pic,evaluate_grade,evaluate_content,record_id,';
$fields_evaluate .= 'evaluate_sign,a.create_time,record_id,a.source,a.house_id,c.external_address,c.internal_address,c.disc';
$bargain_fields = 'a.id,a.price,a.create_time as singntime,d.external_title as title,d.rent_type,d.shop_sign,shop_area_start as room_area,c.house_id';
switch ($params['type']) {
case 0:
//评价列表信息
$result['evaluate'] = $evaluate->getEvaluate($pageNo, $pageSize, 'a.id desc', $fields_evaluate, '', $params['agent_id']);
//成交记录
$result['journalAccounts'] = $bargain->getBargainOrderList($pageNo, $pageSize, '', $bargain_fields, [ 'a.agent_id' => $this->params['agent_id'] ]);
$data['data'] = $result;
break;
case 1:
//评价列表信息
$result['evaluate'] = $evaluate->getEvaluate($pageNo, $pageSize, 'a.id desc', $fields_evaluate, '', $params['agent_id']);
$data['data'] = $result;
break;
case 2:
//成交记录
$result['journalAccounts'] = $bargain->getBargainOrderList($pageNo, $pageSize, '', $bargain_fields, [ 'a.agent_id' => $this->params['agent_id'] ]);
$data['data'] = $result;
break;
default:
$data['stauts'] = 101;
$data['msg'] = 'type is null';
break;
}
} else {
$data['msg'] = 'agent_id is null';
}
return $this->response($data['status'], $data['msg'], $data['data']);
}
}
\ No newline at end of file
......@@ -159,40 +159,42 @@ class User extends Basic
}
}
$field = "id as user_id,sex,user_name,city,user_phone,user_status,agent_id,create_time,industry_type,price_demand,area_demand,vip,user_label,source_intro,site_ids";
$userList = $this->userModel->selectUserList($field, $conditions, $pageNo, $pageSize, "id desc");
if (empty($userList)) {
$return_user_list = $this->userModel->selectUserList($field, $conditions, $pageNo, $pageSize, "id desc");
if (empty($return_user_list)) {
return $this->response("200", "此条件没有找到数据");
}
$clientService = new ClientService();
foreach ($userList as $k => $v) {
foreach ($return_user_list as $k => $v) {
/*判断是否纯房东 0:否 1:是 start*/
$is_single_homeowner = 0;
if ($v['user_label'] == 2) {
//source 41纯房东
$is_single_homeowner = 1;
}
$userList[$k]['is_single_homeowner'] = $is_single_homeowner;
$return_user_list[$k]['is_single_homeowner'] = $is_single_homeowner;
/*判断是否纯房东 end*/
$is_show = $clientService->dialTotal($v["user_id"]);
$userList[$k]['sign_call'] = $is_show ? 0 : 1;
$return_user_list[$k]['sign_call'] = $is_show ? 0 : 1;
//查询客户是否在保护期内
//判断客户是否超过24小时保护期间 0:保护器内 1:超过保护期
$user_service = new UserService();
$is_outstrip_twenty_four_hours = $user_service->isUserProtect($v["user_id"]);
$userList[$k]['is_outstrip_twenty_four_hours'] = $is_outstrip_twenty_four_hours;
$return_user_list[$k]['is_outstrip_twenty_four_hours'] = $is_outstrip_twenty_four_hours;
$userList[$k]['user_phone'] = substr_replace($userList[$k]['user_phone'], '****', 3, 4);
$return_user_list[$k]['is_can_look'] = $user_service->isUserAgentDirector($v["agent_id"],$this->agentId);
$return_user_list[$k]['user_phone'] = substr_replace($return_user_list[$k]['user_phone'], '****', 3, 4);
}
$vip_services = new VipService();
$data['examine_vip'] = $vip_services->vip($this->agentId);
$data['user_date'] = $userList;
$data['total_page'] = count($userList);
$data['user_date'] = $return_user_list;
$data['total_page'] = count($return_user_list);
return $this->response("200", 'request success', $data);
}
......
......@@ -517,7 +517,8 @@ class OrderLogService
//报备
foreach ($reportData as $k => $v) {
$v["step_name"] = "report";
$v["step"] = "报备【" . $v['house_title'] . "】";
$house_title = mb_substr($v['house_title'],0,3,'utf-8')."***";
$v["step"] = "报备【" . $house_title . "】";
$result[$sort++] = $v;
$order_ids .= $v["order_id"] . ",";
......@@ -538,10 +539,12 @@ class OrderLogService
if (count($marchInData) > 0) {
foreach ($marchInData as $k => $v) {
$v["step_name"] = "march_in";
$v["step"] = "进场【" . $v['house_title'] . "】";
$house_title = mb_substr($v['house_title'],0,3,'utf-8')."***";
$v["step"] = "进场【" . $house_title . "】";
$result[$sort++] = $v;
}
}
//跟进
$field_follow_up = "a.id,a.agent_id,a.agent_name,a.user_type,a.decision_maker,a.industry_type,a.area_requirement,a.price_requirement,a.province,a.city,
a.district,a.business_area,a.explain,a.explain_img,a.create_time,b.name,b.img,c.store_name";
......@@ -565,7 +568,8 @@ class OrderLogService
if (count($payLogData) > 0) {
foreach ($payLogData as $k => $v) {
$v["step_name"] = "pay_log";
$v["step"] = "收款【" . $v['house_title'] . "】";
$house_title = mb_substr($v['house_title'],0,3,'utf-8')."***";
$v["step"] = "收款【" . $house_title . "】";
$result[$sort++] = $v;
}
}
......@@ -578,7 +582,8 @@ class OrderLogService
if (count($refundData) > 0) {
foreach ($refundData as $k => $v) {
$v["step_name"] = "refund";
$v["step"] = "退款【" . $v['house_title'] . "】";
$house_title = mb_substr($v['house_title'],0,3,'utf-8')."***";
$v["step"] = "退款【" . $house_title . "】";
$result[$sort++] = $v;
}
}
......@@ -589,12 +594,11 @@ class OrderLogService
if (count($bargainData) > 0) {
foreach ($bargainData as $k => $v) {
$v["step_name"] = "bargain";
$v["step"] = "成交报告【" . $v['house_title'] . "】";
$house_title = mb_substr($v['house_title'],0,3,'utf-8')."***";
$v["step"] = "成交报告【" . $house_title . "】";
$result[$sort++] = $v;
}
}
return $this->sortByTime($result);
}
......
......@@ -456,6 +456,8 @@ class PerformanceService
private function getAgentIdPcInfo($id, $type, $start_time, $end_time)
{
switch ($type) {
case 1:
$params["agent_id"] = $id;
......@@ -524,7 +526,7 @@ class PerformanceService
$params = $this->getAgentId($agent_id, $type, $start_time, $end_time);
if (!$params)
return [ "code" => 101, "date" => "传入的参数错误" ];
$field = "id,user_name,user_phone,user_nick,create_time,agent_id";
$field = "a.id,a.user_name,a.user_phone,a.user_nick,a.create_time,a.agent_id";
$addUserList = $this->userModel->getAddUserList($params, $field, $page_no, $page_size);
foreach ($addUserList as $key => $val) {
if ($val["agent_id"] == $agent_id) {
......@@ -747,7 +749,7 @@ class PerformanceService
$params = $this->getAgentIdPcInfo($id, $type, $start_time, $end_time);
if (!$params)
return [ "code" => 101, "date" => "传入的参数错误" ];
$field = "id,user_name,user_phone,user_nick,create_time,agent_id,user_status,source,industry_type,area_demand";
$field = "a.id,a.user_name,a.user_phone,a.user_nick,a.create_time,a.agent_id,a.user_status,a.source,a.industry_type,a.area_demand,b.name";
$addUserList = $this->userModel->getAddUserList($params, $field, $page_no, $page_size);
foreach ($addUserList as $key => $val) {
if ($val["agent_id"] == $id) {
......
......@@ -31,6 +31,16 @@ class Index
{
return view('index/share_detail');
}
public function yindao_android()
{
return view('index/yindao_android');
}
public function yindao_ios()
{
return view('index/yindao_ios');
}
public function share_register()
{
......
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>同联商业</title>
......@@ -29,7 +28,7 @@
</div>
<p class="b3_spanhao_font" id="font_24">
<span class="b3_spanhao_left">
编号:
88号:
<span class="b3_spanhao"></span>
</span>
......@@ -62,7 +61,7 @@
<span>剩余铺数:</span>
<span class="b3_span_build_num gw"></span>
</p>
<p class="b3_font1">
<p class="b3_font1 b3_span_shop_mianji">
<span class="b3_span_build_type">建筑面积:</span>
<span class="b3_span_build gw"></span>
</p>
......@@ -255,6 +254,9 @@
</div>
<a href="javascript:;" id="fix_area_bottom_btn"><img src="/app/images/xq_cha@2x.png" /></a>
</div>
<div class="shop-list">
<img src="/app/images/img_more@2x.png" alt="" />
</div>
<!--<script src="/app/js/jquery.js"></script>-->
<script src="/app/js/jquery-1122-min.js" charset="UTF-8"></script>
......
......@@ -204,6 +204,11 @@ class Index
{
return view('index/customerinfo_details_new');
}
public function agent_pingjia()
{
return view('index/agent_pingjia');
}
public function customerinfo_customer_add()
{
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>同联商业</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link rel="stylesheet" href="/app/css/common.css">
<link rel="stylesheet" href="/app/css/agent_detail.css">
<style>
/*因为一些新页面用了vue实现,所以很多这样的元素默认是隐藏的,在common.css里。但原来的文件是需要默认隐藏的*/
.loading_pic_new,.no_more,.zanwu_data,.loading_pic_samll_new{
display: none;
}
</style>
<script src="/app/js/vconsole.min.js"></script>
<script>
if(~location.origin.indexOf('pre2.tonglianjituan.com')) {
var vConsole = new VConsole();
};
</script>
</head>
<body>
<!--<header id="header">
<a class="ps-back" href="javascript:(history.length>1?history.go(-1):window.location='/');" id="back_btn"></a>
<h2 id="title">同联经纪人店铺</h2>
</header>
<div class="header_seat"></div>-->
<div class="pingjia-fen-header">
<div>
<p class="tc">推荐度</p>
<div>
<p class="tc"><span id="pingjia_fen"></span></p>
<div class="pingfen-area-large pingfen-area-large-subpage"></div>
<p class="tc">(共<span id="pingjia_shu"></span>人评价)</p>
</div>
</div>
</div>
<div class="pingjia-list-area sub-page-list">
<ul>
</ul>
<div id="loading_pic" class="loading_pic"><img src="/app/images/jz2.gif" /><p>正在加载...</p></div>
<div id="no_more" class="no_more">没有更多了</div>
<div class="zanwu_data">暂无数据...</div>
</div>
<script id="tpl_list" type="text/template">
<li data-orderid="{8}" data-houseid="{9}">
<div class="li-top-area oh">
<figure class="li-top-area-left fl">
<div class="oh fl">
<img src="{6}" onerror="javascript:this.src='{7}'" class="fl">
</div>
<figcaption class="oh fl">
<p>{0}</p>
<div class="oh">
<div class="pingfen-area fl">{1}</div>
<p class="fl">{2}</p>
</div>
</figcaption>
</figure>
<div class="li-top-area-right fr">{3}</div>
</div>
<div class="li-bottom-area">
<h3>{4}</h3>
<p>{5}</p>
</div>
</li>
</script>
<script src="/app/js/jquery-1122-min.js" charset="UTF-8"></script>
<script src="/app/js/common.js" charset="UTF-8"></script>
<script src="/app/js/agent_pingjia.js?new01" charset="UTF-8"></script>
</body>
</html>
......@@ -218,7 +218,7 @@
<script type="text/javascript" src="/app/js/jquery-1122-min.js"></script>
<script src="/app/js/common.js?new42" charset="utf-8"></script>
<script src="/app/js/customerinfo_details_new.js?new67"></script>
<script src="/app/js/customerinfo_details_new.js?new72"></script>
</body>
......
This diff is collapsed.
......@@ -105,14 +105,23 @@ class ChatService
$where['ext_id'] = $chat_user_id;
$where['device_id'] = $device_id;
$where['push_id'] = $push_id;
$where['is_forbidden'] = 0;
$info = $this->chatUserExtModel->getChatUserExt($where, 'id,ext_id,device_id,push_id');
// $where['is_forbidden'] = 0;
$info = $this->chatUserExtModel->getChatUserExt($where, 'id,ext_id,device_id,push_id,is_forbidden');
$result = false;
if (count($info) > 0) {
$update_data = [];
if ($info[0]["push_id"] != $push_id) {
//update
$result = $this->chatUserExtModel->addChatUserExt([ 'push_id' => $push_id ], $info[0]['id']);
$update_data['push_id'] = $push_id;
}
if ($info[0]['is_forbidden'] == 1) {
$update_data['is_forbidden'] = 0;
}
if (count($update_data) > 0) {
$result = $this->chatUserExtModel->addChatUserExt($update_data, $info[0]['id']);
}
} else {
//todo 保存或更新push_id
......@@ -228,7 +237,7 @@ class ChatService
$user_type = $item["type"];
}
}
$where['is_forbidden'] = 0;
$info = $userExt->getChatUserExtByUserId($where, 'a.id,a.ext_id,a.device_id,a.push_id,b.user_id');
if (count($info) <= 0) {
......
......@@ -476,9 +476,9 @@ class Auth extends Basic
$msg = '内部错误:'.$data['msg'];
}
} else {
if (empty($this->params['site_id_string'])) {
return $this->response(101, '站点数据错误');
}
// if (empty($this->params['site_id_string'])) {
// $this->params['site_id_string'] = ""
// }
$data['group_id'] = $this->params['group_id'];
$data['site_id'] = $this->params['site_id_string'];
......
......@@ -15,6 +15,7 @@ use app\api_broker\service\PushMessageService;
use app\index\extend\Basic;
use app\model\AAgents;
use app\model\ABindingDevice;
use app\model\AStore;
use app\model\Evaluate;
use app\model\GHousesToAgents;
use think\Session;
......@@ -107,6 +108,10 @@ class Broker extends Basic
$where['site_id'] = $this->params['site_id'];
}
if ($this->params['position'] == -1) {
$where['position'] = 5;
}
if ($where) {
$agent = new AAgents();
$field = 'id,name,phone,status';
......@@ -713,4 +718,93 @@ class Broker extends Basic
return $this->response(200, '', $data['data']);
}
/**
* 修改经纪人职称
*
* @return \think\Response
*/
public function updatePosition() {
if (empty($this->params['agent_id']) || empty($this->params['position'])) {
return $this->response(101, '参数错误');
}
try {
$m_agent = new AAgents();
$agent_data = $m_agent->getAgentInfo('id,position', $this->params['agent_id']);
if (empty($agent_data)) {
return $this->response(101, '没有该经纪人');
}
if ($agent_data['position'] == $this->params['position']) {
return $this->response(101, '信息重复');
}
$num = $m_agent->editData(['position'=>(int)$this->params['position']], $this->params['agent_id']);
if ($num > 0) {
return $this->response(200, '');
} else {
return $this->response(101, '修改失败');
}
} catch (\Exception $e) {
return $this->response(101, '内部错误:'.$e->getMessage());
}
}
/**
* 经纪人职称列表
*
* @return \think\Response
*/
public function agentPositionList()
{
if (!$this->request->isAjax()) {
return view('professionalListCon');
}
$msg = "";
$code = 200;
$data = [];
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize'];
$where['status'] = 0;
if (isset($this->params['position']) && $this->params['position'] != -1) {
$where['position'] = $this->params['position'];
} else {
$where['position'] = ['<>', 5];
}
if (!empty($this->params['name'])) {
$where['name'] = ['LIKE', '%'.$this->params['name'].'%'];
}
if (!empty($this->params['phone'])) {
$where['phone'] = ['LIKE', '%'.$this->params['phone'].'%'];
}
if (!empty($this->params['site_id'])) {
$where['site_id'] = $this->params['site_id'];
}
try {
$m_agent = new AAgents();
$m_store = new AStore();
$list = $m_agent->getList($pageNo, $pageSize, 'id desc', 'id,phone,name,position,store_id,level,site_id', '',$where);
foreach ($list as $k=>$v) {
$list[$k]['store_name'] = $m_store->getStoreKeyById('store_name', ['id'=>$v['store_id']]);
}
$data['list'] = $list;
$data['total'] = $m_agent->getTotal($where);
} catch (\Exception $e) {
$code = 101;
$msg = '内部错误:'.$e->getMessage();
}
return $this->response($code, $msg, $data);
}
}
\ No newline at end of file
......@@ -15,6 +15,7 @@ use app\model\AAgents;
use app\model\SecretReport;
use app\model\UPhoneFollowPp;
use app\model\Users;
use app\model\TAgentTotalCallModel;
class CellPhone extends Basic
......@@ -153,6 +154,55 @@ class CellPhone extends Basic
}
}
// /**
// * 经纪人通话汇总
// *
// * @return \think\Response
// * @throws \think\db\exception\DataNotFoundException
// * @throws \think\db\exception\ModelNotFoundException
// * @throws \think\exception\DbException
// */
// public function callCollectList()
// {
// if ($this->request->isAjax()) {
// $result['code'] = 200;
// $result['msg'] = '';
// $pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
// $pageSize = empty($this->params['pageSize']) ? 10 : $this->params['pageSize'];
// $report = new SecretReport();
// $field = 'a.id,b.phone,sum(time) as time,agents_id,call_type,release_time,start_time';
// $where['time'] = ['>', 0];
// if (!empty($this->params['start_date']) && empty($this->params['end_date'])) {
// $where['a.create_time'] = [ '> time', $this->params['start_date'] ];
// }
// if (!empty($this->params['end_date']) && empty($this->params['start_date'])) {
// $where['a.create_time'] = [ '< time', $this->params['end_date'] ];
// }
// if (!empty($this->params['end_date']) && !empty($this->params['start_date'])) {
// $where['a.create_time'] = [ 'between', [$this->params['start_date'], $this->params['end_date']]];
// }
// if (!empty($this->params['agents_name'])) {
// $where['realName'] = [ 'LIKE', $this->params['agents_name'] . '%' ];
// }
// if (!empty($this->params['phone'])) {
// $where['phone'] = [ 'LIKE', $this->params['phone'] . '%' ];
// }
// $data['list'] = $report->getCallCollect($pageNo, $pageSize, 'id desc', $field, $where);
// $data['total'] = $report->getCallCollectTotal($where);
// return $this->response($result['code'], $result['msg'], $data);
// } else {
// return view('cell_phone/agentIndex');
// }
// }
/**
* 经纪人通话汇总
*
......@@ -165,39 +215,37 @@ class CellPhone extends Basic
{
if ($this->request->isAjax()) {
return $this->response(101, '维护中');
$result['code'] = 200;
$result['msg'] = '';
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 10 : $this->params['pageSize'];
$report = new SecretReport();
$field = 'a.id,b.phone,sum(time) as time,agents_id,call_type,release_time,start_time';
$field = 'id,time,name,money,phone';
$where['time'] = ['>', 0];
if (!empty($this->params['start_date']) && empty($this->params['end_date'])) {
$where['a.create_time'] = [ '> time', $this->params['start_date'] ];
$where['total_time'] = [ '> time', $this->params['start_date'] ];
}
if (!empty($this->params['end_date']) && empty($this->params['start_date'])) {
$where['a.create_time'] = [ '< time', $this->params['end_date'] ];
$where['total_time'] = [ '< time', $this->params['end_date'] ];
}
if (!empty($this->params['end_date']) && !empty($this->params['start_date'])) {
$where['a.create_time'] = [ 'between', [$this->params['start_date'], $this->params['end_date']]];
$where['total_time'] = [ 'between', [$this->params['start_date'], $this->params['end_date']]];
}
if (!empty($this->params['agents_name'])) {
$where['realName'] = [ 'LIKE', $this->params['agents_name'] . '%' ];
$where['name'] = [ 'LIKE', $this->params['agents_name'] . '%' ];
}
if (!empty($this->params['phone'])) {
$where['phone'] = [ 'LIKE', $this->params['phone'] . '%' ];
}
$data['list'] = $report->getCallCollect($pageNo, $pageSize, 'id desc', $field, $where);
$data['total'] = $report->getCallCollectTotal($where);
$report = new TAgentTotalCallModel();
$data['list'] = $report->getList($pageNo, $pageSize, 'id desc', $field, $where);
$data['total'] = $report->getTotal($where);
return $this->response($result['code'], $result['msg'], $data);
} else {
return view('cell_phone/agentIndex');
......
......@@ -178,7 +178,6 @@ class Finance extends Basic
case 10 :
//成交报告列表-全部
$where['a.status'] = ['IN','10,11,13'];
$is_show = 0;
$excel_title .= '-全部';
break;
default :
......@@ -228,7 +227,15 @@ class Finance extends Basic
$where_id[] = $v['father_id'];
}
}
$where['a.id'] = [ 'in', $where_id ];
if (empty($where_id)) {
return $this->response(200, "");
}
if (!empty($where['a.id'])) {
$where_id[] = $where['a.id'];
}
$where['a.id'] = [ 'in', array_unique($where_id) ];
}
$is_show = 1;
}
......@@ -248,11 +255,20 @@ class Finance extends Basic
$where_id[] = $v['father_id'];
}
}
$where['a.id'] = [ 'in', $where_id ];
if (!empty($this->params['bargain_id'])) {
$where_id[] = $this->params['bargain_id'];
}
$where['a.id'] = [ 'in', array_unique($where_id) ];
}
$is_show = 1;
}
if (!empty($this->params['user_id'])) {
$where['b.user_id'] = $this->params['user_id'];
$is_show = 1;
}
if (empty($this->params['excel'])) {
$list_data = $this->m_bargain->getBargainList($pageNo, $pageSize, $order, $fields, $where);
......@@ -827,7 +843,8 @@ class Finance extends Basic
$select = 1;
}
$field = 'a.id,b.id as bargain_id,f.income_time,a.practical_fee,b.scale_fee,d.internal_address,b.agent_id,b.house_number,b.father_id,b.order_id,a.real_income_id';
$field = 'a.id,b.id as bargain_id,f.income_time,a.practical_fee,b.scale_fee,d.internal_address,b.agent_id,';
$field .= 'b.house_number,b.father_id,b.order_id,a.real_income_id,a.role,b.scale';
$m_commission = new OPartialCommission();
try {
......@@ -1881,6 +1898,7 @@ class Finance extends Basic
$comm = new OPartialCommission();
$partial_data['scale'] = $this->params['scale'];
$partial_data['role'] = $this->params['role'];
$partial_data['should_commission'] = $this->params['scale_fee'];
$comm->editData($partial_data, $this->params['bargain_id'], 'bargain_id');
$this->updatePerformance(0, $this->params['agent_id']);
......
......@@ -246,19 +246,37 @@ class Houses extends Basic
$where['status'] = $this->params['status'];
}
/*价格 -1表示营业额扣点 存分*/
if ($this->params['rent_price'] != NULL && $this->params['rent_price'] != -1) {
// /*价格 -1表示营业额扣点 存分*/
// if ($this->params['rent_price'] != NULL && $this->params['rent_price'] != -1) {
// $where['rent_type'] = 1;
// switch ($this->params['rent_price']) {
// case 1:
// $where['rent_price'] = [ '<=', 1000000 ];
// break;
// case 2:
// $where['rent_price'] = [ 'between', '1000000,3000000' ];
// break;
// default :
// $where['rent_price'] = [ '>', '3000000' ];
// }
// }
if (!empty($this->params['rent_price']) && $this->params['rent_price'] == -1) {
$where['rent_type'] = -1;
}
if (!empty($this->params['price_start']) && empty($this->params['price_end'])) {
$where['rent_type'] = 1;
switch ($this->params['rent_price']) {
case 1:
$where['rent_price'] = [ '<=', 1000000 ];
break;
case 2:
$where['rent_price'] = [ 'between', '1000000,3000000' ];
break;
default :
$where['rent_price'] = [ '>', '3000000' ];
}
$where['rent_price'] = [ '>=', $this->params['price_start'] * 100 ];
}
if (empty($this->params['price_start']) && !empty($this->params['price_end'])) {
$where['rent_type'] = 1;
$where['rent_price'] = [ '<=', $this->params['price_end'] * 100 ];
}
if (!empty($this->params['price_start']) && !empty($this->params['price_end'])) {
$where['rent_type'] = 1;
$where['rent_price'] = [ 'between', [$this->params['price_start'] * 100, $this->params['price_end'] * 100] ];
}
/*对内楼盘名*/
......@@ -404,6 +422,19 @@ class Houses extends Basic
}
}
if (!empty($this->params['area_start']) && empty($this->params['area_end'])) {
$where['shop_area_start'] = ['>=', $this->params['area_start']];
}
if (!empty($this->params['area_end']) && empty($this->params['area_start'])) {
$where['shop_area_end'] = ['<=', $this->params['area_end']];
}
if (!empty($this->params['area_end']) && !empty($this->params['area_start'])) {
$where[] = ['EXP', "shop_area_start between {$this->params['area_start']} AND {$this->params['area_end']} OR
shop_area_end between {$this->params['area_start']} AND {$this->params['area_end']} "];
}
if (!empty($this->params['business_id'])) {
$where['business_district_id'] = $this->params['business_id'];
}
......
......@@ -43,7 +43,7 @@ class MarchIn extends Basic
}
$pageNo = empty($params['pageNo']) ? 1 : $params['pageNo'];
$pageSize = empty($params['pageSize']) ? 15 : $params['pageSize'];
$where = [];
//搜索条件 start
//1.进场时间
if (!empty($params['create_time_start']) && !empty($params['create_time_end'])) {
......@@ -84,12 +84,13 @@ class MarchIn extends Basic
$where['c.house_title'] = ['LIKE','%'.$params['house_title'].'%'];
}
//9.商铺类型
if (!empty($params['shop_type'])) {
if (isset($params['shop_type']) && $params['shop_type'] != -1) {
$where['f.shop_type'] = $params['shop_type'] ;
}
//搜索条件 end
$fields_evaluate = 'a.report_id,a.order_id,d.user_name,d.user_phone,a.create_time,d.report_agent_name,d.report_agent_phone,e.store_name,c.house_title';
$fields_evaluate = 'a.report_id,a.order_id,d.user_name,d.user_phone,a.create_time,d.report_agent_name,';
$fields_evaluate .= 'd.report_agent_phone,e.store_name,a.march_in_img,f.longitude,f.latitude,a.march_in_area';
$data['list'] = $this->oMarchInModel->findmarchInList($pageNo, $pageSize, 'a.id desc', $fields_evaluate, $where);
$data['total'] = $this->oMarchInModel->findmarchInListCount($fields_evaluate, $where);
......
......@@ -308,14 +308,14 @@ class Member extends Basic{
a.user_name,a.status,a.first_login_time,a.last_login_time,a.agent_id,a.vip,a.price_demand,a.industry_type,a.area_demand,a.user_status,a.source';
try {
$data_list = $this->user->getUserAgent($pageNo, $pageSize, 'a.id DESC', $fields, $where, $type,$this->siteId);
$return_user_list = $this->user->getUserAgent($pageNo, $pageSize, 'a.id DESC', $fields, $where, $type,$this->siteId);
$list = [];
foreach ($data_list as $k=>$v) {
$data_list[$k]['user_phone'] = hide_customer_phone($data_list[$k]['user_phone']);
$data_list[$k]['current_agent_id'] = $this->userId;
foreach ($return_user_list as $k=>$v) {
$return_user_list[$k]['user_phone'] = hide_customer_phone($return_user_list[$k]['user_phone']);
$return_user_list[$k]['current_agent_id'] = $this->userId;
//是否被收藏
$data_list[$k]["is_collect"] = 2;
$return_user_list[$k]["is_collect"] = 2;
if($params["agent_id_for_bind"] && $v["id"]){
//先判断是否已经存在数据
$field = 'id,status';
......@@ -324,7 +324,7 @@ class Member extends Basic{
$collect_house = new ACollectUser();
$res = $collect_house->getCollectUser($field, $get_params);
if ($res && ($res[0]['status'] == 1)) {//如果存在
$data_list[$k]["is_collect"] = 1;
$return_user_list[$k]["is_collect"] = 1;
}
}
......@@ -332,7 +332,7 @@ class Member extends Basic{
//判断客户是否超过24小时保护期间 0:保护器内 1:超过保护期
$user_service = new UserService();
$is_outstrip_twenty_four_hours = $user_service->isUserProtect($v["id"]);
$data_list[$k]['is_outstrip_twenty_four_hours']=$is_outstrip_twenty_four_hours;
$return_user_list[$k]['is_outstrip_twenty_four_hours']=$is_outstrip_twenty_four_hours;
......@@ -352,18 +352,18 @@ class Member extends Basic{
if($result != 0){
$is_outpace_call_num = 0;
}
$data_list[$k]['is_outpace_call_num'] = $is_outpace_call_num;
$return_user_list[$k]['is_outpace_call_num'] = $is_outpace_call_num;
/*end*/
$return_user_list[$k]['is_can_look'] = $user_service->isUserAgentDirector($v["agent_id"],$this->agentId);
$is_show = true;
if($if_search_user){
//客户拨打次数达到上限就不反悔给前端,但是精确搜索除外
$is_show = $clientService->dialTotal($v["id"]);
}
if ($is_show) {
array_push($list, $data_list[$k]);
array_push($list, $return_user_list[$k]);
}
}
$data['list'] =$list;
......
<?php
namespace app\index\controller;
/**
* Created by PhpStorm.
* User: liu yin ping
* Date: 2018/3/13
* Time: 15:48
*/
use app\index\extend\Basic;
class PerformanceRanking extends Basic
{
public function performanceRanking()
{
if (!$this->request->isAjax()) {
return view('performance_ranking/performance_ranking');
}
}
}
<?php
namespace app\index\controller;
/**
* Created by PhpStorm.
* User: liu yin ping
* Date: 2018/11/12
* Time: 15:48
*/
use app\index\extend\Basic;
class PkList extends Basic
{
public function pkList()
{
if (!$this->request->isAjax()) {
return view('pkList/pkListCon');
}
}
}
\ No newline at end of file
<?php
namespace app\index\controller;
use app\index\extend\Basic;
use app\index\service\RankingListService;
use app\index\untils\ExportExcelUntil;
use app\model\AAgents;
use think\Request;
/**
* Created by PhpStorm.
* User : zw
* Date : 2018/11/12
* Time : 2:04 PM
* Intro: pk榜
*/
class RankingList extends Basic{
private $service_;
public function __construct(Request $request = null)
{
parent::__construct($request);
$this->service_ = new RankingListService();
}
/**
* 查询分区业绩pk
* @return \think\Response
*/
public function getRandKingList(){
$params = $this->params;
/*$params["position"] = 1;
$this->siteId = 10001;*/
if(!isset($params["position"]) || $params["position"] < 0 || $params["position"] > 5){
return $this->response("101","请求参数错误");
}
$result = $this->service_->RankingList( $params["position"],$this->siteId);
if(count($result) > 0){
return $this->response("200","success",$result);
}
}
/**
* 导出分区pk榜
* @return string
*/
public function exportReport(){
$params = $this->params;
/* $params["position"] = 1;
$this->siteId = 10001;*/
$export = new ExportExcelUntil();
$result = $this->service_->RankingList( $params["position"],$this->siteId);
$title = [ '经纪人ID', '门店名称', '经纪人姓名', '经纪人电话', '业绩'];
$export->exportTables('PK明细表', $result, 5, 'PK明细表', $title);
return '';
}
/**
* pk榜门店业绩和个人业绩排序显示前五
* @return \think\Response
*/
public function selectPkSortByTime()
{
$params = $this->params;
/* $params = array(
"site_id" => 10001
);*/
if (!isset($params["site_id"])) {
return $this->response("101", "请求参数错误");
}
$start_day = date('Y-m-01 00:00:00', strtotime('-1 month'));
$end_day = date("Y-m-d 23:59:59", strtotime(-date('d') . 'day'));
$list = $this->service_->totalAgent( $start_day, $end_day,$params["site_id"]);
if (count($list) > 0) {
return $this->response("200", "request success", $list);
}
return $this->response("200", "request null");
}
/**
* 查询分区业绩pk by 个人
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getRandKingListByAgentId(){
$params = $this->params;
/*$params["agent_id"] = 1;
$this->siteId = 10001;*/
if(!isset($params["agent_id"])){
return $this->response("101","请求参数错误");
}
$agentModel = new AAgents();
$agent_info = $agentModel->getAgentInfo("id,position",$params["agent_id"]);
if($agent_info["position"] == 5){
return $this->response("101","该经纪人没有分配职称");
}
$result = $this->service_->RankingList( $agent_info["position"],$this->siteId);
$agent_id = $params["agent_id"];
$data = [];
foreach ($result as $key=>$value){
$is_exits = false;
foreach ($value as $item){
if($item["id"] == $agent_id){
$is_exits = true;
}
}
if(!$is_exits){
unset($result[$key]);
}else{
$data["list"] = $value;
$data["grade"] = $key;
}
}
$data["position"] = $agent_info["position"];
if(count($result) > 0){
return $this->response("200","success",$data);
}
return $this->response("200","null");
}
}
\ No newline at end of file
......@@ -326,6 +326,8 @@ class Remark extends Basic
$data['is_outpace_call_num'] = 0;
}
//查询当前经纪人是否是某个客方的总监 0:可以 1:不可以
$user_res['is_can_look'] = $user_service->isUserAgentDirector($user_res["agent_id"],$params["agent_id"]);
return $this->response("200", "success!", [
'user_info' => $user_res,
......
<?php
namespace app\index\controller;
use app\api\controller\WxSdk;
use app\api\untils\WxCallbackUntils;
use app\index\extend\Basic;
use app\index\service\UserService;
use app\model\UWxInfo;
use Think\Log;
/**
* Created by PhpStorm.
* User : zhwuei
* Date : 2018-11-14
* Time : 11:29:52
* Intro:
*/
class ShareShop extends Basic
{
private $url;
private $_wxApi;
private $wxInfoModel;
public function __construct()
{
parent::__construct();
$this->_wxApi = new WxCallbackUntils();
$this->wxInfoModel = new UWxInfo();
$this->url = CURRENT_URL . "index/shareShop";
}
public function shareShop()
{
$browser_type = $this->isWeiChatBrowser();
$params = $this->params;
$is_user = true;
if($browser_type == 1){
//dump('微信浏览器');
$code = empty($_GET['code']) ? null : $_GET['code'];
if (!$code) {
$this->_wxApi->getWxCode($this->url.'?'.http_build_query($params));
} else {
$userInfo = $this->_wxApi->getUserInfoByAccessToken($code);
//dump($userInfo);exit;
if (!$userInfo['wx_open_id']) {
$this->_wxApi->getWxCode($this->url.'?'.http_build_query($params));
}else{
$wx_union_id = $userInfo['wx_union_id'] ? $userInfo['wx_union_id'] : $userInfo['wx_open_id'];
if(!$userInfo['wx_union_id']){
$userInfo['wx_union_id'] = $userInfo['wx_open_id'];
}
$user_service = new UserService();
$is_user = $user_service->isUserByweiXin($wx_union_id);
$userInfo["source"] = 0;
// 验证open_id是否已经存在,存在则更新
$wxInfoObj = $this->wxInfoModel->getWxInfoByOpenId($wx_union_id);
if ($wxInfoObj && count($wxInfoObj) > 0) {
$userInfo["id"] = $wxInfoObj[0]["id"];
$id = $this->wxInfoModel->updateWxInfo($userInfo);
} else {
$id = $this->wxInfoModel->addWxInfo($userInfo);
}
$params['is_user'] = $is_user;
$params['wx_union_id'] = $wx_union_id;
$params['device_id'] = $this->createOrderNumber();
}
}
}
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('=======');
dump('是否手机号注册用户');
dump($is_user);
$this->assign('data',json_encode($params));
return view("share_detail");
}
public function yindaoAndroid()
{
return view("yindao_android");
}
public function yindaoIos()
{
return view("yindao_ios");
}
/**
* 随机数
* @return string
*/
private function createOrderNumber()
{
return time() . mt_rand(10000, 99999);
}
/**
* 浏览器判断
* @return int
*/
function isWeiChatBrowser(){
$ua = $_SERVER['HTTP_USER_AGENT'];
//MicroMessenger 是android/iphone版微信所带的
//Windows Phone 是winphone版微信带的 (这个标识会误伤winphone普通浏览器的访问)
if(strpos($ua, 'MicroMessenger') == false && strpos($ua, 'Windows Phone') == false){
return 0; //普通浏览器
}else{
return 1; //微信浏览器
}
}
}
\ No newline at end of file
......@@ -47,4 +47,5 @@ class WxAuthorization extends Basic
}
}
}
\ No newline at end of file
......@@ -62,7 +62,10 @@ class Basic extends Controller
'index/bargainInfo',
'index/getSiteList',
'index/getAllDisc',
'index/getAgentGroupSite'
'index/getAgentGroupSite',
'index/shareShop',
'index/yindaoAndroid',
'index/yindaoIos',
);
/**
......@@ -76,6 +79,7 @@ class Basic extends Controller
*/
public function __construct(Request $request = null)
{
parent::__construct();
// CORS 跨域 Options 检测响应
$this->corsOptionsHandler();
// 输入对象
......
<?php
namespace app\index\service;
use app\model\AAgents;
use app\model\TAgentTotalModel;
/**
* Created by PhpStorm.
* User : zw
* Date : 2018/11/12
* Time : 2:06 PM
* Intro:
*/
class RankingListService
{
private $agentModel;
private $agentTotalModel;
private $crewNum;
private $crewNumMax;
public function __construct()
{
$this->agentModel = new AAgents();
$this->agentTotalModel = new TAgentTotalModel();
$this->crewNum = 20;
$this->crewNumMax = 25;
}
/**
* pk业绩
* @param $position
* @param $siteId
* @return array
*/
public function RankingList($position, $siteId)
{
//todo 1.查询出此职称的经纪人 获取10月份某个职称的排行 职称 1店长 2经理 3主任 4顾问 0新人
//todo 2.根据上月的业绩排行获取本月业绩排行,
//todo 3.根据此职称的总经纪人数分组
$begin_time = date('Y-m-01 00:00:00', strtotime('-1 month'));
$end_time = date("Y-m-d 23:59:59", strtotime(-date('d') . 'day'));
$params["a.site_id"] = $siteId;
$params["a.position"] = $position;
$params["a.status"] = array("in", "0,3");
$params['b.total_time'] = array('between', array($begin_time, $end_time));
$resultArr = $this->getSort($params, $begin_time, $end_time, "");
if (count($resultArr) <= 0) {
return false;
}
//分组
$total = count($resultArr);
$total_page = floor($total / $this->crewNum);
$residue = $total % $this->crewNum;
$full = $total_page * ($this->crewNumMax - $this->crewNum);
$x = $this->crewNum;
$y = $total_page;
if ($full < $residue) {
$y = $y + 1;
} else {
$x = ceil($residue / $total_page) + $this->crewNum;
}
$result = [];
$i = 0;
$k = 0;
foreach ($resultArr as $key => $item) {
$result[$i][$k++] = $item;
if ($y == $total_page) {
if (($k == $x - 1) && ($i + 1) <= ($total_page - ($residue % $total_page))) {
$k = 0;
++$i;
} elseif ($k == $x) {
$k = 0;
++$i;
}
} else {
if ($k == $x) {
$k = 0;
++$i;
}
}
}
//循环分组后的数组,查询出各组本月业绩排行
//本月
$begin_time = date('Y-m-01', time());
$end_time = date("Y-m-01", strtotime('+1 month'));
$param_now["a.site_id"] = $siteId;
$param_now["a.position"] = $position;
$param_now["a.status"] = array("in", "0,3");
$param_now['b.total_time'] = array('between', array($begin_time, $end_time));
foreach ($result as $index => $item) {
$ids = "";
foreach ($item as $key => $value) {
$ids .= $value["id"] . ",";
}
$ids = rtrim($ids, ",");
$param_now["a.id"] = array("in", $ids);
$sort_arr = $this->getSort($param_now, $begin_time, $end_time, $ids);
$result[$index] = $sort_arr;
}
return $result;
}
/**
* 查询数据
* @param $params
* @param $begin_time
* @param $end_time
* @param $ids
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getSort($params, $begin_time, $end_time, $ids)
{
$fields = "a.id,c.store_name,a.name,a.phone,SUM(b.performance) as performance";
//查询出有业绩的经纪人
$have_performance_arr = $this->agentModel->getAgentsListByPK($fields, $params);
//查询出无业绩的经纪人
$arr = $this->agentModel->getAgentListByPk1($params["a.site_id"], $params["a.position"], $begin_time, $end_time,
$ids);
return array_merge($have_performance_arr, $arr);
}
/**
* 个人业绩团队业绩前五
* @param $yesterday
* @param $end_day
* @param $site_id
* @return mixed
*/
public function totalAgent($yesterday, $end_day, $site_id)
{
$totalModel = new TAgentTotalModel();
$where_ = [];
$where_['b.site_id'] = $site_id;
$where_['a.total_time'] = array('between', array($yesterday, $end_day));
$field = "a.agent_id,b.name,a.store_id,b.img,c.store_name,sum(a.performance) as performance_total";
$order = "performance_total desc";
$data["agent_sort"] = $totalModel->getTotalByPk($field, $where_, 1, $order);
$store_sort = $totalModel->getTotalByPk($field, $where_, 2, $order);
foreach ($store_sort as $key => $value) {
$store_arr = $this->agentModel->getStoreOrDistrict(["store_id" => $value["store_id"], "level" => ["in", "20"]]);
if (count($store_arr) > 0) {
$value["name"] = count($store_arr) > 0 ? $store_arr[0]["name"] : "---";
$value["img"] = $store_arr[0]["img"];
}
}
$data["store_sort"] = $store_sort;
$data["api_path"] = AGENTHEADERIMGURL;
return $data;
}
}
\ No newline at end of file
......@@ -16,6 +16,7 @@ use app\model\AAgents;
use app\model\GOperatingRecords;
use app\model\Users;
use app\task\controller\ResultsSummaryNewTask;
use think\Log;
class UserService
{
......@@ -442,4 +443,23 @@ class UserService
}
}
public function isUserByweiXin($open_id){
if(!$open_id){
return false;
}
dump($open_id);
$param['wx_open_id'] = $open_id;
$fields='a.user_phone';
$result = $this->user->getUserInfoByOpenId($param, $fields);
dump($result);
Log::write($result, 'isUserByweiXin'); //记录日志
if ($result) {
return true;
}else{
return false;
}
}
}
\ No newline at end of file
......@@ -46,4 +46,40 @@ class ExportExcelUntil
$class_xls->writeToStdOut();
die;
}
/**
* 导出Excel
*
* @param string $file_name 文件名
* @param array $data 数据
* @param int $field_num 字段数量
* @param string $table_title 表格title
* @param array $title 表格字段
*/
public function exportTables(string $file_name, array $data, int $field_num, $table_title = "", array $title = []) {
$filename = $file_name. '-' .date('YmdHis').".xlsx";
//设置 header,用于浏览器下载
header('Content-disposition: attachment; filename="'.\XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openXmlFormats-officeDocument.spreadSheetMl.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revaLiDate');
header('Pragma: public');
$class_xls = new \XLSXWriter();
$styles1 = array( 'font'=>'Arial','font-size'=>12,'font-style'=>'bold', 'fill'=>'#eee', 'halign'=>'center', 'border'=>'left,right,top,bottom','border-style'=>'thin','Valign'=>'center','height'=>20);
foreach ($data as $k=>$v) {
$sheet = $k + 1;
$class_xls->writeSheetHeader('Sheet'.$sheet, ['string'],['suppress_row'=>true,'widths'=>[20,25,20,30,30,20,30,20,30]]);
$class_xls->writeSheetRow('Sheet'.$sheet, [$table_title],['height'=>32,'font-size'=>20,'font-style'=>'bold','halign'=>'center','valign'=>'center']);
$class_xls->writeSheetRow('Sheet'.$sheet, $title, $styles1);
foreach ($v as $key=>$item){
$row_data = array_values($item);
$class_xls->writeSheetRow('Sheet'.$sheet, $row_data, ['height'=>16]);
}
$class_xls->markMergedCell('Sheet'.$sheet, $start_row = 0, $start_col = 0, $end_row = 0, $end_col = $field_num);
}
$class_xls->writeToStdOut();
die;
}
}
\ No newline at end of file
......@@ -419,4 +419,48 @@
<!-- /.modal-content -->
</div>
<!-- /.modal -->
</div>
\ No newline at end of file
</div>
<!--设置经纪人 职称-->
<div class="modal fade" id="modal-professionalTitle" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title">
设置经纪人职称
</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form-horizontal-turn">
<br />
<br />
<div class="form-group">
<label class="col-sm-4 control-label">职称名称:</label>
<select id="professional_title_choose" class="form-control btn6">
<option value="">店长</option>
<option value="">经理</option>
<option value="">主任</option>
<option value="">顾问</option>
<option value="">新人</option>
</select>
</div>
<br />
<br />
<br />
<br />
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary submit_professional_title">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal -->
</div>
{layout name="global/frame_tpl" /}
<input type="hidden" class="page-load" id="professionalList" />
<style type="text/css">
.left{
float: left;
}
/*经纪人 搜索 下拉式*/
.left-phone{
margin-left: 10px;
float: left;
margin-top: -5px;
width: 230px;
position: relative;
}
.user-ul-agent{
width: 223px;
height: auto;
float: left;
position: absolute;
background: #fff;
border: .5px solid #ccc;
border-top: none;
left: 4px;
z-index: 999;
}
.user-ul-agent li{
list-style: none;
line-height: 30px;
margin-left: -28px;
}
/*新增 职称人员*/
.user-ul-agent-add{
width: 223px;
height: auto;
float: left;
position: absolute;
background: #fff;
border: .5px solid #ccc;
border-top: none;
left: 4px;
z-index: 999;
}
.user-ul-agent-add li{
list-style: none;
line-height: 30px;
margin-left: -28px;
}
/*编辑 职称人员*/
.user-ul-agent-edit{
width: 223px;
height: auto;
float: left;
position: absolute;
background: #fff;
border: .5px solid #ccc;
border-top: none;
left: 4px;
z-index: 999;
}
.user-ul-agent-edit li{
list-style: none;
line-height: 30px;
margin-left: -28px;
}
/*加载图标*/
#main_loading_pic {
position: fixed;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
margin-left: 50px;
margin-top: -100px;
overflow: hidden;
display: none;
}
.btn-tab-60{
width: 90px;
margin-right: 30px;
}
</style>
<div id="page-content-wrapper">
<div class="container">
<div class="row">
<div class="">
<div class="panel panel-default">
<div class="panel-heading breadcrumb">
<li>
<a>职称列表</a>
</li>
<div class="pull-right">
<ul class="bread_btn">
<li>
<a href="#modal_add_professional" data-toggle="modal" class="btn btn-default">新增职称人员</a>
</li>
</ul>
</div>
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr>
<td colspan="11" class="maintable-top-sub-tr">
<a class="btn btn-info btn-tab-60">全 部</a>
<a class="btn btn-default btn-tab-60">店 长</a>
<a class="btn btn-default btn-tab-60">经 理</a>
<a class="btn btn-default btn-tab-60">主 任</a>
<a class="btn btn-default btn-tab-60">顾 问</a>
<a class="btn btn-default btn-tab-60">新 人</a>
</td>
</tr>
<!--职称列表 搜索-->
<tr>
<td colspan="11">
<form id="maintable_form_search">
<select class="form-control btn2-city ld-Marheight-city p_city_choose_site">
<option value="10001">上海市</option>
<option value="10002">杭州市</option>
</select>
<div class="left-phone">
<input class="form-control margin-top-ld" data-rule-phoneus="false" data-rule-required="false" id="user_agent_name_text" placeholder="经纪人姓名" type="text" value="">
<!--<ul class="user-ul-agent"></ul>-->
</div>
<input class="form-control btn4" value="" data-rule-phoneus="false" data-rule-required="false" id="user_agent_phone" name="" type="text" placeholder="经纪人手机号码">
<span class="btn btn-primary btn3 search left" id="maintable_search">搜索</span>
<span class="btn btn-primary btn3 left" id="maintable_reset">重置</span>
</form>
</td>
</tr>
</thead>
<tbody class="text-center" id="maintable_list">
</tbody>
</table>
</div>
<!-- /#page-content-wrapper -->
<div class="text-right" id="pagediv">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 新增职称 人员 -->
<div class="modal fade" id="modal_add_professional" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-body-width-w">
<div class="modal-content modal-body-width-h">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title">
新增职称人员
</h4>
</div>
<div class="modal-body" style="height: 350px;">
<form class="form-horizontal" id="form_reset">
<div class="form-group">
<label class="col-sm-3 control-label">职称:</label>
<select id="professional_id" class="form-control btn6">
<option value="-1">选择职称</option>
<option value="1">店长</option>
<option value="2">经理</option>
<option value="3">主任</option>
<option value="4">顾问</option>
<option value="0">新人</option>
</select>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">经纪人:</label>
<div class="left-phone">
<input class="form-control" data-rule-phoneus="false" data-rule-required="false" id="user_agent_name_add" placeholder="经纪人姓名" type="text" value="">
<ul class="user-ul-agent-add"></ul>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" id="close">关闭
</button>
<button type="button" class="btn btn-primary" id="add_professional">
提交
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
<!-- 编辑职称 人员 -->
<div class="modal fade" id="modal_edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-body-width-w">
<div class="modal-content modal-body-width-h">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title">
修改职称
</h4>
</div>
<div class="modal-body" style="height: 250px;">
<form class="form-horizontal" id="">
<div class="form-group">
<br />
<br />
<br />
<label class="col-sm-3 control-label">职称:</label>
<select id="professional_id_edit" class="form-control btn6">
<option value="-1">选择职称</option>
<option value="1">店长</option>
<option value="2">经理</option>
<option value="3">主任</option>
<option value="4">顾问</option>
<option value="0">新人</option>
</select>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" id="close">关闭
</button>
<button type="button" class="btn btn-primary" id="edit_professional">
提交
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
<!--加载图标-->
<div id="main_loading_pic">
<img src="/resource/image/jz2.gif">
</div>
......@@ -289,6 +289,18 @@
font-size: 20px;
font-weight: 700;
}
/*加载图标*/
#main_loading_pic {
position: fixed;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
margin-left: 50px;
margin-top: -100px;
overflow: hidden;
display: none;
}
</style>
<div id="page-content-wrapper">
<div class="container">
......@@ -692,4 +704,7 @@
</div>
<div id="close_btn"><img src="/app/images/ic_cha.png" /></div>
</div>
<!--加载图标-->
<div id="main_loading_pic">
<img src="/resource/image/jz2.gif">
</div>
......@@ -24,14 +24,8 @@
.money_total_two {
font-weight: bold;
font-size: 15px;
}
#search {
float: left;
}
#reset {
float: left;
line-height: 34px;
display: inline-block;
}
.img-pre-ul {
......@@ -284,11 +278,14 @@
</div>
<!--<span class=" btn btn-info btn3 ld-Marheight" style="visibility: hidden;">搜索</span>-->
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
<span class="money_total_two fore-span ld-Marheight ">收款总额:</span><span id="money_total" class="money_total_two fore-span ld-Marheight"></span>
<!--<span class="money_total_two fore-span ld-Marheight ">实付总额:</span><span id="money_total" class="money_total_two_shifu fore-span ld-Marheight">1268</span>元-->
<span class="btn btn-info btn3 ld-Marheight" id="export">导出报表</span>
<div class="text-right">
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
<span class="money_total_two ld-Marheight ">收款总额:</span><span id="money_total" class="money_total_two fore-span ld-Marheight"></span>
<!--<span class="money_total_two fore-span ld-Marheight ">实付总额:</span><span id="money_total" class="money_total_two_shifu fore-span ld-Marheight">1268</span>元-->
<span class="btn btn-info btn3 ld-Marheight" id="export">导出报表</span>
</div>
</form>
</form>
</td>
......
......@@ -57,7 +57,7 @@
font-size: 16px;
font-weight: 600;
float: left;
margin-left: 32px;
margin-left: 12px;
}
#maintable_form_search>span.total-commission{
margin-top: 16px;
......@@ -130,15 +130,17 @@
<ul class="user-ul"></ul>
</div>
<input class="form-control btn2" data-rule-phoneus="false" data-rule-required="false" id="bargain_id" placeholder="成交报告id" type="text" value="">
<input class="form-control btn2" data-rule-phoneus="false" data-rule-required="false" id="maintable_user_ID" placeholder="客户ID" type="text" value="">
<span class="total-commission">应收佣金总计:<span class="total-commission-should"></span></span>
<span class="total-commission">已收佣金总计:<span class="total-commission-real"></span></span>
<span class="total-commission">未收佣金总计:<span class="total-commission-no"></span></span>
<span class="total-commission">未收佣金总计:<span class="total-commission-no">0</span></span>
<div class="clear">
</div>
<span class="btn btn-info btn3 search" id="maintable_search">搜索</span>
<span class="btn btn-info btn3" id="maintable_reset">重置</span>
<span class="btn btn-info btn3" id="export">导出报表</span>
<div class="text-right">
<span class="btn btn-info btn3 search" id="maintable_search">搜索</span>
<span class="btn btn-info btn3" id="maintable_reset">重置</span>
<span class="btn btn-info btn3" id="export">导出报表</span>
</div>
</form>
</td>
</tr>
......
......@@ -93,7 +93,7 @@
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr>
<td colspan="10">
<td colspan="12">
<form id="form_search">
<span class="fore-span ld-Marheight">收佣日期:</span>
<input class="form-control btn4 ld-Marheight" value="" data-rule-phoneus="false" data-rule-required="false" id="create_time" name="start_date" type="date">
......@@ -128,7 +128,9 @@
<th class="text-center">所属门店</th>
<th class="text-center">业务员</th>
<th class="text-center">商铺地址</th>
<th class="text-center">分佣角色</th>
<th class="text-center">商铺号</th>
<th class="text-center">分佣比例</th>
<th class="text-center">应分佣金(元)</th>
<th class="text-center">实收佣金(元)</th>
<th class="text-center">操作</th>
......
......@@ -71,8 +71,11 @@
<input class="form-control btn4 ld-Marheight" value="" data-rule-phoneus="false" data-rule-required="false" id="end_time" name="end_date" type="date">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="internal_address" placeholder="商铺地址" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="user_phone" placeholder="客户电话" type="text" value="">
<span class="btn btn-info btn3" id="search">搜索</span>
<span class="btn btn-info btn3" id="reset">重置</span>
<div class="text-right">
<span class="btn btn-info btn3" id="search">搜索</span>
<span class="btn btn-info btn3" id="reset">重置</span>
</div>
</form>
</td>
</tr>
......
......@@ -60,8 +60,11 @@
<div class="clear">
</div>
<span class="btn btn-info btn3 search" id="maintable_search">搜索</span>
<span class="btn btn-info btn3" id="maintable_reset">重置</span>
<div class="text-right">
<span class="btn btn-info btn3 search" id="maintable_search">搜索</span>
<span class="btn btn-info btn3" id="maintable_reset">重置</span>
</div>
<!--<span class="btn btn-info btn3" id="maintable_export">导出excel</span>-->
</form>
</td>
......
......@@ -7,6 +7,9 @@
.p-t-10{
margin-top:10px;
}
#xiangqing_pic_btn{
margin-right: 141px;
}
</style>
<!--默认#page-content-wrapper是隐藏的-->
<div id="page-content-wrapper" style="display: none;">
......@@ -519,6 +522,12 @@
<input readonly="readonly" type="text" name="xiangqing_pic_input" class="form-control" style="display: none" id="xiangqing_pic_input" placeholder="请选择图片">
<button class="btn btn-default upload-image-btn" id="xiangqing_pic_btn" type="button" data-limittop="20">选择图片</button>
<span class="tip"></span>
<label for="isShowShopDetail">是否对客户展示对内详情图</label>
<select class="form-control" name="isShowShopDetail" id="isShowShopDetail" data-alert="请选择是否对客户展示对内详情图">
<option value="-1">请选择</option>
<option value="1"></option>
<option value="0"></option>
</select>
</div>
<ul class="img-pre-ul" id="xiangqing_pic_ul"></ul>
</li>
......
{layout name="global/frame_tpl" /}
<input type="hidden" class="page-load" id="houseList" />
<style>
.clear{
clear: both;
}
.modal.fade.in.yz{
opacity: 0;
}
......@@ -187,7 +190,7 @@
margin: 0 20px;
}
.modal-dialog-tuiguang{
width: 966px;
width: 1080px;
}
</style>
<div id="page-content-wrapper">
......@@ -231,27 +234,30 @@
<option value="1" selected="selected">上架</option>
<option value="2">下架</option>
</select>
<select class="form-control btn2" id="rent_price">
<option value="-1">月租金</option>
<option value="1">10000以下</option>
<option value="2" >10000-30000</option>
<option value="3">30000以上</option>
</select>
<select class="form-control btn2 " id="area_id">
<option value="" selected="selected">面积筛选</option>
</select>
<select class="form-control btn2 " id="yetai_id">
<option value="" selected="selected">业态筛选</option>
</select>
<input class="form-control btn2 " data-rule-phoneus="false" data-rule-required="false" id="id" placeholder="商铺编号" type="text" value="">
<input class="form-control btn2 " data-rule-phoneus="false" data-rule-required="false" id="internal_title" placeholder="对内商铺名称" type="text" value="">
<input class="form-control btn2 " data-rule-phoneus="false" data-rule-required="false" id="landlord_phone" placeholder="房东手机号" type="tel" value="">
<div class="clear">
</div>
<span class="fore-span">面积m²:</span>
<input class="form-control btn2" value="" data-rule-phoneus="false" data-rule-required="false" id="area_start" name="" type="text" placeholder="请输入">
<span class="fore-span">-</span>
<input class="form-control btn2" value="" data-rule-phoneus="false" data-rule-required="false" id="area_end" name="" type="text" placeholder="请输入">
<!--<div class="clear"></div>-->
<span class="fore-span">月租金(元/月):</span>
<input class="form-control btn2" value="" data-rule-phoneus="false" data-rule-required="false" id="price_start" name="" type="text" placeholder="请输入">
<span class="fore-span">-</span>
<input class="form-control btn2" value="" data-rule-phoneus="false" data-rule-required="false" id="price_end" name="" type="text" placeholder="请输入">
</div>
<div class="main-select col-xs-12" style="padding:0px;">
<select class="form-control btn11 ld-Marheight" id="is_carefully_chosen">
<option value="-1"">是否显示在首页</option>
<option value="1"></option>
<option value="0"></option>
<option value="0"></option>
<option value="1"></option>
</select>
<select class="form-control btn11 ld-Marheight" id="is_show">
<option value="-1">是否给商户看</option>
......@@ -268,11 +274,6 @@
<!--新加筛选-->
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="internal_title_open" placeholder="对外商铺名称" type="text" value="">
<!--<select class="form-control btn2 ld-Marheight" id="shop_city_id">
<option value="" selected="selected">城市筛选</option>
<option value="310100">上海市</option>
<option value="330100">杭州市</option>
</select>-->
<!--新增盘方部门 盘方门店 -->
<!--二级联动-->
<select class="form-control btn4 ld-Marheight input" name="" id="district_id_panfang" >
......
......@@ -23,14 +23,6 @@
font-size: 15px;
}
#search {
float: left;
}
#reset {
float: left;
}
#district_id {
width: 16%!important;
}
......@@ -74,8 +66,10 @@
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="house_title" placeholder="商铺名称" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="report_agent_phone" placeholder="客户手机号" type="text" value="">
<div class="clear"></div>
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
<div class="text-right">
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
</div>
</form>
</td>
</tr>
......
......@@ -24,9 +24,14 @@
#search{
float: left;
}
#reset{
#reset{
float: left;
}
.J_preview {
width: 30px;
height: 30px;
/*border-radius: 15px;*/
}
</style>
<div id="page-content-wrapper">
<div class="container">
......@@ -66,7 +71,7 @@
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="report_agent_phone" placeholder="报备人手机号" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="house_title" placeholder="商铺名" type="text" value="">
<select class="form-control btn2 ld-Marheight" id="shop_type">
<option value="">商铺类型</option>
<option value="-1">商铺类型</option>
<option value="0">商场</option>
<option value="1">街铺</option>
</select>
......@@ -81,7 +86,8 @@
<th class="text-center">客户电话</th>
<th class="text-center">进场时间</th>
<th class="text-center">报备人</th>
<th class="text-center">商铺</th>
<th class="text-center">商铺地址与进场地址的距离</th>
<th class="text-center">进场图片</th>
<th class="text-center">操作</th>
</tr>
</thead>
......@@ -99,6 +105,7 @@
</div>
</div>
</div>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=RTimRTxtj23AYTCkSsPvNDuQkGpR2fPX"></script>
<!--时间轴-->
<!--时间轴-->
<div class="modal fade" id="modal-time" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
......@@ -119,6 +126,25 @@
</div><!-- /.modal -->
</div>
<!--主要列表模板-->
<script id="marchin_list_tpl" type="text/template">
<tr class="text-center">
<td>{0}</td>
<td>{1}</td>
<td>{2}</td>
<td>{3}</td>
<td>{4}</td>
<td>
<img src='{5}' class="diagram-image J_preview"
data-bimg='{5}'>
</td>
<td>{6}</td>
</tr>
</script>
<script id="marchin_list_tpl2" type="text/template">
<a class="btn1 btn-success timeline" href="#modal-time" data-toggle="modal" data-id='{0}'>时间轴</a>
</script>
......
{layout name="global/frame_tpl" /}
<input type="hidden" class="page-load" id="pkList" />
<style>
.pk-container-detail{
background-color: #fff;
margin-left: 8px;
width: 80%;
height: 820px;
border-radius:3px ;
box-sizing: border-box;
padding: 8px;
position: relative;
}
.results-pk{
display: inline-block;
height: 32px;
padding: 6px 12px;
font-size: 14px;
line-height: 32px;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 3px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
transition: border-color ease-in-out .15s,
}
.margain-right-10{
margin-right: 10px;
}
.pk-yeji-bang{
font-size: 18px;
color: #1C1C1C;
font-weight: 600;
}
.pk-yeji-time{
font-size: 14px ;
color: #999999;
}
.img-gold{
position: absolute;
top: 0;
right: 6px;
}
.pk-container-detail-team{
margin-top: 10px;
}
.pk-container-detail-team .team-span{
width: 70px;
height: 30px;
font-size: 11px;
color: #FF9318;
line-height: 30px;
background-color: rgba(255, 147, 24,.1);
display: inline-block;
margin-right: 15px;
text-align: center;
cursor: pointer;
}
.pk-container-detail-team .team-span-active{
width: 70px;
height: 30px;
font-size: 11px;
line-height: 30px;
display: inline-block;
margin-right: 15px;
text-align: center;
color: #FFF;
background-color: #FF9318;
cursor: pointer;
}
.pk-container-detail-team .export-pk{
width: 80px;
height: 30px;
font-size: 11px;
line-height: 30px;
display: inline-block;
text-align: center;
margin-left: 60px;
background-color: #4F66C3;
color: #fff;
cursor: pointer;
}
.pk-container-detail-a{
margin: 10px 0;
}
.pk-container-detail-a .a-span{
width: 30px;
height: 30px;
font-size: 11px;
color: #FF9318;
line-height: 30px;
background-color: rgba(255, 147, 24,.1);
display: inline-block;
margin-right: 10px;
text-align: center;
cursor: pointer;
}
.pk-container-detail-a .a-span-active{
width: 30px;
height: 30px;
font-size: 11px;
color: #fff;
line-height: 30px;
background-color: rgba(255, 147, 24);
display: inline-block;
margin-right: 10px;
text-align: center;
cursor: pointer;
}
#pk_list tr:nth-child(even) {
background: #FFF;
}
#pk_list tr:nth-child(odd) {
background: #F8F8F8;
}
#pk_list td,#pk_list th{
padding: 3px;
}
/*加载图标*/
#main_loading_pic {
position: fixed;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
margin-left: -50px;
margin-top: -100px;
overflow: hidden;
display: none;
}
</style>
<div id="page-content-wrapper">
<div class="container pk-container">
<div class="pk-container-detail">
<div class="pk-container-detail-header">
<span class="margain-right-10 pk-yeji-bang">业绩PK榜</span>
<span class="margain-right-10 pk-yeji-time">(<span id='start_date'></span>-<span id='end_date'></span>)</span>
<!--<select class="results-pk">
</select>-->
<img src="/resource/image/gold@1x.png" class="img-gold"/>
</div>
<div class="pk-container-detail-con">
<div class="pk-container-detail-team">
<!--<span class="team-span team-span-pk">团队PK榜</span>-->
<span class="team-span-active team-span-pk">店长PK榜</span>
<span class="team-span team-span-pk">经理PK榜</span>
<span class="team-span team-span-pk">主任PK榜</span>
<span class="team-span team-span-pk">顾问PK榜</span>
<span class="team-span team-span-pk">新人PK榜</span>
<span class="export-pk">导出报表</span>
</div>
<div class="pk-container-detail-a">
<span class="a-span-active ld-Marheight" data-id='1'>A</span>
<span class="a-span ld-Marheight" data-id='2'>B</span>
<span class="a-span ld-Marheight" data-id='3'>C</span>
<span class="a-span ld-Marheight" data-id='4'>D</span>
<span class="a-span ld-Marheight" data-id='5'>E</span>
<span class="a-span ld-Marheight" data-id='6'>F</span>
<span class="a-span ld-Marheight" data-id='7'>G</span>
<span class="a-span ld-Marheight" data-id='8'>H</span>
<span class="a-span ld-Marheight" data-id='9'>I</span>
<span class="a-span ld-Marheight" data-id='10'>J</span>
<span class="a-span ld-Marheight" data-id='11'>K</span>
<span class="a-span ld-Marheight" data-id='12'>L</span>
<span class="a-span ld-Marheight" data-id='13'>M</span>
<span class="a-span ld-Marheight" data-id='14'>N</span>
<span class="a-span ld-Marheight" data-id='15'>O</span>
<span class="a-span ld-Marheight" data-id='16'>P</span>
<span class="a-span ld-Marheight" data-id='17'>Q</span>
<span class="a-span ld-Marheight" data-id='18'>R</span>
<span class="a-span ld-Marheight" data-id='19'>S</span>
<span class="a-span ld-Marheight" data-id='20'>T</span>
<span class="a-span ld-Marheight" data-id='21'>U</span>
<span class="a-span ld-Marheight" data-id='22'>V</span>
<span class="a-span ld-Marheight" data-id='23'>W</span>
<span class="a-span ld-Marheight" data-id='24'>X</span>
<span class="a-span ld-Marheight" data-id='25'>Y</span>
<span class="a-span ld-Marheight" data-id='26'>Z</span>
<span class="a-span ld-Marheight" data-id='27'>A1</span>
<span class="a-span ld-Marheight" data-id='28'>B1</span>
<span class="a-span ld-Marheight" data-id='29'>C1</span>
<span class="a-span ld-Marheight" data-id='30'>D1</span>
<span class="a-span ld-Marheight" data-id='31'>E1</span>
<span class="a-span ld-Marheight" data-id='32'>F1</span>
<span class="a-span ld-Marheight" data-id='33'>G1</span>
<span class="a-span ld-Marheight" data-id='34'>H1</span>
<span class="a-span ld-Marheight" data-id='35'>I1</span>
<span class="a-span ld-Marheight" data-id='36'>J1</span>
<span class="a-span ld-Marheight" data-id='37'>K1</span>
<span class="a-span ld-Marheight" data-id='38'>L1</span>
<span class="a-span ld-Marheight" data-id='39'>M1</span>
<span class="a-span ld-Marheight" data-id='40'>N1</span>
<span class="a-span ld-Marheight" data-id='41'>O1</span>
<span class="a-span ld-Marheight" data-id='42'>P1</span>
<span class="a-span ld-Marheight" data-id='43'>Q1</span>
</div>
<div class="pk_list_content">
<table id="pk_list" class="table">
</table>
</div>
</div>
</div>
</div>
</div>
<!--加载图标-->
<div id="main_loading_pic">
<img src="/resource/image/jz2.gif">
</div>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>同联商业</title>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link rel="stylesheet" href="/app/css/common.css">
<link rel="stylesheet" href="/app/css/details.css">
<link rel="stylesheet" href="/app/css/lunbo.css">
<link rel="stylesheet" href="/app/css/details_tl.css">
<link>
</head>
<body style="background: #FFFFFF">
<input type="hidden" id="open_id" value={$data} />
<header class="m_part1_w">
<div class="u_btn1b" onclick="window.history.go(-1)" style="margin-top:0.1rem"><span style=""><i class="icon-angle-left" style="font-size:0.65rem"></i></span></div>
<div class="lp-bunner">
<ul class="swiper-wrapper" id="img_item_ul">
</ul>
<span class="lp-bunner-page"> <span class="lp-index"> 1 </span> / <span class="lp-sum"> 50 </span> </span>
</div>
</header>
<!--line 1-->
<div class="line_a">
</div>
<p class="b3_spanhao_font" id="font_24">
<span class="b3_spanhao_left">
编号:
<span class="b3_spanhao"></span>
</span>
</p>
<p class="line_hr"></p>
<!--line 2-->
<div class="line_b">
<ul>
<li class="ul_b1">
<span class="b1_span_ pu_area_type">商铺面积</span>
<span class="b1_span_totl pu_area"></span>
</li>
<li class="ul_b2">
<span class="b1_span_ pu_price_type">租金</span>
<span class="b1_span_totl pu_price"></span>
</li>
<li class="ul_b3">
<span class="b1_span_ slotting_fee_type">转让费</span>
<span class="b1_span_totl slotting_fee"></span>
</li>
</ul>
</div>
<p class="line_hr"></p>
<div class="line_a_ul">
<ul class="line_a_ulul">
</ul>
</div>
<!--line 3-->
<p class="b3_font1 b3_span_shop_num">
<span>剩余铺数:</span>
<span class="b3_span_build_num gw"></span>
</p>
<p class="b3_font1 b3_span_shop_mianji">
<span class="b3_span_build_type">建筑面积:</span>
<span class="b3_span_build gw"></span>
</p>
<p class="b3_font1">
物业管理费:
<span class="b3_span0 gw"></span>
</p>
<!--付款方式 签约年限-->
<p class="b3_font1">
付款方式:
<span class="gw terms-payment">付三押二</span>
</p>
<p class="b3_font1">
签约年限:
<span class="gw signing-year">3-5年</span>
</p>
<p class="b3_font2">
适合经营:
<span class="b3_span2 gw"></span>
</p>
<p class="line_hr"></p>
<!--line 6-->
<div class="b4_font">
<p class="b4_font_p">
位置信息
</p>
<p class="b4_font2">
地址:<span class="b4_span1 gw duinei"></span>
</p>
<p class="b4_font2">
交通:<span class="b4_span1 gw jiaotong"></span>
</p>
</div>
<p class="line_hr"></p>
<div class="b4_font" id="b4_font">
<p class="b4_font_p">
详细信息
</p>
<p class="b4_font2">
商铺类型:
<span class="b3_span gw"></span>
</p>
<p class="b4_font2">
交付装修:
<span class="b4_span1 gw decoration-details"></span>
</p>
<p class="b4_font2">
目前证照经营范围:
<span class="b4_span1 gw business-scope-details"></span>
</p>
<p class="b4_font2">
<span class="has-housed">已入驻:</span>
<span class="b3_span3 gw"></span>
</p>
<p class="b4_font2">
营业时间:
<span class="b4_span1 gw yingye-time"></span>
</p>
<p class="b4_font2 zhaoshang-time-p">
招商时间:
<span class="b4_span1 gw zhaoshang-time"></span>
</p>
<p class="kaiye-time-p b4_font2">
开业时间:
<span class="b4_span1 gw kaiye-time"></span>
</p>
<p class="b4_font2">
面宽:
<span class="b4_span1 gw area-width-details"></span>
</p>
<p class="b4_font2">
进深:
<span class="b4_span1 gw depth-details"></span>
</p>
</div>
<p class="line_hr"></p>
<!--line 4-->
<div class="b4_font">
<p class="b4_font_p">
经纪人对本铺评价
</p>
<p class="b4_font_p_evaluation_first b4_font2">
周边配套:<span class="b4_font_evaluation surrounding-complete">附近有沃尔玛超市、世纪联华超市、眼镜百货店等商场,杨泰公寓、杨泰二村等小区。</span>
</p>
<p class="b4_font_p_evaluation b4_font2">
所处地段:<span class="b4_font_evaluation in-section">店铺位于商圈中心,地段繁华,交通便利。商铺在商场一楼,便于顾客进店。</span>
</p>
<p class="b4_font_p_evaluation b4_font2">
附近人流:<span class="b4_font_evaluation near-stream">店铺周围客流量大,人群消费意愿强。</span>
</p>
<p class="b4_font_p_evaluation b4_font2">
其他补充:<span class="b4_font_evaluation other-supplementary">有证照,省去开店前置手续。有380V动力电,满足设备用电需要。</span>
</p>
</div>
<p class="line_hr"></p>
<!--设施配套-->
<div class="b4_font">
<p class="b4_font_p">
配套设施
</p>
<ul class="b4_font2 supporting-facilities">
<li><span class="icon-bg-facilities"><img src="/app/images/icon_200w@2x.png" class="supporting-facilities-img"/></span><span class="electric-quantity-details">200W</span></li>
<li><span class="icon-bg-facilities"><img src="/app/images/icon380v@2x.png" class="supporting-facilities-img"/></span><span class="voltage-details">380V</span></li>
<li class="meiqi-details-li"><span class="icon-bg-facilities"><img src="/app/images/icon_gas@2x.png" class="supporting-facilities-img"/></span><span class="meiqi">燃气</span></li>
<li class="exhaust-fume-details-li"><span class="icon-bg-facilities"><img src="/app/images/icon_piping@2x.png" class="supporting-facilities-img"/></span><span class="exhaust-fume-details">烟管道</span></li>
<li class="running-water-details-li"><span class="icon-bg-facilities"><img src="/app/images/icon_upper@2x.png" class="supporting-facilities-img"/></span><span class="running-water-details">上水</span></li>
<li class="downriver-details-li"><span class="icon-bg-facilities"><img src="/app/images/icon_sewer@2x.png" class="supporting-facilities-img"/></span><span class="downriver-details">下水</span></li>
</ul>
</div>
<div style="height: 2rem;">
</div>
<!--line 5-->
<!--<div class="b4_font">
<p class="b4_font_p" id="planter">
楼盘平面
</p>
</div>
<div class="slider3">
</div>-->
<!--房源动态-->
<!--<p class="line_hr"></p>
<div class="b4_font">
<p class="b4_font_p">
房源动态
</p>
</div>
<div class="line_b">
<ul>
<li class="ul_b1">
<span class="b1_span ">
近7日带看(次)
</span>
<span class="b1_span_totl_ take_look_7">
</span>
</li>
<li class="ul_b2">
<span class="b1_span ">
近30日带看(次)
</span>
<span class="b1_span_totl_ take_look_30">
</span>
</li>
<li class="ul_b3">
<span class="b1_span ">
关注房源(人)
</span>
<span class="b1_span_totl_ take_look_focus">
</span>
</li>
</ul>
</div>
<p class="line_hr"></p>-->
<!--下载app部分-->
<div class="public fix_area_top" style=" z-index: 9999999;top: 0;display: none;">
<img src="/app/images/pbl_cha.png" class="pbl_cha" />
<img src="/app/images/img_logo@2x.png" class="pbl_logo" />
<p>
<span style="font-size: 0.24rem;margin-top: 0.33rem;">海量真实旺铺,就在同联商业 </span>
<!--<span style="font-size: 0.22rem; margin-top: 0.06rem;">请下载同联商业APP</span>-->
</p>
<a id="jump_link" href="javascript:;">
<!--<img src="/app/images/img_btn@2x.png" class="pbl_xz">-->
<span class="pbl_xz">立即打开</span>
</a>
</div>
<!--底部联系人浮窗部分-->
<div class="fix_area_bottom_new">
<div>
<div>
<p>
<img src="" onerror="javascript:this.src='/app/images/ic_default_headpic.png'" class="head-img-agent"/>
<span class="head-agent">&nbsp;经纪人:<span id="fix_name"></span></span>
</p>
</div>
<div>
<p>
<a id="fix_tel" href="javascript:;">
<img src="/app/images/icon_telephone@2x.png" class="tel-agent"/><br/>
<span>拨打电话</span>
</a>
</p>
</div>
</div>
<a href="javascript:;" id="fix_area_bottom_btn"><img src="/app/images/xq_cha@2x.png" /></a>
</div>
<div class="shop-list">
<img src="/app/images/img_more@2x.png" alt="" />
</div>
<!--<script src="/app/js/jquery.js"></script>-->
<script src="/app/js/jquery-1122-min.js" charset="UTF-8"></script>
<script src="/app/js/swiper.js"></script>
<script src="/app/js/common.js" charset="utf-8"></script>
<script src="/app/js/app_jump.js"></script>
<script src="/app/js/detaila_tl.js?new1"></script>
<script src="/app/js/jquery.cookie.js"></script>
<script src="/app/js/Tab_min.js" charset="utf-8"></script>
</body>
</html>
\ No newline at end of file
......@@ -2,11 +2,9 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<title>11</title>
</head>
<body>
123123123
</body>
</html>
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>同联商业</title>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link>
</head>
<body>
<div style="width:100%;height:100%">
<image style="width:100%;height:80%;position:fixed;top:5%;left:0px;z-index:10000;" src="/app/images/android@2x.png"/>
</div>
<script src="/app/js/jquery-1122-min.js" charset="UTF-8"></script>
<script>
$(document).ready(function(){
console.log("yindao")
var params = "?" + window.location.href.split('?')[1];
if ( navigator.userAgent.toLowerCase().match(/MicroMessenger/i)!='micromessenger' ) {
location.href = "shareShop" + params ;
} else {
console.log("wechart net");
}
})
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>同联商业</title>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link>
</head>
<body>
<div style="width:100%;height:100%">
<image style="width:100%;height:80%;position:fixed;top:5%;left:0px;z-index:10000;" src="/app/images/ios@2x.png"/>
</div>
<script src="/app/js/jquery-1122-min.js" charset="UTF-8"></script>
<script>
$(document).ready(function(){
console.log("yindao")
var params = "?" + window.location.href.split('?')[1]
if ( navigator.userAgent.toLowerCase().match(/MicroMessenger/i)!='micromessenger' ) {
console.log(window.location);
location.href = "shareShop" + params;
} else {
console.log("wechart net")
}
})
</script>
</body>
</html>
......@@ -21,12 +21,6 @@
font-size: 15px;
}
#search{
float: left;
}
#reset{
float: left;
}
.clear{
clear: both;
}
......@@ -57,8 +51,10 @@
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="looker_name" placeholder="查看人姓名" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="looker_phone" placeholder="查看人手机号" type="text" value="">
<div class="clear"></div>
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
<div class="text-right">
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="reset">重置</span>
</div>
</form>
</td>
</tr>
......
......@@ -36,8 +36,11 @@
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="house_id" placeholder="商铺编号" type="text" value="">
<!--增加商铺编号 搜索-->
<div class="clear"></div>
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="form_search_reset">重置</span>
<div class="text-right">
<span class="btn btn-info btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-info btn3 ld-Marheight" id="form_search_reset">重置</span>
</div>
</form>
</td>
</tr>
......
......@@ -409,6 +409,48 @@ class AAgents extends BaseModel
->select();
}
/**
* @param string $field
* @param $params
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getAgentsListByPK( $field = "id",$params)
{
$data = Db::table($this->table)
->field($field)
->alias("a")
->join("t_agent_total b","a.id=b.agent_id","left")
->join("a_store c","a.store_id=c.id","left")
->where($params)
->group("b.agent_id")
->order("performance desc")
->select();
//echo $this->getLastSql();
return $data;
}
public function getAgentListByPk1($siteId,$position,$startTime,$endTime,$ids){
$str_ids = " ";
if($ids){
$str_ids = " and a.id in ($ids)";
}
$sql = "select aa.id,aa.store_name,aa.name,aa.phone,aa.performance from
(select a.id,c.store_name,a.name,a.phone,0 as performance from a_agents a
left join a_store c on a.store_id=c.id
where a.position=$position and a.site_id=$siteId and a.status in (0,3) $str_ids )
as aa left join
(select a.id,c.store_name,a.name,a.phone,0 as performance from a_agents a
left join t_agent_total b on a.id=b.agent_id left join a_store c on a.store_id=c.id
where b.total_time BETWEEN '$startTime' and '$endTime'and a.status in (0,3) $str_ids GROUP BY b.agent_id )
as bb on aa.id = bb.id where bb.id is null" ;
$data = Db::table($this->table)->query($sql);
//echo $this->getLastSql();
return $data;
}
/**
* 获取经纪人列表--排掉店子和总监
*
......@@ -1400,7 +1442,13 @@ class AAgents extends BaseModel
$save_data['site_id'] = $params['site_id'];
}
//职称 1店长 2经理 3主任 4顾问 0新人
if (!empty($params['position'])) {
$save_data['position'] = $params['position'];
}
if (empty($params['id'])) {
$save_data['position'] = 5;
$save_data['create_time'] = date('Y-m-d H:i:s', time());
$save_data['auth_group_id'] = 5;
$id = $this->insertGetId($save_data);
......@@ -1448,4 +1496,43 @@ class AAgents extends BaseModel
->select();
}
/**
* 消息页面--通讯录
* @param $field
* @param $params
* @param $page_size
* @param $page_no
* @return false|\PDOStatement|string|\think\Collection
*/
public function getPhoneBookList($field, $params,$page_size,$page_no)
{
$params["Agents.status"] = 0;
$result = $this
->field($field)
->alias("Agents")
->where($params)
->limit($page_size)
->page($page_no)
->select();
//echo $this->getLastSql();
return $result;
}
/**
* 消息页面--通讯录
* @param $params
* @return int|string
*/
public function getPhoneBookListTotal($params)
{
$params["Agents.status"] = 0;
$result = $this->alias("Agents")->where($params)->count();
//echo $this->getLastSql();
return $result;
}
}
\ No newline at end of file
......@@ -80,7 +80,9 @@ class ABindingDevice extends BaseModel
if (isset($params["is_pc"])) {
$where_["is_pc"] = $params["is_pc"];
}
if (isset($params["push_id"])) {
$where_["push_id"] = $params["push_id"];
}
try {
$data = $this
->field($field)
......
......@@ -107,14 +107,50 @@ class AliYunSecretReport extends BaseModel
}
/**
* 返回user_id
*
* @return array
* @param $pageNo
* @param $pageSize
* @param String $field
* @param array $where
* @param String $group
* @return false|int|\PDOStatement|string|\think\Collection
*/
public function getListGroupAll($pageNo, $pageSize, String $field, Array $where, String $group) {
try {
$data = $this->field($field)
->where($where)
->group($group)
->limit($pageSize)
->page($pageNo)
->select();
} catch (\Exception $e) {
$data = 0;
}
return $data;
}
/**
* @param array $where
* @param String $group
* @return int|string
*/
public function getCallUserId() {
return $this->where('create_time', 'between', ['2018-08-28', '2018-08-31'])
->where('users_id','NOT NULL')
->group('users_id')
->column('users_id');
public function getListGroupCount(Array $where, String $group) {
try {
$data = $this->where($where)
->group($group)
->count();
} catch (\Exception $e) {
$data = 0;
}
return $data;
}
public function getListAll($field, $where) {
return $this->field($field)
->where($where)
->select();
}
public function insertDataAll($data) {
$this->allowField(true)->saveAll($data);
}
}
\ No newline at end of file
......@@ -82,33 +82,70 @@ class ChatMsg extends Model
return $data;
}
/** 批量更新已看记录
* @param array $where_arr
* @param array $update_arr
* @return bool
*/
public function updateIsRead(array $where_arr,array $update_arr){
$where_ = $where_or = [];
if (isset($where_arr["from"])) {
$where_["from_id"] = $where_arr["from"];
}
if (isset($where_arr["target"])) {
$where_["to_id"] = $where_arr["target"];
}
$where_["is_read"] = 0;
if(empty($where_) ){
return false;
}
try {
$this->db->where($where_)
/* ->whereOr(function ($query) use ($where_or) {
$query->where($where_or);
})*/
->update($update_arr);
return true;
} catch (\Exception $e) {
return false;
}
}
/**
* @param $params
* @param $field
* @return mixed
*/
public function getTotalUnread($params, $field)
{
if (isset($params["to_id"])) {
$where_["a.to_id"] = $params["to_id"];
//$where_or["a.to_id"] = $params["from"];
}
if (isset($params["from_id"])) {
$where_["a.from_id"] = $params["from_id"];
//$where_or["a.from_id"] = $params["target"];
}
if (isset($params["id"])) {
$where_["a.id"] = $params["id"];
// $where_or["a.id"] = $params["id"];
}
$where_["a.is_del"] = 0;
$data = $this->db->field($field)
$data = $this->db
->field($field)
->alias("a")
->join('chat_msg_ext b', 'a.id = b.msg_id', 'LEFT')
->where($where_)
/* ->whereOr(function ($query) use ($where_or) {
$query->where($where_or);
})*/
->order("a.created_at desc")
->count();
return $data;
}
public function getTotalByToId($params){
$data = $this->db
->where($params)
->count();
return $data;
}
}
\ No newline at end of file
......@@ -34,8 +34,6 @@ class ChatUserExt extends BaseModel
$where_ = [];
if (isset($params['is_forbidden'])) {
$where_['is_forbidden'] = $params['is_forbidden'];
} else {
$where_['is_forbidden'] = 0;
}
if (isset($params['ext_id'])) {
......@@ -75,6 +73,22 @@ class ChatUserExt extends BaseModel
$where_['b.type'] = $params['type'];
}
if (isset($params['user_id'])) {
$where_['b.user_id'] = $params['user_id'];
}
if (isset($params['push_id'])) {
$where_['a.push_id'] = $params['push_id'];
}
if (isset($params['device_id'])) {
$where_['a.device_id'] = $params['device_id'];
}
if (isset($params['is_forbidden'])) {
$where_['a.is_forbidden'] = $params['is_forbidden'];
}
$data = $this->db->field($field)
->alias("a")
->join("chat_user b", "a.ext_id = b.id", "right")
......@@ -146,4 +160,21 @@ class ChatUserExt extends BaseModel
return $array;
}
/**
* 编辑
*
* @param array $params
* @param $where
* @return int
* @throws \Exception
*/
public function updateDate(array $params, $where): int
{
try {
$num = $this->db->where($where)->update($params);
} catch (\Exception $exception) {
$num = 0;
}
return $num;
}
}
\ No newline at end of file
......@@ -741,6 +741,11 @@ class GHouses extends BaseModel
$save_data['external_address'] .= substr($save_data['internal_address'], 0, strpos($save_data['internal_address'], '街')) . '街';
}
//是否显示真实图片
if (isset($data['is_show_image'])) {
$save_data['is_show_image'] = $data['is_show_image'];
}
if (empty($data['id'])) {
$save_data['upload_id'] = $agent_id; //上传人
$save_data['create_time'] = date('Y-m-d H:i:s');
......
......@@ -216,6 +216,16 @@ class MPushMessage
return $result;
}
/**
* @param string $field
* @param array $params
* @param int $page_no
* @param int $page_size
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getListByWhere(string $field, array $params,int $page_no = 1,int $page_size = 15)
{
return $this->db_
......@@ -226,4 +236,35 @@ class MPushMessage
->limit($page_size)
->select();
}
/**
* 获取未读个数
* @param array $params
* @return int|string
*/
public function getListCountByWhere(array $params)
{
return $this->db_
->where($params)
->count();
}
/** 批量更新已看记录
* @param array $where_arr
* @param array $update_arr
* @return array
*/
public function updateIsRead(array $where_arr,array $update_arr){
$result= [];
try {
$this->db_->where($where_arr)
->update($update_arr);
$result['code'] = true;
} catch (\Exception $e) {
$result['code'] = false;
$result['msg'] = $e->getMessage();
}
return $result;
}
}
\ No newline at end of file
<?php
namespace app\model;
use think\Db;
use think\Model;
/**
* Created by PhpStorm.
* User : zw
* Date : 2018/3/15
* Time : 下午2:00
* Intro:
*/
class TAgentTotalCallModel extends BaseModel
{
protected $table = "t_agent_call";
private $db_;
function __construct()
{
$this->db_ = Db::name($this->table);
}
/**
* @param $params
* @return int
*/
public function addTotal($params)
{
Db::startTrans();
try {
$this->db_->insertAll($params);
Db::commit();
return 1;
} catch (\Exception $e) {
print_r($e);
Db::rollback();
return 0;
}
}
/**
* @param $params
* @return int
*/
public function saveTotal($params)
{
Db::startTrans();
try {
foreach ($params as $k=>$v) {
$this->db_->table($this->table)->update($v);
}
Db::commit();
return 1;
} catch (\Exception $e) {
print_r($e);
Db::rollback();
return 0;
}
}
/**
* 获取最后统计的时间
*
* @param $field
* @param $param
* @return array|false|\PDOStatement|string|Model
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getTotalEndTimeByAgentId($field, $param)
{
return $this->db_
->field($field)
->where($param)
->order("total_time desc")
->find();
}
/**
* @param String $field
* @param array $where
* @return array|false|int|\PDOStatement|string|Model
*/
public function getInfo(String $field,array $where) {
try {
$data = $this->db_
->field($field)
->where($where)
->find();
} catch (\Exception $e) {
$data = 0;
}
return $data;
}
}
\ No newline at end of file
......@@ -40,6 +40,7 @@ class TAgentTotalModel extends Model
return 0;
}
}
/**
* @param $params
* @return int
......@@ -48,7 +49,7 @@ class TAgentTotalModel extends Model
{
Db::startTrans();
try {
foreach ($params as $k=>$v) {
foreach ($params as $k => $v) {
$this->db_->table($this->table)->update($v);
}
// $this->saveAll($params);
......@@ -87,7 +88,7 @@ class TAgentTotalModel extends Model
* @param string $order
* @return false|\PDOStatement|string|\think\Collection
*/
public function getTotalByAgentId($field ,$params, $type ,$order = "")
public function getTotalByAgentId($field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......@@ -113,6 +114,34 @@ class TAgentTotalModel extends Model
}
public function getTotalByPk($field, $params, $type, $order = "", $limit = 5)
{
$group_ = "";
switch ($type) {
case 1:
$group_ = "a.agent_id";
break;
case 2:
$group_ = "a.store_id";
break;
default:
return null;
}
$result = $this->db_
->field($field)
->alias("a")
->join("a_agents b","a.agent_id=b.id","left")
->join("a_store c","a.store_id=c.id","left")
->where($params)
->group($group_)
->order($order)
->limit($limit)
->select();
//echo $this->db_->getLastSql();
return $result;
}
/**
* 获取分组统计数据-加入站点
* @param $field
......@@ -121,7 +150,7 @@ class TAgentTotalModel extends Model
* @param string $order
* @return false|\PDOStatement|string|\think\Collection
*/
public function getTotalByAgentIdSite($field ,$params, $type ,$order = "")
public function getTotalByAgentIdSite($field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......@@ -149,7 +178,7 @@ class TAgentTotalModel extends Model
}
public function getTotalByAgentIdPage($pageNo,$pageSize,$field ,$params, $type ,$order = "")
public function getTotalByAgentIdPage($pageNo, $pageSize, $field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......@@ -177,7 +206,7 @@ class TAgentTotalModel extends Model
}
public function getTotalByAgentIdCount($field ,$params, $type ,$order = "")
public function getTotalByAgentIdCount($field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......@@ -204,8 +233,6 @@ class TAgentTotalModel extends Model
}
/**
* 统计时间端经纪人业绩
* @param $field
......@@ -221,7 +248,6 @@ class TAgentTotalModel extends Model
}
/**
* 获取分组统计数据-pc后台业绩用
* @param $field
......@@ -230,7 +256,7 @@ class TAgentTotalModel extends Model
* @param string $order
* @return false|\PDOStatement|string|\think\Collection
*/
public function getTotalByAgentIdForPcPerformance($field ,$params, $type ,$order = "",$pageSize,$pageNo)
public function getTotalByAgentIdForPcPerformance($field, $params, $type, $order = "", $pageSize, $pageNo)
{
$group_ = "";
switch ($type) {
......@@ -260,7 +286,7 @@ class TAgentTotalModel extends Model
}
public function getTotalByAgentIdForPcPerformanceTotal($field ,$params, $type ,$order = "")
public function getTotalByAgentIdForPcPerformanceTotal($field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......@@ -287,7 +313,7 @@ class TAgentTotalModel extends Model
}
public function getTotalByAgentIdForPcPerformanceSum($field ,$params, $type ,$order = "")
public function getTotalByAgentIdForPcPerformanceSum($field, $params, $type, $order = "")
{
$group_ = "";
switch ($type) {
......
......@@ -599,18 +599,20 @@ class Users extends Model
{
$where_ = [];
if (isset($params["agent_id"])) {
$where_["agent_id"] = $params["agent_id"];
$where_["a.agent_id"] = $params["agent_id"];
}
if (isset($params["create_time"])) {
$where_["create_time"] = $params["create_time"];
$where_["a.create_time"] = $params["create_time"];
}
$result = Db::table($this->table)
->field($field)
->alias("a")
->join("a_agents b", "a.agent_id=b.id", "left")
->where($where_)
->limit($page_size)
->page($page_no)
->select();
//echo Db::table($this->table)->getLastSql();
// echo Db::table($this->table)->getLastSql();
return $result;
}
......@@ -967,5 +969,20 @@ class Users extends Model
//echo $this->getLastSql();
return $result;
}
public function getUserInfoByOpenId($param, $fields)
{
$where_ = [];
if (isset($param["wx_open_id"])) {
$where_["b.wx_open_id"] = $param["wx_open_id"];
}
$data = $this
->field($fields)
->alias("a")
->join("u_wx_info b", "a.buyer_id=b.id", "left")
->where($where_)
->select();
return $data;
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment