Merge branch 'master' of github.com:hainatravel/information-system into master

hotfix/paypal-note
candice 3 years ago
commit 016c74e22f

@ -0,0 +1,58 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Overseas extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->permission->is_admin();
//$this->output->enable_profiler(TRUE);
$this->load->model('Area_model');
$this->load->model('Information_model');
$this->load->model('InfoContents_model');
$this->load->model('InfoStructures_model');
}
//团购信息
public function index()
{
$overseas_id = 1;
//查询结构根节点,当为空则建立
$rootStructure = $this->Information_model->GetRoot('g', $overseas_id);
if ($rootStructure == FALSE) {
$this->InfoContents_model->Add(
'',
'Overseas',
'root',
'',
'',
'',
'',
'',
'',
0,
0,
'',
'',
0,
0,
'',
'',
$overseas_id,
'g',
0,
'',
''
);
$this->InfoStructures_model->Add(0, $this->InfoContents_model->insert_id);
$is_id = $this->InfoStructures_model->insert_id;
} else {
$is_id = $rootStructure->is_id;
}
redirect(site_url('information/edit/' . $is_id));
}
}

@ -15,11 +15,17 @@ class Index extends CI_Controller
private $Log_Client;
private $logstore=array('cht'=>'globalhoghlights'
,'ah'=>'asiahighlights'
,'gh'=>'globalhighlights'
,'ct'=>'chinatravel'
,'yz'=>'yangtzeriver'
,'gl'=>'guilinchina'
,'sht'=>'shanghaihighlights'
,'gm'=>'chinarundreisen'
,'jp'=>'arachina'
,'ru'=>'chinahighlights_ru'
,'it'=>'viaggio-in-cina'
,'vac'=>'viaje-a-china'
,'vc'=>'voyageschine'
);//站点日志存储库,每个网站对应一个

