Commit a19d4c9b authored by clone's avatar clone

Merge branch 'test' into test-hujun1.15

parents 1779364c 1b9f4fe3
......@@ -94,6 +94,12 @@ class Member extends Basic
* @param Request $this->request
* @return type
*/
/**
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function sendSms() {
$data['data'] = array();
$data['status'] = 101;
......@@ -109,7 +115,7 @@ class Member extends Basic
->select();
$num = count($send_time); //发送数量
if ((time() - strtotime($send_time[$num-1]->send_time) < 58) && $num != 0) {
if (!empty($send_time[$num-1]) && (time() - strtotime($send_time[$num-1]->send_time) < 58) && $num != 0) {
$data['msg'] = '1分钟内不能再次获取验证码';
} elseif ($num > 7){
$data['msg'] = '短信发送超过上限';
......
......@@ -362,6 +362,7 @@ class Broker extends Basic
* @return \think\Response
*/
public function token(){
header('Access-Control-Allow-Origin:*');
$jwt = new JwtUntils();
$data['phone'] = $this->params['phone'];
$token = $jwt->createToken($data);
......
......@@ -14,7 +14,9 @@ use app\api_broker\untils\PlsDemo;
use app\model\AAgentsPhone;
use app\model\AliYunPhone;
use app\model\BindingPhone;
use think\Cache;
use think\Db;
use think\Log;
class CellPhone extends Basic
{
......@@ -37,14 +39,18 @@ class CellPhone extends Basic
$phone_a = $this->params['phone_a'];//经纪人手机号
$phone_b = $this->params['phone_b'];//客户手机号
$record = empty($this->params['record']) ? true : false; //是否录音
$setting = Cache::get('Setting'); //获取配置
$aliYunPhone = new AliYunPhone();
$bind = new BindingPhone();
$field = 'phone_x';
$where['a.status'] = 1;
$where['a.phone_a'] = $phone_a;
$where['a.phone_b'] = $phone_b;
$phone_x = $bind->getPhoneX($field, $where);
if ($setting['is_privacy'] == 1) {
$phone_x = $bind->getPhoneX($field, $where);
if ($phone_x) {
$this->data = ['phone' => $phone_x['phone_x']];
} else {
......@@ -52,7 +58,13 @@ class CellPhone extends Basic
//是否还有未绑定的中间号码
if ($phone_x) {
$result = PlsDemo::bindAxb($phone_a, $phone_b, _EXPIRATION, $record, $phone_x['phone_x']);
if (empty($setting['day_num'])) {
$time = _EXPIRATION;
} else {
$setting['day_num'] += 1;
$time = date('Y-m-d H:i:s',strtotime("+{$setting['day_num']} day"));
}
$result = PlsDemo::bindAxb($phone_a, $phone_b, $time, $record, $phone_x['phone_x']);
if ($result->Message == 'OK') {
$aliYunPhone->where('phone_x', $phone_x['phone_x'])->setField('status', 1);
Db::table('aliYun_binding_phone')->insert([
......@@ -62,7 +74,7 @@ class CellPhone extends Basic
'requestId' => $result->RequestId,
'record' => $record,
'aliYun_phone_id' => $phone_x['id'],
'expiry_date' => _EXPIRATION,
'expiry_date' => $time,
]);
$this->msg = 'Binding success.';
$this->data = ['phone' => $phone_x['phone_x']];
......@@ -70,11 +82,22 @@ class CellPhone extends Basic
$this->code = 101;
$this->msg = '绑定失败,请重试!';
}
Log::write(json_encode($result),'AliYunBindAxb'); //记录日志
} else {
$this->code = 102;
$this->msg = '号码使用完,请联系运营人员。';
}
}
} else {
$this->data = ['phone' => $phone_b];
Db::table('aliYun_secret_report')->insert([
'phone_no' => $phone_a,
'secret_no' => $phone_b,
'peer_no' => $phone_b,
'call_type' => 1,
'record_down' => 3,
]);
}
} else {
$this->code = 101;
$this->msg = 'phone_a or phone_b is null';
......@@ -129,6 +152,8 @@ class CellPhone extends Basic
$phone_b = $this->params['phone_b'];
if ($phone_x && $phone_a && $phone_b) {
$setting = Cache::get('Setting'); //获取配置
if ($setting['is_privacy'] == 1) {
$phone = new BindingPhone();
$subsId = $phone->getSubsId($phone_x,$phone_a,$phone_b,1);
......@@ -144,6 +169,7 @@ class CellPhone extends Basic
$this->code = 101;
$this->msg = 'dont\'t have about phone_x info';
}
}
} else {
$this->code = 101;
$this->msg = 'phone_x or phone_a or phone_b is null';
......
......@@ -23,6 +23,7 @@ namespace app\index\controller;
use app\index\extend\Basic;
use app\model\AAgents;
use app\model\Agents;
use think\Session;
class Agent extends Basic
......@@ -54,7 +55,7 @@ class Agent extends Basic
* @throws \think\exception\DbException
*/
public function AgentList(){
$table= new AAgents;
$table= new Agents();
$data['status'] = 200;
$data['msg'] = '';
//获取当前模块可操作按钮start********************************
......
......@@ -300,7 +300,7 @@ class Auth extends Basic
if($table->saveStatus('status',$data['status'],$ids)){
return $this->response(200,'成功',$data);
}else{
return $this->response(100,'失败',$data);
return $this->response(100,'未改动或者角色名重复!',$data);
}
}
//权限表界面
......
......@@ -144,7 +144,8 @@ class Label extends Basic
$result['msg'] = '';
//获取当前模块可操作按钮start********************************
$userRule = Session::get('userRule');
$result['data']['cz']=$userRule['cz'];
// $result['data']['cz']=$userRule['cz'];
$result['data']['cz']=1;
//获取当前模块可操作按钮end**********************************
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize'];
......
......@@ -3,7 +3,8 @@
namespace app\index\controller;
use app\index\extend\Basic;
use app\model\AAgents;
use app\model\AdminModel;
use app\model\Agents;
use app\model\AuthRule;
use think\Session;
......@@ -22,8 +23,9 @@ class Login extends Basic
public function __construct($request = null)
{
parent::__construct($request);
$this->loginAgent=new AAgents();
$this->loginAgent=new Agents();
$this->authRule=new AuthRule();
$this->loginDb = new AdminModel();
}
public function login()
......@@ -40,8 +42,32 @@ class Login extends Basic
*/
public function loginVerify()
{
$name = $_POST["username"];
$passwd = $_POST["passwd"];
if (!isset($name) || !isset($passwd)) {
return view("/login/login", [ "msg" => "用户名或密码不能为空" ]);
}
$params["name"] = $name;
$params["pswd"] = md5($passwd);
$result = $this->loginDb->verifyUser($params);
$name = $this->request->param("username");
if (count($result) > 0) {
//todo 更新登录信息
$this->loginDb->updateLoginTime($result[0]["id"]);
Session::set("userName",$result[0]["name"]);
Session::set("userId",$result[0]["id"]);
Session::set("lastLoginTime",time());
$this->operating_records($result[0]["id"],1,'后台登陆'); //记录操作日志
// $this->redirect('/admin.php/index/banner');
// return view("/admin.php/index/banner", [ "msg" => "用户名或密码错误" ]);
return $this->response('200', '登录成功');
} else {
// return view("/login/login", [ "msg" => "用户名或密码错误" ]);
return $this->response('101', '用户名或密码错误');
}
/*$name = $this->request->param("username");
$password = $this->request->param("passwd");
if (!isset($name) || !isset($password)) {
......@@ -126,7 +152,7 @@ class Login extends Basic
return $this->response('200', '登录成功', $data);
}else {
$this->redirect('/admin.php/'.$url);
}
}*/
// }
......
<?php
/**
* Created by PhpStorm.
* User: hu jun
* Date: 2018/3/7
* Time: 9:49
*/
namespace app\index\controller;
use app\index\extend\Basic;
use think\Cache;
class Setting extends Basic
{
/**
* 页面视图
*
* @return \think\response\View
*/
public function index() {
return view('setting/index');
}
/**
* 修改和新增
*
* @return \think\Response
*/
public function getSetting() {
$data = [];
if ($this->request->isGet()) {
$data = Cache::get('Setting');
} else {
$data['is_privacy'] = $this->params['is_privacy'];
$data['day_num'] = $this->params['day_num'];
Cache::set('Setting',$data);
}
return $this->response(200, '', $data);
}
}
\ No newline at end of file
......@@ -63,10 +63,10 @@ class Basic extends Controller
$this->userVerify();
}
$this->userAuth($requestPath);
// $this->userAuth($requestPath);
$this->userAuth($requestPath);
// $this->userAuth($requestPath);
}
/**
......
{layout name="global/frame_tpl" /}
<input type="hidden" class="page-load" id="RemarkFollowIndex" />
<style>
.modal-body{
height: 600px;
overflow-y: auto;
padding-bottom: 60px;
}
.user-ul2{
width: 100%;
height: auto;
padding-bottom: 15px;
float: left;
}
.user-ul2 li{
list-style: none;
line-height: 30px;
}
</style>
<div id="page-content-wrapper">
<div class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-0">
<div class="panel panel-default">
<div class="panel-heading breadcrumb">
<li>
<a href="javascript:;">跟进列表</a>
</li>
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr>
<td colspan="9">
<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="start_date" name="start_date" type="date">
<span class="fore-span ld-Marheight">-</span>
<input class="form-control btn4 ld-Marheight" value="" data-rule-phoneus="false" data-rule-required="false" id="end_date" name="end_date" type="date">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="customer_name" placeholder="客户姓名" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="customer_phone" placeholder="客户手机号" type="tel" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="follow_content" placeholder="跟进内容" type="text" value="">
<span class="btn btn-default btn3 ld-Marheight" id="search">搜索</span>
<span class="btn btn-default btn3 ld-Marheight" id="reset">重置</span>
</form>
</td>
</tr>
<tr>
<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>
<tbody class="text-center" id="follow_list">
<!--<tr>-->
<!--<td>212</td>-->
<!--<td>商场</td>-->
<!--<td>长兴</td>-->
<!--<td>1000</td>-->
<!--<td>是</td>-->
<!--<td>2018-01-16 17:02:00</td>-->
<!--<td>已租</td>-->
<!--<td>张娜张-->
<!--<a data-toggle="modal" data-id="77" href="#modal-watch" class="btn1 btn-danger add_applies">修改</a>-->
<!--</td>-->
<!--<td>-->
<!--<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="77" onclick="alertFollow(this)">编辑</a>-->
<!--<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="77" onclick="alertFollow(this)">推荐至首页</a>-->
<!--<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="77" onclick="alertFollow(this)">设置案场权限人</a>-->
<!--<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="77" onclick="alertFollow(this)">是否独家</a>-->
<!--<a class="btn1 btn-success " href="#modal-process" data-toggle="modal" data-id="77" onclick="alertFollow(this)">操作记录</a>-->
<!--<a data-toggle="modal" data-id="77" href="#modal-watch" class="btn1 btn-danger add_applies" onclick="delete_house(4720)">删除</a>-->
<!--</td>-->
<!--</tr>-->
</table>
</div>
<!-- /#page-content-wrapper -->
<div class="text-right" id="pagediv">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--操作详情记录-->
<div class="modal fade" id="modal-record" 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 modal-body1">
<table class="table table-striped table-bordered table-hover table-condensed" id="caozuo_hide">
<thead>
<tr>
<td colspan="9">
<form id="form1">
<span class="fore-span ld-Marheight">客户编号:</span>
<span class="fore-span ld-Marheight" id="cus_id"></span>
<span class="fore-span ld-Marheight">姓名:</span>
<input class="form-control btn4 ld-Marheight" value="" data-rule-phoneus="false" data-rule-required="false" id="cus_name" name="name" type="text">
<select class="form-control btn4 ld-Marheight" id="sex">
<option value="" class="successModel">性别</option>
<option value="0"></option>
<option value="1"></option>
</select>
<span class="fore-span ld-Marheight">电话:</span>
<span class="fore-span ld-Marheight" id="cus_phone"></span>
<div class="row">
</div>
<span class="fore-span ld-Marheight">上传时间:</span>
<span class="fore-span ld-Marheight" id="cus_date"></span>
<div class="row">
</div>
<div class="form-group" >
<span class="fore-span ">客方:</span>
<div class="col-sm-9">
<input type="text" class="form-control btn6 " name="pwd" autocomplete="off" id="cus_fang">
<ul class="user-ul2">
</ul>
</div>
</div>
</form>
</td>
</tr>
<tr>
<th class="text-center">跟进内容</th>
<th class="text-center">跟进人</th>
<th class="text-center">跟进时间</th>
</tr>
</thead>
<tbody class="text-center" id="caozuo_table">
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary submit_edit" data-dismiss="modal">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal -->
</div>
......@@ -68,3 +68,70 @@
</div>
</div>
</div>
<!--编辑-->
<div class="modal fade" id="modal-edit" 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" id="form-horizontal">
<div class="form-group">
<label class="col-sm-3 control-label">标题:</label>
<input type="text" value="" name="title" class="form-control btn6" placeholder="用于后台显示的配置标题">
</div>
<div class="form-group">
<label class="col-sm-3 control-label">上级菜单:</label>
<select class="form-control btn6" name="pid" id="pid">
</select>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">链接:</label>
<input type="text" value="" name="name" class="form-control btn6">
</div>
<div class="form-group">
<label class="col-sm-3 control-label">后台菜单:</label>
<div class="col-md-4">
<div class="oh mb-10 pl-5">
<div class="radio radio-primary mr-10">
<label class="radio-label1" for="is_menu1">
<div class="iradio_minimal-blue checked" style="position: relative;" aria-checked="false" aria-disabled="false">
<input type="radio" value="1" id="is_menu1" name="is_menu" style="">
</div></label>
</div>
<div class="radio radio-primary mr-10">
<label class="radio-label2" >
<div class="iradio_minimal-blue" style="position: relative;" aria-checked="false" aria-disabled="false">
<input type="radio" value="0" id="is_menu2" name="is_menu" style="">
</div></label>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">排序:</label>
<input type="number" value="1" name="sort" class="form-control btn6">
</div>
</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_edit" data-dismiss="modal">
提交
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
......@@ -76,6 +76,12 @@
<!--<li role="presentation">-->
<!--<a href="/admin.php/index/bindPhoneListIndex.html">号码绑定列表</a>-->
<!--</li>-->
<li role="presentation">
<a href="/admin.php/index/setting_index.html">参数设置</a>
</li>
<li role="presentation">
<a href="/admin.php/index/uLabelIndex.html">客户标签</a>
</li>
</ul>
</nav>
......
......@@ -6,6 +6,10 @@
overflow-y: auto;
padding-bottom: 60px;
}
.user-ul2{
width: 100%;
height: auto;
......
{layout name="global/frame_tpl" /}
<input type="hidden" class="page-load" id="setting"/>
<!--导航star-->
<!-- Sidebar -->
<!-- /#sidebar-wrapper -->
<!-- Page Content -->
<div id="page-content-wrapper">
<div class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-0">
<div class="panel panel-default">
<div class="panel-heading breadcrumb">
<li><a href="javascript:;">参数管理</a></li>
</div>
<div class="panel-body">
<form class="form-horizontal">
<div id="info">
</div>
<div class="form-group">
<label class="col-sm-3 control-label" style="text-align: right">&nbsp;</label>
<div class="col-sm-9" style="text-align: left;">
<button type="button" class="btn btn-primary" id="save">保存修改</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
......@@ -69,25 +69,8 @@ class Remarks extends Model
->where($params)
->group('apply_id')
->select();
//echo $this->getLastSql();
if(!$data){
return $result;
}
/****************************处理客户电话****************************************/
foreach($data as $k=> $li) {
$phonestr = htmlentities(trim($li["phpone"]));
$phonearr = explode('|', $phonestr);
$customer_phone = '';
foreach ($phonearr as $v) {
if ($v) {
$customer_phone .= substr_replace($v, '****', 3, 4) . '|';
}
}
$data[$k]['phpone'] = trim($customer_phone, '|');
}
/****************************处理客户电话****************************************/
return $data;
}
/**
* @param $join
......
......@@ -161,8 +161,8 @@ Route::group('index', [
'useraction_search' => ['index/remark/useraction_search', [ 'method' => 'get|post' ] ], //后台客户详情
'select_by_phone' => ['index/remark/select_by_phone', [ 'method' => 'get|post' ] ], //后台客户详情--客方搜索
'setting_index' => ['index/Setting/index', [ 'method' => 'get' ] ], //全局参数设置页面
'getSetting' => ['index/Setting/getSetting', [ 'method' => 'get|post' ] ], //新增和修改全局参数设置
]);
......
......@@ -221,3 +221,4 @@ body{
width: 100%;
height: 40px;
line-height: 40px;
}
......@@ -22,6 +22,7 @@ authRule={
authRule.getList();
});
$ (document).delegate (".edit_add", "click", function () {//新增
document.getElementById("form-horizontal").reset();
authRule.Edid_add();
});
$ (document).delegate (".is_show", "click", function () {//点击禁用
......@@ -65,6 +66,7 @@ authRule={
url: '/index/classList/type/1',//获取后台菜单
type: 'GET',
async: true,
cache:false,
dataType: 'json',
success: function (data) {
var temp=document.getElementById('auth_class_tpl').innerHTML;
......@@ -78,6 +80,7 @@ authRule={
'type': 'GET',
'url' : '/index/updateAuthRule',//获取编辑数据
data: {"id":authRule.house_id},
cache:false,
dataType: "json",
success: function (data) {
$("input[name = id]").val(data.data.id);
......
/**
* Created by zw on 2017/12/15.
*/
define (['doT', 'text!temp/setting_template_tpl.html', 'css!style/home.css'], function (doT, template) {
var Setting = {
init: function () {
//初始化dot
$ ("body").append (template);
Setting.event ();
Setting.getInfo();
},
event: function () {
$("#save").click(function () {
Setting.saveSetting();
});
},
getInfo: function () {
var param = {};
$.ajax ({
url: '/admin.php/index/getSetting',
type: 'GET',
async: true,
data: param,
dataType: 'json',
success: function (data) {
console.log (data.data);
var temp = document.getElementById ('setting_list_tpl').innerHTML;
var doTtmpl = doT.template (temp);
$ ("#info").html (doTtmpl (data.data));
}
});
},
saveSetting : function () {
var param = {};
param.is_privacy= $("input[type='radio']:checked").val();
param.day_num= $("input[name='day_num']").val();
$.ajax ({
url: '/admin.php/index/getSetting',
type: 'POST',
async: true,
data: param,
dataType: 'json',
success: function (data) {
if (data.code == 200) {
Setting.getInfo();
alert('添加成功');
} else {
alert('操作失败');
}
}
});
}
};
return Setting;
});
<script id="setting_list_tpl" type="text/template">
<div class="form-group">
<label class="col-sm-3 control-label" style="text-align: right">是否使用隐号系统:</label>
<div class="col-sm-9">
<div class="radio" style="display: inline-block">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios1" value="0"
[% if(it.is_privacy == 0) { %] checked [% } %]>关闭
</label>
</div>
<div class="radio" style="display: inline-block">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios2" value="1" [% if(it.is_privacy == 1) { %] checked [% } %]>开启
</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" style="text-align: right">隐号绑定有效期(天数):</label>
<div class="col-sm-9">
<input type="number" class="form-control btn5" name="day_num" placeholder="隐号绑定天数" value="[%= it['day_num'] %]">
</div>
</div>
</script>
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