abnormal.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. <?php
  2. require_once 'conn.php';
  3. checkLogin();
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>管理区域</title>
  10. <link rel="stylesheet" href="css/common.css" type="text/css" />
  11. <link rel="stylesheet" href="css/alert.css" type="text/css" />
  12. <script src="system/js/jquery-1.7.2.min.js"></script>
  13. <script src="js/js.js"></script>
  14. <style>
  15. body {
  16. margin: 0;
  17. padding: 20px;
  18. background: #fff;
  19. }
  20. #man_zone {
  21. margin-left: 0;
  22. }
  23. </style>
  24. </head>
  25. <body class="clear">
  26. <?php // require_once 'panel.php'; ?>
  27. <div id="man_zone">
  28. <?php
  29. $act = $_GET['act'] ?? '';
  30. $page = $_GET['Page'] ?? '';
  31. $keys = urlencode($_GET['Keys'] ?? '');
  32. $hrefstr = "?keys=" . $keys;
  33. // 使用SQL拼接方式
  34. $employee_id = intval($_SESSION['employee_id']);
  35. ?>
  36. <form id="form1" method="post" action="?act=postchk&Keys=<?= $keys ?>&Page=<?= $page ?>" onSubmit="return false">
  37. <div class="fastSelect clear">
  38. <H1>异常客户</H1>
  39. </div>
  40. <div width="100%" border="0" cellpadding="3" cellspacing="1" class="table2 em<?= $employee_id ?>">
  41. <div class="theader">
  42. <div class="col1"><input type="checkbox" name="chkall" id="chkall" onClick="chkboxall(this,'chkbox')" /></div>
  43. <div class="col2">序号</div>
  44. <div class="col3">客户编号</div>
  45. <div class="col4">渠道来源</div>
  46. <div class="col5">区域</div>
  47. <div class="col6">客户类型</div>
  48. <div class="col6">跟进阶段</div>
  49. <div class="colmark">颜色标记</div>
  50. <div class="col6">录入时间</div>
  51. <div class="col9">操作</div>
  52. </div>
  53. <?php
  54. // 适配新的customer_contact表结构并使用SQL拼接方式
  55. $sqlStr = "SELECT c.id, c.cs_code, c.cs_from, c.cs_country, c.cs_type,
  56. c.cs_deal, c.cs_addtime, c.colortag, c.cs_note, c.cs_claimFrom
  57. FROM customer c
  58. WHERE (
  59. (NOT EXISTS (SELECT 1 FROM customer_contact WHERE customer_id = c.id AND alibaba_1 <> '')
  60. AND (c.cs_code LIKE '%阿里%' OR c.cs_code LIKE '%1688%')
  61. AND c.cs_belong = " . $employee_id . ")
  62. OR
  63. (c.cs_from = 8
  64. AND NOT EXISTS (SELECT 1 FROM customer_contact WHERE customer_id = c.id AND wechat_1 <> '')
  65. AND c.cs_belong = " . $employee_id . ")
  66. )
  67. ORDER BY c.colortag DESC, c.id DESC";
  68. $result = $conn->query($sqlStr);
  69. if ($result && $result->num_rows > 0) {
  70. $pageSize = 20;
  71. $page = empty($page) ? 1 : $page;
  72. $page = $page === 'end' ? ceil($result->num_rows / $pageSize) : $page;
  73. $page = !is_numeric($page) || $page < 1 ? 1 : (int)$page;
  74. $totalPages = ceil($result->num_rows / $pageSize);
  75. $page = $page > $totalPages ? $totalPages : $page;
  76. $offset = $pageSize * ($page - 1);
  77. // Store all results in array
  78. $rows = [];
  79. while ($row = $result->fetch_assoc()) {
  80. $rows[] = $row;
  81. }
  82. // Get paginated results
  83. $paginatedRows = array_slice($rows, $offset, $pageSize);
  84. $tempNum = $offset;
  85. foreach ($paginatedRows as $row) {
  86. $tempNum++;
  87. ?>
  88. <div class="tline color<?= $row['colortag'] ?>">
  89. <div class="col1" align="center"><input type="checkbox" name="chkbox[]" value="<?= $row['id'] ?>" /></div>
  90. <div class="col2"><?= $tempNum ?></div>
  91. <div class="col3 slidepanel"><?= htmlspecialcharsFix($row['cs_code']) ?><?php if ($row['cs_claimFrom'] > 0): ?><img src="../images/yijiao.png" class="handover" title="来自认领"><?php endif; ?></div>
  92. <div class="col4">
  93. <?php
  94. // 使用SQL拼接方式
  95. $cs_from = intval($row['cs_from']);
  96. $qudaoResult = $conn->query("SELECT ch_name FROM qudao WHERE id = " . $cs_from);
  97. if ($qudaoRow = $qudaoResult->fetch_assoc()) {
  98. echo htmlspecialcharsFix($qudaoRow['ch_name']);
  99. } else {
  100. echo "未填写";
  101. }
  102. ?>
  103. </div>
  104. <div class="col5">
  105. <?php
  106. // 使用SQL拼接方式
  107. $cs_country = intval($row['cs_country']);
  108. $countryResult = $conn->query("SELECT countryName FROM country WHERE id = " . $cs_country);
  109. if ($countryRow = $countryResult->fetch_assoc()) {
  110. echo htmlspecialcharsFix($countryRow['countryName']);
  111. } else {
  112. echo "未填写";
  113. }
  114. ?>
  115. </div>
  116. <div class="col6">
  117. <?php
  118. // 使用JOIN查询一次性获取所有业务类型
  119. $businessTypes = $conn->query("
  120. SELECT ct.businessType
  121. FROM customer_business_type cbt
  122. JOIN clienttype ct ON cbt.business_type_id = ct.id
  123. WHERE cbt.customer_id = " . (int)$row['id']);
  124. if ($businessTypes->num_rows > 0) {
  125. $types = [];
  126. while ($type = $businessTypes->fetch_assoc()) {
  127. $types[] = $type['businessType'];
  128. }
  129. // 显示所有业务类型,用顿号分隔
  130. echo implode('、', $types);
  131. } else {
  132. echo '未填写';
  133. }
  134. ?>
  135. </div>
  136. <div class="col6">
  137. <?php
  138. switch ($row['cs_deal']) {
  139. case 3:
  140. echo '<span style="color:red;">成交</span>';
  141. break;
  142. case 2:
  143. echo '明确需求';
  144. break;
  145. case 1:
  146. echo '背景调查';
  147. break;
  148. default:
  149. echo '无响应';
  150. }
  151. ?>
  152. </div>
  153. <div class="colmark colormark">
  154. <ul class="colorlist" data-id="<?= $row['id'] ?>">
  155. <li value="1" class="color1"></li>
  156. <li value="2" class="color2"></li>
  157. <li value="3" class="color3"></li>
  158. <li value="4" class="color4"></li>
  159. <li value="0" class="color0"></li>
  160. </ul>
  161. </div>
  162. <div class="col6"><?= $row['cs_addtime'] ?></div>
  163. <div class="col9"><a href="customerEdit.php?Keys=<?= $keys ?>&fliterDeal=<?= $_GET['fliterDeal'] ?? '' ?>&fliterBusiness=<?= $_GET['fliterBusiness'] ?? '' ?>&Page=<?= $page ?>&act=edit&id=<?= $row['id'] ?>" class="ico_edit ico">修改</a></div>
  164. </div>
  165. <div class="notepanel clear">
  166. <div class="noteItem">联系方式</div>
  167. <div class="lx">
  168. <?php
  169. // Fetch all contacts for this customer
  170. $contact_sql = "SELECT * FROM customer_contact WHERE customer_id = " . $row['id'];
  171. $contact_result = mysqli_query($conn, $contact_sql);
  172. if ($contact_result && mysqli_num_rows($contact_result) > 0) {
  173. while ($contact = mysqli_fetch_assoc($contact_result)) {
  174. echo '<div class="contact-block" style="margin-bottom: 10px; border-bottom: 1px dashed #ccc; padding-bottom: 5px;">';
  175. if (!empty($contact['contact_name'])) {
  176. echo '<div class="contact-name"><strong>' . htmlspecialcharsFix($contact['contact_name']) . '</strong></div>';
  177. }
  178. echo '<div class="tel">';
  179. if (!empty($contact['tel_1'])) echo '电话: ' . htmlspecialcharsFix($contact['tel_1']) . '<br>';
  180. if (!empty($contact['tel_2'])) echo '电话: ' . htmlspecialcharsFix($contact['tel_2']) . '<br>';
  181. if (!empty($contact['tel_3'])) echo '电话: ' . htmlspecialcharsFix($contact['tel_3']) . '<br>';
  182. echo '</div>';
  183. echo '<div class="mail">';
  184. if (!empty($contact['email_1'])) echo '邮箱: <a href="mailto:' . htmlspecialcharsFix($contact['email_1']) . '">' . htmlspecialcharsFix($contact['email_1']) . '</a><br>';
  185. if (!empty($contact['email_2'])) echo '邮箱: <a href="mailto:' . htmlspecialcharsFix($contact['email_2']) . '">' . htmlspecialcharsFix($contact['email_2']) . '</a><br>';
  186. if (!empty($contact['email_3'])) echo '邮箱: <a href="mailto:' . htmlspecialcharsFix($contact['email_3']) . '">' . htmlspecialcharsFix($contact['email_3']) . '</a><br>';
  187. echo '</div>';
  188. echo '<div class="whatsapp">';
  189. if (!empty($contact['whatsapp_1'])) echo 'WhatsApp: ' . htmlspecialcharsFix($contact['whatsapp_1']) . '<br>';
  190. if (!empty($contact['whatsapp_2'])) echo 'WhatsApp: ' . htmlspecialcharsFix($contact['whatsapp_2']) . '<br>';
  191. if (!empty($contact['whatsapp_3'])) echo 'WhatsApp: ' . htmlspecialcharsFix($contact['whatsapp_3']) . '<br>';
  192. echo '</div>';
  193. echo '<div class="wechat">';
  194. if (!empty($contact['wechat_1'])) echo '微信: ' . htmlspecialcharsFix($contact['wechat_1']) . '<br>';
  195. if (!empty($contact['wechat_2'])) echo '微信: ' . htmlspecialcharsFix($contact['wechat_2']) . '<br>';
  196. if (!empty($contact['wechat_3'])) echo '微信: ' . htmlspecialcharsFix($contact['wechat_3']) . '<br>';
  197. echo '</div>';
  198. echo '<div class="linkedin">';
  199. if (!empty($contact['linkedin_1'])) echo '领英: ' . htmlspecialcharsFix($contact['linkedin_1']) . '<br>';
  200. if (!empty($contact['linkedin_2'])) echo '领英: ' . htmlspecialcharsFix($contact['linkedin_2']) . '<br>';
  201. if (!empty($contact['linkedin_3'])) echo '领英: ' . htmlspecialcharsFix($contact['linkedin_3']) . '<br>';
  202. echo '</div>';
  203. echo '<div class="facebook">';
  204. if (!empty($contact['facebook_1'])) echo 'Facebook: ' . htmlspecialcharsFix($contact['facebook_1']) . '<br>';
  205. if (!empty($contact['facebook_2'])) echo 'Facebook: ' . htmlspecialcharsFix($contact['facebook_2']) . '<br>';
  206. if (!empty($contact['facebook_3'])) echo 'Facebook: ' . htmlspecialcharsFix($contact['facebook_3']) . '<br>';
  207. echo '</div>';
  208. echo '<div class="alibaba">';
  209. if (!empty($contact['alibaba_1'])) echo '阿里: ' . htmlspecialcharsFix($contact['alibaba_1']) . '<br>';
  210. if (!empty($contact['alibaba_2'])) echo '阿里: ' . htmlspecialcharsFix($contact['alibaba_2']) . '<br>';
  211. if (!empty($contact['alibaba_3'])) echo '阿里: ' . htmlspecialcharsFix($contact['alibaba_3']) . '<br>';
  212. echo '</div>';
  213. echo '</div>';
  214. }
  215. } else {
  216. echo '<div>无联系人信息</div>';
  217. }
  218. ?>
  219. </div>
  220. <div class="noteItem2">备注</div>
  221. <div class="notecontent"><?= htmlUnCode($row['cs_note']) ?></div>
  222. </div>
  223. <?php
  224. }
  225. } else {
  226. if (empty($keys)) {
  227. ?>
  228. <tr>
  229. <div align="center" colspan="9">Sorry,当前暂无信息</div>
  230. </tr>
  231. <?php
  232. } else {
  233. ?>
  234. <tr>
  235. <div align="center" colspan="9"><a href="?">Sorry,没有找到"<?= $keyscode ?? '' ?>"相关的信息,点击返回</a></div>
  236. </tr>
  237. <?php
  238. }
  239. }
  240. ?>
  241. <div colspan="9">
  242. <div class="showpagebox">
  243. <?php
  244. if (isset($totalPages) && $totalPages > 1) {
  245. $pageName = "?Keys=" . $keys . ($urlStr ?? '') . "&";
  246. $pagelen = 3;
  247. // First page and Previous page
  248. if ($page > 1) {
  249. echo "<a href=\"{$pageName}Page=1\">首页</a>";
  250. echo "<a href=\"{$pageName}Page=" . ($page - 1) . "\">上一页</a>";
  251. }
  252. // Calculate page range
  253. if ($pagelen * 2 + 1 >= $totalPages) {
  254. $startPage = 1;
  255. $endPage = $totalPages;
  256. } else {
  257. if ($page <= $pagelen + 1) {
  258. $startPage = 1;
  259. $endPage = $pagelen * 2 + 1;
  260. } else {
  261. $startPage = $page - $pagelen;
  262. $endPage = $page + $pagelen;
  263. }
  264. if ($page + $pagelen > $totalPages) {
  265. $startPage = $totalPages - $pagelen * 2;
  266. $endPage = $totalPages;
  267. }
  268. }
  269. // Page numbers
  270. for ($i = $startPage; $i <= $endPage; $i++) {
  271. if ($i == $page) {
  272. echo "<a class=\"current\">{$i}</a>";
  273. } else {
  274. echo "<a href=\"{$pageName}Page={$i}\">{$i}</a>";
  275. }
  276. }
  277. // Next page and Last page
  278. if ($page < $totalPages) {
  279. if ($totalPages - $page > $pagelen) {
  280. echo "<a href=\"{$pageName}Page={$totalPages}\">...{$totalPages}</a>";
  281. }
  282. echo "<a href=\"{$pageName}Page=" . ($page + 1) . "\">下一页</a>";
  283. echo "<a href=\"{$pageName}Page={$totalPages}\">尾页</a>";
  284. }
  285. }
  286. ?>
  287. </div>
  288. </div>
  289. </div>
  290. </form>
  291. </div>
  292. </body>
  293. </html>