@ -1,9 +1,9 @@
<div class="row-fluid">
<div class="span2">
<div class="span2">
<ul class="nav nav-list">
<li class="nav-header">微博关注</li>
<li>
<a href="http://weibo.com/u/1918723095" target="_blank"><img src="/css/images/100000<?php echo rand(0, 5); ?>.gif"/></a>
<a href="http://weibo.com/u/1918723095" target="_blank"><img src="/css/images/100000<?php echo rand(0, 5); ?>.gif" /></a>
<!--08987705 ycc-->
</li>
@ -21,32 +21,33 @@
<li><a href="<?php echo site_url('railway') ?>">火车站信息</a></li>
<li><a href="<?php echo site_url('groupon') ?>">团购信息</a></li>
<li><a href="<?php echo site_url('faq') ?>">FAQ</a></li>
<li><a href="<?php echo site_url('overseas') ?>">海外目的地</a></li>
<?php if ($this->config->item('site_code') != 'cht') { ?>
<li><a href="<?php echo site_url('cache/update'); ?>" target="_blank">静态化更新链接</a></li>
<?php } else { ?>
<li><a href="<?php echo site_url('welcome/create_all_urls') ?>">静态化更新链接</a></li>
<?php } ?>
<li><a href="<?php echo site_url('sitemap') ?>">生成Sitemap</a></li>
<li><a href="<?php echo site_url('sitemap') ?>">生成Sitemap</a></li>
<?php if ($this->config->item('site_code') == 'cht') { ?>
<li><a href="<?php echo site_url('/coupon/zodiac') ?>">促销订单查询</a></li>
<?php } ?>
<li class="divider"></li>
<li><a href="/sample/" target="_blank" >sample</a> </li>
<li><a href="<?php echo site_url('accessmanage') ?>" >权限管理</a> </li>
<li><a href="/sample/" target="_blank">sample</a> </li>
<li><a href="<?php echo site_url('accessmanage') ?>">权限管理</a> </li>
<li><a href="<?php echo site_url('analytics') ?>">首访统计</a></li>
<li><a href="<?php echo site_url('look_order') ?>">技术值班</a></li>
<li><a href="http://europe.chtcdn.com/designer/" target="_blank">SQL设计</a></li>
<li><a href="/cht123-setup.exe">CHT123下载</a></li>
<li><a href="http://202.103.68.49:89/" target="_blank">社媒分享数分析</a></li>
<li><a href="<?php echo site_url('keyworlds/update_cdn') ?>" target="_blank">CDN定时更新</a> </li>
<li><a href="<?php echo site_url('sendmail') ?>" >订单邮件管理</a> </li>
<li><a href="http://share.chtcdn.com/info.php/infoshare/" target="_blank" >信息分享平台</a> </li>
<li><a href="<?php echo site_url('welcome/create_all_urls') ?>" target="_blank" >全站静态化更新</a> </li>
<li><a href="<?php echo site_url('welcome/create_all_urls/amp') ?>" target="_blank" >全站AMP更新</a> </li>
<li><a href="<?php echo site_url('sendmail') ?>">订单邮件管理</a> </li>
<li><a href="http://share.chtcdn.com/info.php/infoshare/" target="_blank">信息分享平台</a> </li>
<li><a href="<?php echo site_url('welcome/create_all_urls') ?>" target="_blank">全站静态化更新</a> </li>
<li><a href="<?php echo site_url('welcome/create_all_urls/amp') ?>" target="_blank">全站AMP更新</a> </li>
<li class="divider"></li>
</ul>
</ul>
</div>
<div class="span8">
@ -65,35 +66,35 @@
<tbody>
<?php
foreach ($lastEditList as $key => $item) {
?>
?>
<tr>
<td><?php echo $key + 1; ?></td>
<td><a href="<?php echo site_url('information/edit/' . $item->is_id); ?>" ><?php echo $item->ic_url_title; ?></a></td>
<td><a href="<?php echo site_url('information/edit/' . $item->is_id); ?>"><?php echo $item->ic_url_title; ?></a></td>
<td><?php echo get_author_name($item->ic_author); ?></td>
<td><?php echo date('m/d/Y', strtotime($item->ic_datetime)); ?></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<legend>国家:</legend>
<div class="span12">
<ul class="row">
<?php foreach ($countryList as $item) { ?>
<li style="display:inline-block;padding-right:15px;"><a href="<?php echo site_url('country/' . $item->COI_SN) ?>" > <?php echo $item->COI2_Country ?> </a></li>
<?php foreach ($countryList as $item) { ?>
<li style="display:inline-block;padding-right:15px;"><a href="<?php echo site_url('country/' . $item->COI_SN) ?>"> <?php echo $item->COI2_Country ?> </a></li>
<?php } ?>
</ul>
<div class="span12 btn-large"></div>
</div>
<legend>直辖市和特区</legend>
<?php foreach ($city_list as $item) { ?>
<?php foreach ($city_list as $item) { ?>
<li style="display:inline-block;padding-right:15px;"><a href="<?php echo site_url('city/' . $item->CII_SN) ?>"><?php echo $item->CII2_Name ?></a></li>
<?php } ?>
<div class="span12 btn-large"></div>
<legend>省份</legend>
<?php foreach ($provinceList as $item) { ?>
<li style="display:inline-block;padding-right:15px;"><a href="<?php echo site_url('province/' . $item->PRI_SN) ?>" ><?php echo $item->PRI2_Name ?></a></button></li>
<?php foreach ($provinceList as $item) { ?>
<li style="display:inline-block;padding-right:15px;"><a href="<?php echo site_url('province/' . $item->PRI_SN) ?>"><?php echo $item->PRI2_Name ?></a></button></li>
<?php } ?>
@ -119,8 +120,8 @@
<?php
$i = 0;
foreach ($coupon as $rsc) {
$i+=1;
?>
$i += 1;
?>
<tr>
<td width="2%" align="center"><?php echo $i ?></td>
<td><?php echo $rsc->username ?></td>
@ -131,10 +132,12 @@
<td><?php echo date("Y-m-d H:i:s", strtotime($rsc->addtime)) ?></td>
<td><?php echo date("Y-m-d H:i:s", strtotime($rsc->invalid_date)) ?></td>
</tr>
<?php }//end of foreach ?>
<?php } //end of foreach
?>
</tbody>
</table>
<?php } //end of $coupon?>
</table>
<?php } //end of $coupon
?>
@ -151,31 +154,34 @@
</thead>
<tbody>
<?php
$is_ids=false;
$is_ids = false;
foreach ($search_list as $key => $item) {
$is_ids.=$item->is_id.',';
?>
<tr class="<?php if(!empty($item->ic_content) && $item->ic_status==1 ){ echo 'info';} ?>">
$is_ids .= $item->is_id . ',';
?>
<tr class="<?php if (!empty($item->ic_content) && $item->ic_status == 1) {
echo 'info';
} ?>">
<td><?php echo $key + 1; ?></td>
<td><a href="<?php echo site_url('information/edit/' . $item->is_id); ?>" ><?php if (empty($item->ic_url_title)) $item->ic_url_title = '编辑信息';
echo $item->ic_url_title; ?></a></td>
<td><a href="<?php echo site_url('information/edit/' . $item->is_id); ?>"><?php if (empty($item->ic_url_title)) $item->ic_url_title = '编辑信息';
echo $item->ic_url_title; ?></a></td>
<td><?php echo get_author_name($item->ic_author); ?></td>
<td><?php echo date('m/d/Y', strtotime($item->ic_datetime)); ?></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<?php if(!empty($is_ids)){ $is_ids.='0';?>
<p> <a href="<?php echo site_url('welcome/create_infomation_urls_by_ids/?key=' . $is_ids); ?>" target="_blank" class="btn pull-right" >批量更新搜索页面</a> </p>
<?php } ?>
<?php } ?>
<?php if (!empty($is_ids)) {
$is_ids .= '0'; ?>
<p> <a href="<?php echo site_url('welcome/create_infomation_urls_by_ids/?key=' . $is_ids); ?>" target="_blank" class="btn pull-right">批量更新搜索页面</a> </p>
<?php } ?>
<?php } ?>
<?php if (isset($cityList)) { ?>
<?php if (isset($cityList)) { ?>
<legend>省份城市列表</legend>
<table class="table table-striped">
<caption><strong><a href="<?php echo site_url('province/edit/' . $province->PRI_SN) ?>" ><?php echo $province->PRI2_Name ?></a></strong></caption>
<caption><strong><a href="<?php echo site_url('province/edit/' . $province->PRI_SN) ?>"><?php echo $province->PRI2_Name ?></a></strong></caption>
<thead>
<tr>
<th class="span2">字母</th>
@ -184,7 +190,7 @@
</thead>
<tbody>
<?php for ($i = 65; $i <= 90; $i++) { ?>
<?php for ($i = 65; $i <= 90; $i++) { ?>
<tr>
<td><?php echo chr($i); ?></td>
<td>
@ -192,18 +198,18 @@
<?php
foreach ($cityList as $item) {
if (substr($item->CII_Code, 0, 1) == chr($i)) {
?>
<a href="<?php echo site_url('city/' . $item->CII_SN); ?>"><?php echo $item->CII2_Name; ?></a> ,
<?php
?>
<a href="<?php echo site_url('city/' . $item->CII_SN); ?>"><?php echo $item->CII2_Name; ?></a> ,
<?php
}
}
?>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
</table>
<?php } ?>
<?php
@ -213,20 +219,20 @@
?>
</div>
<div class="span2">
<?php if (isset($last_city_list)) { ?>
<legend>最新编辑城市</legend>
<div class="well span11" style="height:912px;">
<ul class="nav nav-list">
<?php
foreach ($last_city_list as $key => $item) {
?>
<li><a href="<?php echo site_url('city/' . $item->CII2_CII_SN); ?>" ><?php echo $item->CII2_Name; ?></a></li>
<?php } ?>
</ul>
</div>
<?php } ?>
</div>
</div>
<div class="span2">
<?php if (isset($last_city_list)) { ?>
<legend>最新编辑城市</legend>
<div class="well span11" style="height:912px;">
<ul class="nav nav-list">
<?php
foreach ($last_city_list as $key => $item) {
?>
<li><a href="<?php echo site_url('city/' . $item->CII2_CII_SN); ?>"><?php echo $item->CII2_Name; ?></a></li>
<?php } ?>
</ul>
</div>
<?php } ?>
</div>
</div>

@ -20,7 +20,7 @@
<div id="get_form_days"></div>
</div>
<div class="topcruise-pice">price from <strong class="font30 orange" id="js_showprice">$0</strong> per person</div>
<div class="topcruise-list">
<div class="topcruise-btn">
<button class="btn btn-disabled" type="submit" id="btnCruise" data="">Inquiry <i aria-hidden="true" class="fa fa-angle-right"></i></button>
</div>
</script>

@ -219,7 +219,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
</div>
</div>
<p class="contactus">Or send an inquiry below</p>
<form action="/form/save" method="post">
<form action="/forms/inquiry_save" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="realname"

@ -11,7 +11,7 @@
</ul>
</div>
<div class="ghwhyus">
<form action="/form/save" method="post">
<form action="/forms/inquiry_save" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="realname"

@ -185,7 +185,7 @@ aria-label="festival">
</div>
</div>
<p class="contactus">Or send an inquiry below</p>
<form action="/form/save" method="post">
<form action="/forms/inquiry_save" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="realname"

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

@ -0,0 +1,32 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
//const HT2SERVER = 'http://202.103.68.100:890';
const HT2SERVER = '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()
{
$this->load->view('welcome_message');
/* 钉钉的免登流程
1.获取免登授权码用js获取
2.获取AccessToken用PHP调用因为要传送appkey和appsecret安全起见不能直接用js
3.获取userid
4.获取用户详情
*/
}
public function dashboard()
@ -39,45 +45,10 @@ class Welcome extends CI_Controller
{
//转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器
$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"/>
<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://unpkg.com/xlsx@0.18.3/dist/xlsx.full.min.js"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
</head>

@ -83,7 +83,12 @@
</li>
<li>
<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>
</li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateStart" id="inchina_customers_ApplydateStart" type="text"
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 class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateEnd" id="inchina_customers_ApplydateEnd" type="text"
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 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>
<br/>
@ -183,7 +190,7 @@
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#inchina_customers_detail_box').show();">显示详情
onclick="updateInchinaCustomers(1);$('#inchina_customers_detail_box').show();">显示详情
</button>
</div>
</div>
@ -210,7 +217,13 @@
</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="col-sm-24 col-md-24">
<div class="table-responsive">
@ -243,7 +256,7 @@
</div>
<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_ApplydateStart = $('#inchina_customers_ApplydateStart').val();
let inchina_customers_ApplydateEnd = $('#inchina_customers_ApplydateEnd').val();
@ -260,7 +273,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('inchina_customers').innerHTML = '' : document.getElementById('inchina_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -269,16 +282,15 @@
"url": '/service-tourdesign/RegularCusInChinaOrder?Website=' + websiteList
+ '&ApplydateCheck=' + inchina_customers_ApplydateCheck
+ '&ApplydateStart=' + inchina_customers_ApplydateStart
+ '&ApplydateEnd=' + inchina_customers_ApplydateEnd
+ '&ApplydateEnd=' + inchina_customers_ApplydateEnd + '%2023:59'
+ '&EntrancedateCheck=' + inchina_customers_EntrancedateCheck
+ '&EntrancedateStart=' + inchina_customers_EntrancedateStart
+ '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd + '%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('inchina_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_ItemName = document.createElement('td');
@ -302,7 +314,6 @@
document.getElementById('inchina_customers').appendChild(tr);
}
} else {
document.getElementById('inchina_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -22,7 +22,11 @@
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
</label>
</li>
<li>
<label class="checkbox-inline">
<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_8" name="DEI_SNList" value="8"> 德语市场
@ -134,7 +138,7 @@
dataType: "json",
url: "<?php echo site_url('welcome/show_me_the_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) {
document.getElementById('mobile_deal').innerHTML = '';

@ -9,7 +9,7 @@
</label>
</li>
<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>
</li>
<li><label class="checkbox-inline">
@ -17,7 +17,7 @@
</label>
</li>
<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>
</li>
<li><label class="checkbox-inline">
@ -83,7 +83,12 @@
</li>
<li>
<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>
</li>
@ -152,12 +157,14 @@
<div class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart" type="text"
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 class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateEnd" id="potential_customers_ApplydateEnd" type="text"
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 class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button>
@ -209,7 +216,11 @@
</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="col-sm-24 col-md-24">
<div class="table-responsive">
@ -259,7 +270,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('potential_customers').innerHTML = '' : document.getElementById('potential_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -268,37 +279,35 @@
"url": '/service-tourdesign/PotentialCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + potential_customers_ApplydateCheck
+ '&ApplydateStart=' + potential_customers_ApplydateStart
+ '&ApplydateEnd=' + potential_customers_ApplydateEnd
+ '&ApplydateEnd=' + potential_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + potential_customers_EntrancedateCheck
+ '&EntrancedateStart=' + potential_customers_EntrancedateStart
+ '&EntrancedateEnd=' + potential_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + potential_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('potential_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_AllOrderNum = document.createElement('td');
let td_SUCNum = document.createElement('td');
let td_OrderNum = document.createElement('td');
let td_SUCOrderNum = document.createElement('td');
let td_SUCRate = document.createElement('td');
let td_ML = document.createElement('td');
let td_PersonNum = document.createElement('td');
td_AllOrderNum.innerHTML = data[key].AllOrderNum;
td_SUCNum.innerHTML = data[key].SUCNum;
td_OrderNum.innerHTML = data[key].OrderNum;
td_SUCOrderNum.innerHTML = data[key].SUCOrderNum;
td_SUCRate.innerHTML = (data[key].SUCRate * 100).toFixed(1) + '%';
td_ML.innerHTML = data[key].ML;
td_PersonNum.innerHTML = data[key].PersonNum;
tr.appendChild(td_AllOrderNum);
tr.appendChild(td_SUCNum);
tr.appendChild(td_OrderNum);
tr.appendChild(td_SUCOrderNum);
tr.appendChild(td_SUCRate);
tr.appendChild(td_ML);
tr.appendChild(td_PersonNum);
document.getElementById('potential_customers').appendChild(tr);
}
} else {
document.getElementById('potential_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -83,7 +83,12 @@
</li>
<li>
<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>
</li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateStart" id="regular_customers_ApplydateStart" type="text"
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 class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateEnd" id="regular_customers_ApplydateEnd" type="text"
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 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>
<br/>
@ -183,7 +190,7 @@
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#regular_customers_detail_box').show();">显示详情
onclick="updateRegularCustomers(1);$('#regular_customers_detail_box').show();">显示详情
</button>
</div>
</div>
@ -210,7 +217,12 @@
</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="col-sm-24 col-md-24">
<div class="table-responsive">
@ -243,7 +255,7 @@
</div>
<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_ApplydateStart = $('#regular_customers_ApplydateStart').val();
let regular_customers_ApplydateEnd = $('#regular_customers_ApplydateEnd').val();
@ -260,7 +272,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('regular_customers').innerHTML = '' : document.getElementById('regular_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -269,16 +281,15 @@
"url": '/service-tourdesign/RegularCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + regular_customers_ApplydateCheck
+ '&ApplydateStart=' + regular_customers_ApplydateStart
+ '&ApplydateEnd=' + regular_customers_ApplydateEnd
+ '&ApplydateEnd=' + regular_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + regular_customers_EntrancedateCheck
+ '&EntrancedateStart=' + regular_customers_EntrancedateStart
+ '&EntrancedateEnd=' + regular_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + regular_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('regular_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_ItemName = document.createElement('td');
@ -302,7 +313,6 @@
document.getElementById('regular_customers').appendChild(tr);
}
} else {
document.getElementById('regular_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -0,0 +1,260 @@
<!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="well well-sm">
<form class="form-inline">
<div class="form-group">
<input type="text" class="form-control" id="contact_search_username" placeholder="搜索客人">
</div>
<button type="button" class="btn btn-default"
onclick="get_externalcontact_list(0,$('#contact_search_username').val());">搜索
</button>
</form>
</div>
<div class="list-group" id="externalcontact_list" style="overflow-y: scroll;max-height: 680px;">
</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="button" class="btn btn-default" disabled>搜索</button>
</form>
</div>
<div id="chat_msg_list" class="row" style="overflow-y: scroll;max-height: 680px;">
</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">
//ES6转ES5HT只能调用IE来显示 https://babeljs.io/repl
$(document).ready(function () {
<?php echo empty($userid) ? 'get_permit_user_list();' : "get_chat_msg_list('{$userid}',0);" ?>
});
let g_permit_user = '';//当前选择的顾问
let g_externalcontact_user = '';//当前选中的客人
//获取会话存档的用户列表
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.forEach(function (item) {
permit_user_list += `
<a href="javascript:void(0);" onclick="get_externalcontact_list('${item.userid}');g_permit_user='${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, username = '') {
if (!permit_user && g_permit_user) {
permit_user = g_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 + '&searchstr=' + username,
},
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.forEach(item => {
externalcontact_list += `
<a href="javascript:void(0);" onclick="get_chat_msg_list('${item.userid}',0);g_externalcontact_user='${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"></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.forEach(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;
case 'link':
content = `<a href="${item.content.link_url}" target="_blank" title="${item.content.description}">${item.content.title}</a>`;
break;
case 'revoke':
content = `<small>撤回了一条消息</small>`;
break;
case 'file':
content = `<a href="${item.content.fileurl}" target="_blank" title="${item.content.filename}">${item.content.filename}</a>`;
break;
case 'emotion':
content = `<img src="${item.content.emotion}" class="img-responsive">`;
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;
//滚动条到最底部
document.getElementById('chat_msg_list').scrollTop = document.getElementById('chat_msg_list').scrollHeight;
//分页导航
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"/>
<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/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">
<script type="text/javascript">
dd.runtime.permission.requestAuthCode({
corpId: "ding48bce8fd3957c96b",
onSuccess : function(res) {
// 调用成功时回调
console.log(res)
},
onFail : function(err) {
// 调用失败时回调
console.log(err)
}
function login_dingtalk(){
dd.runtime.permission.requestAuthCode({
corpId: "ding48bce8fd3957c96b",
onSuccess: function (res) {
// 调用成功时回调
console.log(res)
},
onFail: function (err) {
// 调用失败时回调
console.log(err)
}
});
}
$(document).ready(function () {
});
</script>
</head>
@ -27,6 +41,7 @@
<div class="container-fluid">
<div class="row">
<div class="col-sm-24 col-md-12">Welcome</div>
<input type="button" value="test" onclick="login_dingtalk();">
</div>
</div>

Loading…
Cancel
Save