添加查看企业微信聊天记录功能

hotfix/paypal-note
尹诚诚 3 years ago
parent b3ef373b67
commit d302301967

@ -64,7 +64,7 @@ $autoload['libraries'] = array();
| $autoload['helper'] = array('url', 'file'); | $autoload['helper'] = array('url', 'file');
*/ */
$autoload['helper'] = array('url'); $autoload['helper'] = array('url','info');
/* /*

@ -0,0 +1,31 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
const HT2SERVER = 'http://202.103.68.100:890';//'https://p9axztuwd7x8a7.mycht.cn';
class Weixinchat extends CI_Controller
{
public function index()
{
$this->load->view('weixinchat/welcome');
}
public function userchat($userid)
{
$data = array();
$data['userid'] = $userid;//只显示用户聊天窗口HT调用
$this->load->view('weixinchat/welcome', $data);
}
public function show_me_the_data()
{
//转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器
$url = $this->input->post('url');
echo GET_HTTP(HT2SERVER . $url);
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

@ -21,6 +21,12 @@ class Welcome extends CI_Controller
public function index() public function index()
{ {
$this->load->view('welcome_message'); $this->load->view('welcome_message');
/* 钉钉的免登流程
1.获取免登授权码用js获取
2.获取AccessToken用PHP调用因为要传送appkey和appsecret安全起见不能直接用js
3.获取userid
4.获取用户详情
*/
} }
public function dashboard() public function dashboard()
@ -39,45 +45,10 @@ class Welcome extends CI_Controller
{ {
//转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器 //转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器
$url = $this->input->post('url'); $url = $this->input->post('url');
echo $this->GET_HTTP('https://p9axztuwd7x8a7.mycht.cn' . $url); echo GET_HTTP('https://p9axztuwd7x8a7.mycht.cn' .$url);
} }
function GET_HTTP($url, $data = '', $method = 'GET')
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
} else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
}
curl_setopt($curl, CURLOPT_USERAGENT, $HTTP_USER_AGENT); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
if ($method == 'POST' && !empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
}
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {//页面状态如果大于400说明页面打不开
log_message('error', " curl {$httpCode} {$url} ");
return false;
}
$errno = curl_errno($curl);
if ($errno !== 0) {
return false;
$error_message = $errno . ' ' . curl_error($curl); //记录错误日志
log_message('error', "train/get_http curl {$error_message}");
}
curl_close($curl); //关闭CURL会话
return $tmpInfo; //返回数据
}
} }

@ -0,0 +1,38 @@
<?php
function GET_HTTP($url, $data = '', $method = 'GET')
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
} else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
}
curl_setopt($curl, CURLOPT_USERAGENT, $HTTP_USER_AGENT); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
if ($method == 'POST' && !empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
}
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {//页面状态如果大于400说明页面打不开
log_message('error', " curl {$httpCode} {$url} ");
return false;
}
$errno = curl_errno($curl);
if ($errno !== 0) {
return false;
$error_message = $errno . ' ' . curl_error($curl); //记录错误日志
log_message('error', "train/get_http curl {$error_message}");
}
curl_close($curl); //关闭CURL会话
return $tmpInfo; //返回数据
}

@ -6,6 +6,7 @@
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/> <link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script> <script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
<script src="https://unpkg.com/xlsx@0.18.3/dist/xlsx.full.min.js"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png"> <link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
</head> </head>

@ -83,7 +83,12 @@
</li> </li>
<li> <li>
<label class="checkbox-inline"> <label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组 <input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label> </label>
</li> </li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateStart" id="inchina_customers_ApplydateStart" type="text" <input name="inchina_customers_ApplydateStart" id="inchina_customers_ApplydateStart" type="text"
placeholder="开始日期" placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div> </div>
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateEnd" id="inchina_customers_ApplydateEnd" type="text" <input name="inchina_customers_ApplydateEnd" id="inchina_customers_ApplydateEnd" type="text"
placeholder="截至日期" placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div> </div>
<div class="col-sm-4 col-md-2"> <div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button> <button class="btn btn-default" type="button" onclick="updateInchinaCustomers(0);">统计</button>
</div> </div>
</div> </div>
<br/> <br/>
@ -183,7 +190,7 @@
</div> </div>
<div class="col-sm-4 col-md-2"> <div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" <button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#inchina_customers_detail_box').show();">显示详情 onclick="updateInchinaCustomers(1);$('#inchina_customers_detail_box').show();">显示详情
</button> </button>
</div> </div>
</div> </div>
@ -210,7 +217,13 @@
</div> </div>
</div> </div>
<h4 class="pull-right" onclick="$('#inchina_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#inchina_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small"
onclick="let table=document.getElementById('inchina_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'在华客人.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="inchina_customers_detail_box"> <div class="row" style="display: none;" id="inchina_customers_detail_box">
<div class="col-sm-24 col-md-24"> <div class="col-sm-24 col-md-24">
<div class="table-responsive"> <div class="table-responsive">
@ -243,7 +256,7 @@
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
function updatePotentialCustomers(showDetail) { function updateInchinaCustomers(showDetail) {
let inchina_customers_ApplydateCheck = $('#inchina_customers_ApplydateCheck').prop("checked") ? $('#inchina_customers_ApplydateCheck').val() : 0; let inchina_customers_ApplydateCheck = $('#inchina_customers_ApplydateCheck').prop("checked") ? $('#inchina_customers_ApplydateCheck').val() : 0;
let inchina_customers_ApplydateStart = $('#inchina_customers_ApplydateStart').val(); let inchina_customers_ApplydateStart = $('#inchina_customers_ApplydateStart').val();
let inchina_customers_ApplydateEnd = $('#inchina_customers_ApplydateEnd').val(); let inchina_customers_ApplydateEnd = $('#inchina_customers_ApplydateEnd').val();
@ -260,7 +273,7 @@
$.modaldialog.error("请检查必填项"); $.modaldialog.error("请检查必填项");
return false; return false;
} }
showDetail == 0 ? document.getElementById('inchina_customers').innerHTML = '' : document.getElementById('inchina_customers_detail').innerHTML = '';
$.ajax({ $.ajax({
type: "post", type: "post",
dataType: "json", dataType: "json",
@ -269,16 +282,15 @@
"url": '/service-tourdesign/RegularCusInChinaOrder?Website=' + websiteList "url": '/service-tourdesign/RegularCusInChinaOrder?Website=' + websiteList
+ '&ApplydateCheck=' + inchina_customers_ApplydateCheck + '&ApplydateCheck=' + inchina_customers_ApplydateCheck
+ '&ApplydateStart=' + inchina_customers_ApplydateStart + '&ApplydateStart=' + inchina_customers_ApplydateStart
+ '&ApplydateEnd=' + inchina_customers_ApplydateEnd + '&ApplydateEnd=' + inchina_customers_ApplydateEnd + '%2023:59'
+ '&EntrancedateCheck=' + inchina_customers_EntrancedateCheck + '&EntrancedateCheck=' + inchina_customers_EntrancedateCheck
+ '&EntrancedateStart=' + inchina_customers_EntrancedateStart + '&EntrancedateStart=' + inchina_customers_EntrancedateStart
+ '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd + '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd + '%2023:59'
+ '&DEI_SNList=' + DEI_SNList + '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail, + '&IsDetail=' + showDetail,
}, },
success: function (data, textStatus) { success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息 if (showDetail == 0) { //显示统计信息
document.getElementById('inchina_customers').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_ItemName = document.createElement('td'); let td_ItemName = document.createElement('td');
@ -302,7 +314,6 @@
document.getElementById('inchina_customers').appendChild(tr); document.getElementById('inchina_customers').appendChild(tr);
} }
} else { } else {
document.getElementById('inchina_customers_detail').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_index = document.createElement('td'); let td_index = document.createElement('td');

@ -22,7 +22,11 @@
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组 <input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
</label> </label>
</li> </li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li> <li>
<label class="checkbox-inline"> <label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_8" name="DEI_SNList" value="8"> 德语市场 <input type="checkbox" id="DEI_SNList_8" name="DEI_SNList" value="8"> 德语市场
@ -134,7 +138,7 @@
dataType: "json", dataType: "json",
url: "<?php echo site_url('welcome/show_me_the_data')?>", url: "<?php echo site_url('welcome/show_me_the_data')?>",
data: { data: {
"url": '/service-tourdesign/CountYDOrder?ApplydateStart=' + ApplydateStart + '&ApplydateEnd=' + ApplydateEnd + '&DEI_SNList=' + DEI_SNList, "url": '/service-tourdesign/CountYDOrder?ApplydateStart=' + ApplydateStart + '&ApplydateEnd=' + ApplydateEnd + '%2023:59&DEI_SNList=' + DEI_SNList,
}, },
success: function (data, textStatus) { success: function (data, textStatus) {
document.getElementById('mobile_deal').innerHTML = ''; document.getElementById('mobile_deal').innerHTML = '';

@ -9,7 +9,7 @@
</label> </label>
</li> </li>
<li><label class="checkbox-inline"> <li><label class="checkbox-inline">
<input type="checkbox" id="website_ALL" name="website" value="ALL" checked> ALL <input type="checkbox" id="website_ALL" name="website" value="ALL"> ALL
</label> </label>
</li> </li>
<li><label class="checkbox-inline"> <li><label class="checkbox-inline">
@ -17,7 +17,7 @@
</label> </label>
</li> </li>
<li><label class="checkbox-inline"> <li><label class="checkbox-inline">
<input type="checkbox" id="website_GHKHYY" name="website" value="GHKHYY"> GH客户运营中心 <input type="checkbox" id="website_GHKHYY" name="website" value="GHKHYY" checked> GH客户运营中心
</label> </label>
</li> </li>
<li><label class="checkbox-inline"> <li><label class="checkbox-inline">
@ -83,7 +83,12 @@
</li> </li>
<li> <li>
<label class="checkbox-inline"> <label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组 <input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label> </label>
</li> </li>
@ -152,12 +157,14 @@
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart" type="text" <input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart" type="text"
placeholder="开始日期" placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div> </div>
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateEnd" id="potential_customers_ApplydateEnd" type="text" <input name="potential_customers_ApplydateEnd" id="potential_customers_ApplydateEnd" type="text"
placeholder="截至日期" placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div> </div>
<div class="col-sm-4 col-md-2"> <div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button> <button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button>
@ -209,7 +216,11 @@
</div> </div>
</div> </div>
<h4 class="pull-right" onclick="$('#potential_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#potential_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small" onclick="let table=document.getElementById('potential_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'潜力客户.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="potential_customers_detail_box"> <div class="row" style="display: none;" id="potential_customers_detail_box">
<div class="col-sm-24 col-md-24"> <div class="col-sm-24 col-md-24">
<div class="table-responsive"> <div class="table-responsive">
@ -259,7 +270,7 @@
$.modaldialog.error("请检查必填项"); $.modaldialog.error("请检查必填项");
return false; return false;
} }
showDetail == 0 ? document.getElementById('potential_customers').innerHTML = '' : document.getElementById('potential_customers_detail').innerHTML = '';
$.ajax({ $.ajax({
type: "post", type: "post",
dataType: "json", dataType: "json",
@ -268,37 +279,35 @@
"url": '/service-tourdesign/PotentialCusOrder?Website=' + websiteList "url": '/service-tourdesign/PotentialCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + potential_customers_ApplydateCheck + '&ApplydateCheck=' + potential_customers_ApplydateCheck
+ '&ApplydateStart=' + potential_customers_ApplydateStart + '&ApplydateStart=' + potential_customers_ApplydateStart
+ '&ApplydateEnd=' + potential_customers_ApplydateEnd + '&ApplydateEnd=' + potential_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + potential_customers_EntrancedateCheck + '&EntrancedateCheck=' + potential_customers_EntrancedateCheck
+ '&EntrancedateStart=' + potential_customers_EntrancedateStart + '&EntrancedateStart=' + potential_customers_EntrancedateStart
+ '&EntrancedateEnd=' + potential_customers_EntrancedateEnd + '&EntrancedateEnd=' + potential_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList + '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail, + '&IsDetail=' + showDetail,
}, },
success: function (data, textStatus) { success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息 if (showDetail == 0) { //显示统计信息
document.getElementById('potential_customers').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_AllOrderNum = document.createElement('td'); let td_OrderNum = document.createElement('td');
let td_SUCNum = document.createElement('td'); let td_SUCOrderNum = document.createElement('td');
let td_SUCRate = document.createElement('td'); let td_SUCRate = document.createElement('td');
let td_ML = document.createElement('td'); let td_ML = document.createElement('td');
let td_PersonNum = document.createElement('td'); let td_PersonNum = document.createElement('td');
td_AllOrderNum.innerHTML = data[key].AllOrderNum; td_OrderNum.innerHTML = data[key].OrderNum;
td_SUCNum.innerHTML = data[key].SUCNum; td_SUCOrderNum.innerHTML = data[key].SUCOrderNum;
td_SUCRate.innerHTML = (data[key].SUCRate * 100).toFixed(1) + '%'; td_SUCRate.innerHTML = (data[key].SUCRate * 100).toFixed(1) + '%';
td_ML.innerHTML = data[key].ML; td_ML.innerHTML = data[key].ML;
td_PersonNum.innerHTML = data[key].PersonNum; td_PersonNum.innerHTML = data[key].PersonNum;
tr.appendChild(td_AllOrderNum); tr.appendChild(td_OrderNum);
tr.appendChild(td_SUCNum); tr.appendChild(td_SUCOrderNum);
tr.appendChild(td_SUCRate); tr.appendChild(td_SUCRate);
tr.appendChild(td_ML); tr.appendChild(td_ML);
tr.appendChild(td_PersonNum); tr.appendChild(td_PersonNum);
document.getElementById('potential_customers').appendChild(tr); document.getElementById('potential_customers').appendChild(tr);
} }
} else { } else {
document.getElementById('potential_customers_detail').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_index = document.createElement('td'); let td_index = document.createElement('td');

@ -83,7 +83,12 @@
</li> </li>
<li> <li>
<label class="checkbox-inline"> <label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组 <input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label> </label>
</li> </li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateStart" id="regular_customers_ApplydateStart" type="text" <input name="regular_customers_ApplydateStart" id="regular_customers_ApplydateStart" type="text"
placeholder="开始日期" placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div> </div>
<div class="col-sm-8 col-md-4"> <div class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateEnd" id="regular_customers_ApplydateEnd" type="text" <input name="regular_customers_ApplydateEnd" id="regular_customers_ApplydateEnd" type="text"
placeholder="截至日期" placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>"> class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div> </div>
<div class="col-sm-4 col-md-2"> <div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button> <button class="btn btn-default" type="button" onclick="updateRegularCustomers(0);">统计</button>
</div> </div>
</div> </div>
<br/> <br/>
@ -183,7 +190,7 @@
</div> </div>
<div class="col-sm-4 col-md-2"> <div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" <button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#regular_customers_detail_box').show();">显示详情 onclick="updateRegularCustomers(1);$('#regular_customers_detail_box').show();">显示详情
</button> </button>
</div> </div>
</div> </div>
@ -210,7 +217,12 @@
</div> </div>
</div> </div>
<h4 class="pull-right" onclick="$('#regular_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#regular_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small" onclick="let table=document.getElementById('regular_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'老客户.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="regular_customers_detail_box"> <div class="row" style="display: none;" id="regular_customers_detail_box">
<div class="col-sm-24 col-md-24"> <div class="col-sm-24 col-md-24">
<div class="table-responsive"> <div class="table-responsive">
@ -243,7 +255,7 @@
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
function updatePotentialCustomers(showDetail) { function updateRegularCustomers(showDetail) {
let regular_customers_ApplydateCheck = $('#regular_customers_ApplydateCheck').prop("checked") ? $('#regular_customers_ApplydateCheck').val() : 0; let regular_customers_ApplydateCheck = $('#regular_customers_ApplydateCheck').prop("checked") ? $('#regular_customers_ApplydateCheck').val() : 0;
let regular_customers_ApplydateStart = $('#regular_customers_ApplydateStart').val(); let regular_customers_ApplydateStart = $('#regular_customers_ApplydateStart').val();
let regular_customers_ApplydateEnd = $('#regular_customers_ApplydateEnd').val(); let regular_customers_ApplydateEnd = $('#regular_customers_ApplydateEnd').val();
@ -260,7 +272,7 @@
$.modaldialog.error("请检查必填项"); $.modaldialog.error("请检查必填项");
return false; return false;
} }
showDetail == 0 ? document.getElementById('regular_customers').innerHTML = '' : document.getElementById('regular_customers_detail').innerHTML = '';
$.ajax({ $.ajax({
type: "post", type: "post",
dataType: "json", dataType: "json",
@ -269,16 +281,15 @@
"url": '/service-tourdesign/RegularCusOrder?Website=' + websiteList "url": '/service-tourdesign/RegularCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + regular_customers_ApplydateCheck + '&ApplydateCheck=' + regular_customers_ApplydateCheck
+ '&ApplydateStart=' + regular_customers_ApplydateStart + '&ApplydateStart=' + regular_customers_ApplydateStart
+ '&ApplydateEnd=' + regular_customers_ApplydateEnd + '&ApplydateEnd=' + regular_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + regular_customers_EntrancedateCheck + '&EntrancedateCheck=' + regular_customers_EntrancedateCheck
+ '&EntrancedateStart=' + regular_customers_EntrancedateStart + '&EntrancedateStart=' + regular_customers_EntrancedateStart
+ '&EntrancedateEnd=' + regular_customers_EntrancedateEnd + '&EntrancedateEnd=' + regular_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList + '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail, + '&IsDetail=' + showDetail,
}, },
success: function (data, textStatus) { success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息 if (showDetail == 0) { //显示统计信息
document.getElementById('regular_customers').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_ItemName = document.createElement('td'); let td_ItemName = document.createElement('td');
@ -302,7 +313,6 @@
document.getElementById('regular_customers').appendChild(tr); document.getElementById('regular_customers').appendChild(tr);
} }
} else { } else {
document.getElementById('regular_customers_detail').innerHTML = '';
for (let key in data) { for (let key in data) {
let tr = document.createElement('tr'); let tr = document.createElement('tr');
let td_index = document.createElement('td'); let td_index = document.createElement('td');

@ -0,0 +1,231 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>微信会话存档</title>
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
<style type="text/css">
<?php echo empty($userid)?'':'.useridandhidden{display:none;}'; ?>
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-5 useridandhidden">
<h4>成员列表</h4>
<div class="list-group" id="permit_user_list">
</div>
</div>
<div class="col-md-5 useridandhidden">
<H4>客户列表 <span class="badge" id="externalcontact_count">0</span> <small class="pull-right">
<a>私聊信息</a> |
<a>群聊信息</a>
</small></h4>
<div class="list-group" id="externalcontact_list" style="overflow-y: scroll;max-height: 800px;">
</div>
</div>
<div class="col-md-14">
<h4>聊天记录</h4>
<div class="well well-sm useridandhidden">
<form class="form-inline">
<a>近一周</a> |
<a>近一月</a>
<div class="form-group">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart"
type="text"
placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="form-group">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart"
type="text"
placeholder="结束时间"
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="form-group">
<input type="text" class="form-control" id="exampleInputName2" placeholder="搜索关键词">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
</div>
<div id="chat_msg_list" class="row" style="overflow-y: scroll;max-height: 800px;">
</div>
<nav aria-label="Page navigation" class="text-center">
<ul class="pagination" id="chat_msg_list_page_nav">
</ul>
</nav>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
<?php echo empty($userid)?'get_permit_user_list();':"get_chat_msg_list('{$userid}',0);" ?>
});
//获取会话存档的用户列表
function get_permit_user_list() {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": '/weixin/wxwork/get_permit_user_list',
},
success: function (data, textStatus) {
document.getElementById('permit_user_list').innerHTML = '';
permit_user_list = '';
data.Result && data.errcode == '0' && data.Result.map(item => {
permit_user_list += `
<a href="javascript:void(0);" onclick="get_externalcontact_list('${item.userid}')" class="list-group-item">
<div class="row">
<div class="col-md-4" style="padding: 0 0 0 15px;">
<img src="${item.avatar}" class="img-responsive">
</div>
<div class="col-md-20">
<div>
<div class="list-group-item-heading">${item.username}</div>
<p class="list-group-item-text">${item.userid}</p>
</div>
</div>
</div>
</a>
`;
})
document.getElementById('permit_user_list').innerHTML = permit_user_list;
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
//获取客户列表
function get_externalcontact_list(permit_user) {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": '/weixin/wxwork/get_externalcontact_list?userid=' + permit_user,
},
success: function (data, textStatus) {
document.getElementById('chat_msg_list').innerHTML = '';
document.getElementById('externalcontact_count').innerHTML = '0';
externalcontact_list = '';
data.Result && data.errcode == '0' && data.Result.map(item => {
externalcontact_list += `
<a href="javascript:void(0);" onclick="get_chat_msg_list('${item.userid}',0)" class="list-group-item">
<div class="row">
<div class="col-md-4" style="padding: 0 0 0 15px;">
<img src="${item.avatar}" class="img-responsive">
</div>
<div class="col-md-20">
<div>
<div class="list-group-item-heading">${item.username}</div>
<p class="list-group-item-text"></p>
</div>
</div>
</div>
</a>
`;
})
document.getElementById('externalcontact_list').innerHTML = externalcontact_list;
document.getElementById('externalcontact_count').innerHTML = data.Result.length;
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
//获取聊天记录
const chat_page_count = 20;//每页消息数
function get_chat_msg_list(user_id,chat_page) {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": `'/weixin/wxwork/GetChatmsg?external_userid=${user_id}&Page_count=${chat_page_count}&curr_page=${chat_page}`,
},
success: function (data, textStatus) {
//消息框内容
document.getElementById('chat_msg_list').innerHTML = '';
let chat_msg_list = '';
data.chatmsg && data.errcode == '0' && data.chatmsg.map(item => {
let content = '';//消息内容
switch (item.msgtype) {
case 'image':
content = `<img src="${item.content.imageurl}" class="img-responsive">`;
break;
case 'text':
content = item.content.text;
break;
default://未识别的内容,提示识别
content = '未识别的消息类型:' + item.msgtype;
}
chat_msg_list += `
<div class="col-md-2" style="padding: 0 0 0 10px;">
<img src="${item.from_avatar}"
class="img-responsive">
</div>
<div class="col-md-22">
<p class="ptext-muted">${item.from_name} <small>${timestamp_to_date(item.msgtime)}</small></p>
<div class="panel panel-default">
<div class="panel-body">
${content}
</div>
</div>
</div>
`;
})
document.getElementById('chat_msg_list').innerHTML = chat_msg_list;
//分页导航
let chat_msg_list_page_nav = '';
document.getElementById('chat_msg_list_page_nav').innerHTML = '';
if (data.chatpage && data.errcode == '0') {
let external_userid=data.external_userid;
let chat_page_curr = data.chatpage.currpage;
let chat_page_total = data.chatpage.totalpage;
for (let page_nav_index = 0; page_nav_index < chat_page_total; page_nav_index++) {
chat_msg_list_page_nav += `<li class="${chat_page_curr==page_nav_index+1?'active':''}"><a href="javascript:void(0);" onclick="get_chat_msg_list('${external_userid}',${page_nav_index + 1})">${page_nav_index + 1}</a></li>`;
}
document.getElementById('chat_msg_list_page_nav').innerHTML = chat_msg_list_page_nav;
}
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
function timestamp_to_date(timestamp) {
let date = new Date(timestamp);
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
}
</script>
</body>
</html>

@ -6,18 +6,32 @@
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/> <link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script> <script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.13.42/dingtalk.open.js"></script> <script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.13.42/dingtalk.open.js"></script>
<script src="https://g.alicdn.com/code/npm/@ali/dingtalk-h5-remote-debug-sdk/0.1.3/app.bundle.js"></script>
<script>
h5RemoteDebugSdk.init({
uuid: "f3edb181-0ead-422c-a460-ea526d1e6623",
observerElement: document.documentElement,
});
</script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png"> <link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
<script type="text/javascript"> <script type="text/javascript">
dd.runtime.permission.requestAuthCode({
corpId: "ding48bce8fd3957c96b", function login_dingtalk(){
onSuccess : function(res) { dd.runtime.permission.requestAuthCode({
// 调用成功时回调 corpId: "ding48bce8fd3957c96b",
console.log(res) onSuccess: function (res) {
}, // 调用成功时回调
onFail : function(err) { console.log(res)
// 调用失败时回调 },
console.log(err) onFail: function (err) {
} // 调用失败时回调
console.log(err)
}
});
}
$(document).ready(function () {
}); });
</script> </script>
</head> </head>
@ -27,6 +41,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-sm-24 col-md-12">Welcome</div> <div class="col-sm-24 col-md-12">Welcome</div>
<input type="button" value="test" onclick="login_dingtalk();">
</div> </div>
</div> </div>

Loading…
Cancel
Save