|
@@ -34,31 +34,105 @@ if ($act == "save") {
|
|
|
$cs_from = $_POST['cs_from'];
|
|
|
$cs_state = $_POST['cs_state'];
|
|
|
$cs_deal = $_POST['cs_deal'];
|
|
|
+ $cs_type = $_POST['cs_type'] ?? 5;
|
|
|
+ $cs_belongclient = $_POST['cs_belongclient'] ?? 0;
|
|
|
$no_content = htmlEncode($_POST['no_content']);
|
|
|
$allowedit = isset($_POST['allowedit']) ? 1 : 0;
|
|
|
$cs_address = textEncode($_POST['cs_address'] ?? '');
|
|
|
+ $mytag = textEncode($_POST['mytag'] ?? '');
|
|
|
+ $mytag = str_replace(['</span><span>', '</span>', '<span>'], [',', '', ''], $mytag);
|
|
|
+ $mytag = explode(',', $mytag);
|
|
|
+
|
|
|
+ // 获取联系人信息
|
|
|
+ $contacts = $_POST['contact'] ?? [];
|
|
|
+
|
|
|
+ // 验证必填字段
|
|
|
+ if (empty($cs_code)) {
|
|
|
+ echo "<script>alert('客户编码不能为空');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($cs_country == 0) {
|
|
|
+ echo "<script>alert('这是哪个国家的客户?');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($cs_from == "0") {
|
|
|
+ echo "<script>alert('请填写客户来源!');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 自动检测来源
|
|
|
+ if (strpos($cs_code, ';1688') !== false) {
|
|
|
+ $cs_from = 1; // 1688
|
|
|
+ }
|
|
|
+ if (strpos($cs_code, ';阿里') !== false) {
|
|
|
+ $cs_from = 2; // International station
|
|
|
+ }
|
|
|
+ if (strpos($cs_code, '官网') !== false) {
|
|
|
+ $cs_from = 3; // Website
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证联系方式
|
|
|
+ $primary_contact = !empty($contacts) ? current($contacts) : [];
|
|
|
|
|
|
- // 获取表单数据 - 联系人信息
|
|
|
- $contact_name = textEncode($_POST['cs_name']);
|
|
|
- $tel = textEncode($_POST['cs_tel']);
|
|
|
- $tel_format = textEncode($_POST['cs_telformat'] ?? '');
|
|
|
- $tel_bu = textEncode($_POST['cs_telBu'] ?? '');
|
|
|
- $email = textEncode($_POST['cs_email']);
|
|
|
- $email_bu = textEncode($_POST['cs_emailBu'] ?? '');
|
|
|
- $whatsapp = textEncode($_POST['cs_whatsapp']);
|
|
|
- $whatsapp_format = textEncode($_POST['cs_whatsappformat'] ?? '');
|
|
|
- $whatsapp_bu = textEncode($_POST['cs_whatsappBu'] ?? '');
|
|
|
- $wechat = textEncode($_POST['cs_wechat']);
|
|
|
- $wechat_bu = textEncode($_POST['cs_wechatBu'] ?? '');
|
|
|
- $linkedin = textEncode($_POST['cs_linkedin']);
|
|
|
- $linkedin_bu = textEncode($_POST['cs_linkedinBu'] ?? '');
|
|
|
- $facebook = textEncode($_POST['cs_facebook']);
|
|
|
- $facebook_bu = textEncode($_POST['cs_facebookBu'] ?? '');
|
|
|
- $alibaba = textEncode($_POST['cs_alibaba']);
|
|
|
- $alibaba_bu = textEncode($_POST['cs_alibabaBu'] ?? '');
|
|
|
+ if ($allowedit != 1) {
|
|
|
+ // 阿里巴巴验证
|
|
|
+ if (($cs_from == 1 || $cs_from == 2) && empty($primary_contact['alibaba_1'])) {
|
|
|
+ echo "<script>alert('阿里旺旺为必填项');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 官网来源验证
|
|
|
+ if ($cs_from == 3) {
|
|
|
+ $has_required = false;
|
|
|
+ for ($i = 1; $i <= 3; $i++) {
|
|
|
+ if (!empty($primary_contact['tel_' . $i]) ||
|
|
|
+ !empty($primary_contact['whatsapp_' . $i]) ||
|
|
|
+ !empty($primary_contact['wechat_' . $i])) {
|
|
|
+ $has_required = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!$has_required) {
|
|
|
+ echo "<script>alert('电话和WhatsApp为必填项');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 市场客户验证
|
|
|
+ if ($cs_from == 8) {
|
|
|
+ $has_wechat = false;
|
|
|
+ for ($i = 1; $i <= 3; $i++) {
|
|
|
+ if (!empty($primary_contact['wechat_' . $i])) {
|
|
|
+ $has_wechat = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!$has_wechat) {
|
|
|
+ echo "<script>alert('微信为必填项');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Facebook验证
|
|
|
+ if ($cs_from == 12) {
|
|
|
+ $has_facebook = false;
|
|
|
+ for ($i = 1; $i <= 3; $i++) {
|
|
|
+ if (!empty($primary_contact['facebook_' . $i])) {
|
|
|
+ $has_facebook = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!$has_facebook) {
|
|
|
+ echo "<script>alert('Facebook为必填项');history.back();</script>";
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if ($isedit) {
|
|
|
- // 更新现有记录
|
|
|
+ // 验证客户所有权
|
|
|
$sql = "SELECT cs_chain FROM customer WHERE id = $id";
|
|
|
$result = mysqli_query($conn, $sql);
|
|
|
if ($row = mysqli_fetch_assoc($result)) {
|
|
@@ -80,56 +154,107 @@ if ($act == "save") {
|
|
|
cs_from = '$cs_from',
|
|
|
cs_state = '$cs_state',
|
|
|
cs_deal = '$cs_deal',
|
|
|
+ cs_type = '$cs_type',
|
|
|
+ cs_belongclient = '$cs_belongclient',
|
|
|
cs_note = '$no_content',
|
|
|
allowedit = $allowedit,
|
|
|
cs_chain = '$cs_chain',
|
|
|
- cs_updatetime = NOW()
|
|
|
- WHERE id = $id";
|
|
|
-
|
|
|
+ cs_updatetime = NOW()";
|
|
|
+
|
|
|
+ // 处理cs_dealdate
|
|
|
+ if ($cs_deal == 3) {
|
|
|
+ $sql .= ", cs_dealdate = CASE WHEN cs_dealdate IS NULL THEN NOW() ELSE cs_dealdate END";
|
|
|
+ }
|
|
|
+
|
|
|
+ $sql .= " WHERE id = $id";
|
|
|
mysqli_query($conn, $sql);
|
|
|
|
|
|
- // 检查是否已有联系人记录
|
|
|
- $contact_sql = "SELECT id FROM customer_contact WHERE customer_id = $id";
|
|
|
- $contact_result = mysqli_query($conn, $contact_sql);
|
|
|
+ // 处理联系人信息
|
|
|
+ $existingContactIds = [];
|
|
|
+ foreach ($contacts as $contact) {
|
|
|
+ if (!empty($contact['id'])) {
|
|
|
+ $existingContactIds[] = (int)$contact['id'];
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if ($contact_row = mysqli_fetch_assoc($contact_result)) {
|
|
|
- // 更新联系人信息
|
|
|
- $contact_id = $contact_row['id'];
|
|
|
- $sql = "UPDATE customer_contact SET
|
|
|
- contact_name = '$contact_name',
|
|
|
- tel = '$tel',
|
|
|
- tel_format = '$tel_format',
|
|
|
- tel_bu = '$tel_bu',
|
|
|
- email = '$email',
|
|
|
- email_bu = '$email_bu',
|
|
|
- whatsapp = '$whatsapp',
|
|
|
- whatsapp_format = '$whatsapp_format',
|
|
|
- whatsapp_bu = '$whatsapp_bu',
|
|
|
- wechat = '$wechat',
|
|
|
- wechat_bu = '$wechat_bu',
|
|
|
- linkedin = '$linkedin',
|
|
|
- linkedin_bu = '$linkedin_bu',
|
|
|
- facebook = '$facebook',
|
|
|
- facebook_bu = '$facebook_bu',
|
|
|
- alibaba = '$alibaba',
|
|
|
- alibaba_bu = '$alibaba_bu',
|
|
|
- updated_at = NOW()
|
|
|
- WHERE id = $contact_id";
|
|
|
- mysqli_query($conn, $sql);
|
|
|
+ // 删除不再使用的联系人记录
|
|
|
+ if (!empty($existingContactIds)) {
|
|
|
+ $idsToKeep = implode(',', $existingContactIds);
|
|
|
+ $deleteContactsSql = "DELETE FROM customer_contact WHERE customer_id = $id AND id NOT IN ($idsToKeep)";
|
|
|
} else {
|
|
|
- // 插入新的联系人记录
|
|
|
- $sql = "INSERT INTO customer_contact (
|
|
|
- customer_id, contact_name, tel, tel_format, tel_bu,
|
|
|
- email, email_bu, whatsapp, whatsapp_format, whatsapp_bu,
|
|
|
- wechat, wechat_bu, linkedin, linkedin_bu, facebook,
|
|
|
- facebook_bu, alibaba, alibaba_bu, created_at, updated_at
|
|
|
- ) VALUES (
|
|
|
- $id, '$contact_name', '$tel', '$tel_format', '$tel_bu',
|
|
|
- '$email', '$email_bu', '$whatsapp', '$whatsapp_format', '$whatsapp_bu',
|
|
|
- '$wechat', '$wechat_bu', '$linkedin', '$linkedin_bu', '$facebook',
|
|
|
- '$facebook_bu', '$alibaba', '$alibaba_bu', NOW(), NOW()
|
|
|
- )";
|
|
|
- mysqli_query($conn, $sql);
|
|
|
+ $deleteContactsSql = "DELETE FROM customer_contact WHERE customer_id = $id";
|
|
|
+ }
|
|
|
+ mysqli_query($conn, $deleteContactsSql);
|
|
|
+
|
|
|
+ // 更新或添加联系人信息
|
|
|
+ foreach ($contacts as $contact) {
|
|
|
+ $contact_id = !empty($contact['id']) ? (int)$contact['id'] : 0;
|
|
|
+ $contact_name = textEncode($contact['contact_name'] ?? '');
|
|
|
+
|
|
|
+ // 准备SQL字段和值
|
|
|
+ $fields = ['contact_name'];
|
|
|
+ $values = ["'" . mysqli_real_escape_string($conn, $contact_name) . "'"];
|
|
|
+ $updates = ["contact_name = '" . mysqli_real_escape_string($conn, $contact_name) . "'"];
|
|
|
+
|
|
|
+ // 处理所有联系方式类型
|
|
|
+ $methodTypes = ['tel', 'email', 'whatsapp', 'wechat', 'linkedin', 'facebook', 'alibaba'];
|
|
|
+ foreach ($methodTypes as $type) {
|
|
|
+ for ($i = 1; $i <= 3; $i++) {
|
|
|
+ $field = $type . '_' . $i;
|
|
|
+ $format_field = $field . '_format';
|
|
|
+ $bu_field = $field . '_bu';
|
|
|
+
|
|
|
+ $value = textEncode($contact[$field] ?? '');
|
|
|
+ $format_value = ($type == 'tel' || $type == 'whatsapp') ? numFormat($value) : '';
|
|
|
+ $bu_value = textEncode($contact[$bu_field] ?? $value);
|
|
|
+
|
|
|
+ // 添加字段名
|
|
|
+ $fields[] = $field;
|
|
|
+ $fields[] = $bu_field;
|
|
|
+ if ($type == 'tel' || $type == 'whatsapp') {
|
|
|
+ $fields[] = $format_field;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加值
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $value) . "'";
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $bu_value) . "'";
|
|
|
+ if ($type == 'tel' || $type == 'whatsapp') {
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $format_value) . "'";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加更新语句
|
|
|
+ $updates[] = $field . " = '" . mysqli_real_escape_string($conn, $value) . "'";
|
|
|
+ $updates[] = $bu_field . " = '" . mysqli_real_escape_string($conn, $bu_value) . "'";
|
|
|
+ if ($type == 'tel' || $type == 'whatsapp') {
|
|
|
+ $updates[] = $format_field . " = '" . mysqli_real_escape_string($conn, $format_value) . "'";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($contact_id > 0) {
|
|
|
+ // 更新已有联系人
|
|
|
+ $updateContactSql = "UPDATE customer_contact SET " .
|
|
|
+ implode(", ", $updates) . ", updated_at = NOW() " .
|
|
|
+ "WHERE id = $contact_id AND customer_id = $id";
|
|
|
+ mysqli_query($conn, $updateContactSql);
|
|
|
+ } else {
|
|
|
+ // 添加新联系人
|
|
|
+ $insertContactSql = "INSERT INTO customer_contact (" .
|
|
|
+ implode(", ", $fields) . ", customer_id, created_at, updated_at) VALUES (" .
|
|
|
+ implode(", ", $values) . ", $id, NOW(), NOW())";
|
|
|
+ mysqli_query($conn, $insertContactSql);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新标签
|
|
|
+ mysqli_query($conn, "DELETE FROM tagtable WHERE customerId = $id");
|
|
|
+ foreach ($mytag as $tag) {
|
|
|
+ if (!empty(trim($tag))) {
|
|
|
+ $tagSql = "INSERT INTO tagtable (tagName, employeeId, customerId) VALUES ('" .
|
|
|
+ mysqli_real_escape_string($conn, $tag) . "', " .
|
|
|
+ $_SESSION['employee_id'] . ", $id)";
|
|
|
+ mysqli_query($conn, $tagSql);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
$page = $_GET['Page'] ?? '';
|
|
@@ -142,30 +267,71 @@ if ($act == "save") {
|
|
|
// 插入客户基本信息
|
|
|
$sql = "INSERT INTO customer (
|
|
|
cs_code, cs_company, cs_country, cs_address, cs_from,
|
|
|
- cs_belong, cs_state, cs_deal, cs_note, allowedit,
|
|
|
- cs_chain, cs_addtime, cs_updatetime
|
|
|
+ cs_belong, cs_state, cs_deal, cs_type, cs_belongclient,
|
|
|
+ cs_note, allowedit, cs_chain, cs_addtime, cs_updatetime,
|
|
|
+ is_silent, cs_dealdate
|
|
|
) VALUES (
|
|
|
'$cs_code', '$cs_company', '$cs_country', '$cs_address', '$cs_from',
|
|
|
- '$cs_belong', '$cs_state', '$cs_deal', '$no_content', $allowedit,
|
|
|
- '$cs_belong', NOW(), NOW()
|
|
|
+ '$cs_belong', '$cs_state', '$cs_deal', '$cs_type', '$cs_belongclient',
|
|
|
+ '$no_content', $allowedit, '$cs_belong', NOW(), NOW(),
|
|
|
+ 0, " . ($cs_deal == 3 ? "NOW()" : "NULL") . "
|
|
|
)";
|
|
|
mysqli_query($conn, $sql);
|
|
|
$new_customer_id = mysqli_insert_id($conn);
|
|
|
|
|
|
// 插入联系人信息
|
|
|
if ($new_customer_id > 0) {
|
|
|
- $sql = "INSERT INTO customer_contact (
|
|
|
- customer_id, contact_name, tel, tel_format, tel_bu,
|
|
|
- email, email_bu, whatsapp, whatsapp_format, whatsapp_bu,
|
|
|
- wechat, wechat_bu, linkedin, linkedin_bu, facebook,
|
|
|
- facebook_bu, alibaba, alibaba_bu, created_at, updated_at
|
|
|
- ) VALUES (
|
|
|
- $new_customer_id, '$contact_name', '$tel', '$tel_format', '$tel_bu',
|
|
|
- '$email', '$email_bu', '$whatsapp', '$whatsapp_format', '$whatsapp_bu',
|
|
|
- '$wechat', '$wechat_bu', '$linkedin', '$linkedin_bu', '$facebook',
|
|
|
- '$facebook_bu', '$alibaba', '$alibaba_bu', NOW(), NOW()
|
|
|
- )";
|
|
|
- mysqli_query($conn, $sql);
|
|
|
+ foreach ($contacts as $contact) {
|
|
|
+ $contact_name = textEncode($contact['contact_name'] ?? '');
|
|
|
+
|
|
|
+ // 准备SQL字段和值
|
|
|
+ $fields = ['contact_name'];
|
|
|
+ $values = ["'" . mysqli_real_escape_string($conn, $contact_name) . "'"];
|
|
|
+
|
|
|
+ // 处理所有联系方式类型
|
|
|
+ $methodTypes = ['tel', 'email', 'whatsapp', 'wechat', 'linkedin', 'facebook', 'alibaba'];
|
|
|
+ foreach ($methodTypes as $type) {
|
|
|
+ for ($i = 1; $i <= 3; $i++) {
|
|
|
+ $field = $type . '_' . $i;
|
|
|
+ $format_field = $field . '_format';
|
|
|
+ $bu_field = $field . '_bu';
|
|
|
+
|
|
|
+ $value = textEncode($contact[$field] ?? '');
|
|
|
+ $format_value = ($type == 'tel' || $type == 'whatsapp') ? numFormat($value) : '';
|
|
|
+ $bu_value = textEncode($contact[$bu_field] ?? $value);
|
|
|
+
|
|
|
+ // 添加字段名
|
|
|
+ $fields[] = $field;
|
|
|
+ $fields[] = $bu_field;
|
|
|
+ if ($type == 'tel' || $type == 'whatsapp') {
|
|
|
+ $fields[] = $format_field;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加值
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $value) . "'";
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $bu_value) . "'";
|
|
|
+ if ($type == 'tel' || $type == 'whatsapp') {
|
|
|
+ $values[] = "'" . mysqli_real_escape_string($conn, $format_value) . "'";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加新联系人
|
|
|
+ $insertContactSql = "INSERT INTO customer_contact (" .
|
|
|
+ implode(", ", $fields) . ", customer_id, created_at, updated_at) VALUES (" .
|
|
|
+ implode(", ", $values) . ", $new_customer_id, NOW(), NOW())";
|
|
|
+ mysqli_query($conn, $insertContactSql);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 保存标签
|
|
|
+ foreach ($mytag as $tag) {
|
|
|
+ if (!empty(trim($tag))) {
|
|
|
+ $tagSql = "INSERT INTO tagtable (tagName, employeeId, customerId) VALUES ('" .
|
|
|
+ mysqli_real_escape_string($conn, $tag) . "', " .
|
|
|
+ $_SESSION['employee_id'] . ", $new_customer_id)";
|
|
|
+ mysqli_query($conn, $tagSql);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
$page = $_GET['Page'] ?? '';
|
|
|
$keys = urlencode($_GET['Keys'] ?? '');
|
|
@@ -185,10 +351,29 @@ if ($act == "edit") {
|
|
|
|
|
|
if ($isedit) {
|
|
|
// 联合查询客户基本信息和联系人信息
|
|
|
- $sql = "SELECT c.*, cc.contact_name, cc.tel, cc.tel_format, cc.tel_bu,
|
|
|
- cc.email, cc.email_bu, cc.whatsapp, cc.whatsapp_format, cc.whatsapp_bu,
|
|
|
- cc.wechat, cc.wechat_bu, cc.linkedin, cc.linkedin_bu, cc.facebook,
|
|
|
- cc.facebook_bu, cc.alibaba, cc.alibaba_bu, n.c_code
|
|
|
+ $sql = "SELECT c.*,
|
|
|
+ cc.id as contact_id, cc.contact_name,
|
|
|
+ cc.tel_1, cc.tel_1_format, cc.tel_1_bu,
|
|
|
+ cc.tel_2, cc.tel_2_format, cc.tel_2_bu,
|
|
|
+ cc.tel_3, cc.tel_3_format, cc.tel_3_bu,
|
|
|
+ cc.email_1, cc.email_1_bu,
|
|
|
+ cc.email_2, cc.email_2_bu,
|
|
|
+ cc.email_3, cc.email_3_bu,
|
|
|
+ cc.whatsapp_1, cc.whatsapp_1_format, cc.whatsapp_1_bu,
|
|
|
+ cc.whatsapp_2, cc.whatsapp_2_format, cc.whatsapp_2_bu,
|
|
|
+ cc.whatsapp_3, cc.whatsapp_3_format, cc.whatsapp_3_bu,
|
|
|
+ cc.wechat_1, cc.wechat_1_bu,
|
|
|
+ cc.wechat_2, cc.wechat_2_bu,
|
|
|
+ cc.wechat_3, cc.wechat_3_bu,
|
|
|
+ cc.linkedin_1, cc.linkedin_1_bu,
|
|
|
+ cc.linkedin_2, cc.linkedin_2_bu,
|
|
|
+ cc.linkedin_3, cc.linkedin_3_bu,
|
|
|
+ cc.facebook_1, cc.facebook_1_bu,
|
|
|
+ cc.facebook_2, cc.facebook_2_bu,
|
|
|
+ cc.facebook_3, cc.facebook_3_bu,
|
|
|
+ cc.alibaba_1, cc.alibaba_1_bu,
|
|
|
+ cc.alibaba_2, cc.alibaba_2_bu,
|
|
|
+ cc.alibaba_3, cc.alibaba_3_bu
|
|
|
FROM customer c
|
|
|
LEFT JOIN customer_contact cc ON c.id = cc.customer_id
|
|
|
WHERE c.id = $id";
|
|
@@ -199,20 +384,20 @@ if ($act == "edit") {
|
|
|
$cs_name = textDecode($row['contact_name']);
|
|
|
$cs_country = $row['cs_country'];
|
|
|
$cs_from = $row['cs_from'];
|
|
|
- $cs_tel = textDecode($row['tel']);
|
|
|
- $cs_telBu = textDecode($row['tel_bu']);
|
|
|
- $cs_email = textDecode($row['email']);
|
|
|
- $cs_emailBu = textDecode($row['email_bu']);
|
|
|
- $cs_whatsapp = textDecode($row['whatsapp']);
|
|
|
- $cs_whatsappBu = textDecode($row['whatsapp_bu']);
|
|
|
- $cs_wechat = textDecode($row['wechat']);
|
|
|
- $cs_wechatBu = textDecode($row['wechat_bu']);
|
|
|
- $cs_linkedin = textDecode($row['linkedin']);
|
|
|
- $cs_linkedinBu = textDecode($row['linkedin_bu']);
|
|
|
- $cs_facebook = textDecode($row['facebook']);
|
|
|
- $cs_facebookBu = textDecode($row['facebook_bu']);
|
|
|
- $cs_alibaba = textDecode($row['alibaba']);
|
|
|
- $cs_alibabaBu = textDecode($row['alibaba_bu']);
|
|
|
+ $cs_tel = textDecode($row['tel_1']);
|
|
|
+ $cs_telBu = textDecode($row['tel_1_bu']);
|
|
|
+ $cs_email = textDecode($row['email_1']);
|
|
|
+ $cs_emailBu = textDecode($row['email_1_bu']);
|
|
|
+ $cs_whatsapp = textDecode($row['whatsapp_1']);
|
|
|
+ $cs_whatsappBu = textDecode($row['whatsapp_1_bu']);
|
|
|
+ $cs_wechat = textDecode($row['wechat_1']);
|
|
|
+ $cs_wechatBu = textDecode($row['wechat_1_bu']);
|
|
|
+ $cs_linkedin = textDecode($row['linkedin_1']);
|
|
|
+ $cs_linkedinBu = textDecode($row['linkedin_1_bu']);
|
|
|
+ $cs_facebook = textDecode($row['facebook_1']);
|
|
|
+ $cs_facebookBu = textDecode($row['facebook_1_bu']);
|
|
|
+ $cs_alibaba = textDecode($row['alibaba_1']);
|
|
|
+ $cs_alibabaBu = textDecode($row['alibaba_1_bu']);
|
|
|
$cs_address = textDecode($row['cs_address']);
|
|
|
$cs_addtime = $row['cs_addtime'];
|
|
|
$cs_updatetime = $row['cs_updatetime'];
|
|
@@ -284,14 +469,14 @@ if (!empty($fliterEmployee)) {
|
|
|
}
|
|
|
|
|
|
if (!empty($fliterContact)) {
|
|
|
- switch($fliterContact) {
|
|
|
- case "1": $fliterStr .= " AND cs_tel != ''"; break;
|
|
|
- case "2": $fliterStr .= " AND cs_wechat != ''"; break;
|
|
|
- case "3": $fliterStr .= " AND cs_whatsapp != ''"; break;
|
|
|
- case "4": $fliterStr .= " AND cs_email != ''"; break;
|
|
|
- case "5": $fliterStr .= " AND cs_linkedin != ''"; break;
|
|
|
- case "6": $fliterStr .= " AND cs_facebook != ''"; break;
|
|
|
- case "7": $fliterStr .= " AND cs_alibaba != ''"; break;
|
|
|
+ switch ($fliterContact) {
|
|
|
+ case "1": $fliterStr .= " AND (cc.tel_1 != '' OR cc.tel_2 != '' OR cc.tel_3 != '')"; break;
|
|
|
+ case "2": $fliterStr .= " AND (cc.wechat_1 != '' OR cc.wechat_2 != '' OR cc.wechat_3 != '')"; break;
|
|
|
+ case "3": $fliterStr .= " AND (cc.whatsapp_1 != '' OR cc.whatsapp_2 != '' OR cc.whatsapp_3 != '')"; break;
|
|
|
+ case "4": $fliterStr .= " AND (cc.email_1 != '' OR cc.email_2 != '' OR cc.email_3 != '')"; break;
|
|
|
+ case "5": $fliterStr .= " AND (cc.linkedin_1 != '' OR cc.linkedin_2 != '' OR cc.linkedin_3 != '')"; break;
|
|
|
+ case "6": $fliterStr .= " AND (cc.facebook_1 != '' OR cc.facebook_2 != '' OR cc.facebook_3 != '')"; break;
|
|
|
+ case "7": $fliterStr .= " AND (cc.alibaba_1 != '' OR cc.alibaba_2 != '' OR cc.alibaba_3 != '')"; break;
|
|
|
}
|
|
|
$urlStr .= "&fliterContact=" . $fliterContact;
|
|
|
}
|
|
@@ -307,21 +492,60 @@ $ordStr = !empty($ord) ? "$ord," : "";
|
|
|
// 构建查询SQL - 修改为联合查询
|
|
|
$sqlStr = "SELECT c.id, c.cs_code, c.cs_company, c.cs_country, c.cs_address, c.cs_from,
|
|
|
c.cs_deal, c.cs_addtime, c.cs_updatetime, c.cs_belong, c.cs_note, c.cs_claimFrom,
|
|
|
- c.cs_chain, c.cs_dealdate, cc.contact_name as cs_name, cc.tel as cs_tel,
|
|
|
- cc.email as cs_email, cc.whatsapp as cs_whatsapp, cc.wechat as cs_wechat,
|
|
|
- cc.linkedin as cs_linkedin, cc.facebook as cs_facebook, cc.alibaba as cs_alibaba,
|
|
|
- cc.tel_format as cs_telformat, cc.whatsapp_format as cs_whatsappformat
|
|
|
+ c.cs_chain, c.cs_dealdate, c.cs_type, c.cs_belongclient, c.allowedit,
|
|
|
+ cc.id as contact_id, cc.contact_name,
|
|
|
+ cc.tel_1, cc.tel_1_format, cc.tel_1_bu,
|
|
|
+ cc.tel_2, cc.tel_2_format, cc.tel_2_bu,
|
|
|
+ cc.tel_3, cc.tel_3_format, cc.tel_3_bu,
|
|
|
+ cc.email_1, cc.email_1_bu,
|
|
|
+ cc.email_2, cc.email_2_bu,
|
|
|
+ cc.email_3, cc.email_3_bu,
|
|
|
+ cc.whatsapp_1, cc.whatsapp_1_format, cc.whatsapp_1_bu,
|
|
|
+ cc.whatsapp_2, cc.whatsapp_2_format, cc.whatsapp_2_bu,
|
|
|
+ cc.whatsapp_3, cc.whatsapp_3_format, cc.whatsapp_3_bu,
|
|
|
+ cc.wechat_1, cc.wechat_1_bu,
|
|
|
+ cc.wechat_2, cc.wechat_2_bu,
|
|
|
+ cc.wechat_3, cc.wechat_3_bu,
|
|
|
+ cc.linkedin_1, cc.linkedin_1_bu,
|
|
|
+ cc.linkedin_2, cc.linkedin_2_bu,
|
|
|
+ cc.linkedin_3, cc.linkedin_3_bu,
|
|
|
+ cc.facebook_1, cc.facebook_1_bu,
|
|
|
+ cc.facebook_2, cc.facebook_2_bu,
|
|
|
+ cc.facebook_3, cc.facebook_3_bu,
|
|
|
+ cc.alibaba_1, cc.alibaba_1_bu,
|
|
|
+ cc.alibaba_2, cc.alibaba_2_bu,
|
|
|
+ cc.alibaba_3, cc.alibaba_3_bu
|
|
|
FROM customer c
|
|
|
LEFT JOIN customer_contact cc ON c.id = cc.customer_id
|
|
|
- WHERE (c.cs_code LIKE '%$keyscode%'
|
|
|
+ WHERE 1=1";
|
|
|
+
|
|
|
+if (!empty($keyscode)) {
|
|
|
+ $sqlStr .= " AND (c.cs_code LIKE '%$keyscode%'
|
|
|
OR cc.contact_name LIKE '%$keyscode%'
|
|
|
- OR cc.wechat LIKE '%$keyscode%'
|
|
|
- OR cc.alibaba LIKE '%$keyscode%'
|
|
|
- OR cc.tel_format LIKE '%$keyscode%'
|
|
|
- OR cc.whatsapp_format LIKE '%$keyscode%'
|
|
|
- OR cc.email LIKE '%$keyscode%')
|
|
|
- $fliterStr
|
|
|
- ORDER BY {$ordStr}c.cs_updatetime DESC";
|
|
|
+ OR cc.tel_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.tel_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.tel_3 LIKE '%$keyscode%'
|
|
|
+ OR cc.email_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.email_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.email_3 LIKE '%$keyscode%'
|
|
|
+ OR cc.wechat_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.wechat_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.wechat_3 LIKE '%$keyscode%'
|
|
|
+ OR cc.whatsapp_1_format LIKE '%$keyscode%'
|
|
|
+ OR cc.whatsapp_2_format LIKE '%$keyscode%'
|
|
|
+ OR cc.whatsapp_3_format LIKE '%$keyscode%'
|
|
|
+ OR cc.linkedin_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.linkedin_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.linkedin_3 LIKE '%$keyscode%'
|
|
|
+ OR cc.facebook_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.facebook_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.facebook_3 LIKE '%$keyscode%'
|
|
|
+ OR cc.alibaba_1 LIKE '%$keyscode%'
|
|
|
+ OR cc.alibaba_2 LIKE '%$keyscode%'
|
|
|
+ OR cc.alibaba_3 LIKE '%$keyscode%')";
|
|
|
+}
|
|
|
+
|
|
|
+$sqlStr .= " $fliterStr ORDER BY {$ordStr}c.cs_updatetime DESC";
|
|
|
|
|
|
?>
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
@@ -389,13 +613,13 @@ if (!empty($filters['Business'])) {
|
|
|
|
|
|
if (!empty($filters['Contact'])) {
|
|
|
switch ($filters['Contact']) {
|
|
|
- case "1": $filterStr .= " AND cs_tel<>''"; break;
|
|
|
- case "2": $filterStr .= " AND cs_wechat<>''"; break;
|
|
|
- case "3": $filterStr .= " AND cs_whatsapp<>''"; break;
|
|
|
- case "4": $filterStr .= " AND cs_email<>''"; break;
|
|
|
- case "5": $filterStr .= " AND cs_linkedin<>''"; break;
|
|
|
- case "6": $filterStr .= " AND cs_facebook<>''"; break;
|
|
|
- default: $filterStr .= " AND cs_alibaba<>''";
|
|
|
+ case "1": $filterStr .= " AND (cc.tel_1 != '' OR cc.tel_2 != '' OR cc.tel_3 != '')"; break;
|
|
|
+ case "2": $filterStr .= " AND (cc.wechat_1 != '' OR cc.wechat_2 != '' OR cc.wechat_3 != '')"; break;
|
|
|
+ case "3": $filterStr .= " AND (cc.whatsapp_1 != '' OR cc.whatsapp_2 != '' OR cc.whatsapp_3 != '')"; break;
|
|
|
+ case "4": $filterStr .= " AND (cc.email_1 != '' OR cc.email_2 != '' OR cc.email_3 != '')"; break;
|
|
|
+ case "5": $filterStr .= " AND (cc.linkedin_1 != '' OR cc.linkedin_2 != '' OR cc.linkedin_3 != '')"; break;
|
|
|
+ case "6": $filterStr .= " AND (cc.facebook_1 != '' OR cc.facebook_2 != '' OR cc.facebook_3 != '')"; break;
|
|
|
+ case "7": $filterStr .= " AND (cc.alibaba_1 != '' OR cc.alibaba_2 != '' OR cc.alibaba_3 != '')"; break;
|
|
|
}
|
|
|
$urlStr .= "&fliterContact=" . $filters['Contact'];
|
|
|
}
|
|
@@ -494,28 +718,65 @@ $hrefstr = "?keys=" . $keys;
|
|
|
</div>
|
|
|
|
|
|
<?php
|
|
|
- $sql = "SELECT c.id, c.cs_code, c.cs_from, c.cs_country, c.cs_type, c.cs_deal, c.cs_addtime,
|
|
|
- c.colortag, c.cs_note, c.cs_claimFrom, cc.tel as cs_tel, cc.email as cs_email,
|
|
|
- cc.whatsapp as cs_whatsapp, cc.wechat as cs_wechat, cc.linkedin as cs_linkedin,
|
|
|
- cc.facebook as cs_facebook, cc.alibaba as cs_alibaba, cc.tel_format as cs_telformat,
|
|
|
- cc.whatsapp_format as cs_whatsappformat
|
|
|
+ $sql = "SELECT c.id, c.cs_code, c.cs_company, c.cs_country, c.cs_address, c.cs_from,
|
|
|
+ c.cs_deal, c.cs_addtime, c.cs_updatetime, c.cs_belong, c.cs_note, c.cs_claimFrom,
|
|
|
+ c.cs_chain, c.cs_dealdate, c.cs_type, c.cs_belongclient, c.allowedit,c.colortag,
|
|
|
+ cc.id as contact_id, cc.contact_name,
|
|
|
+ cc.tel_1, cc.tel_1_format, cc.tel_1_bu,
|
|
|
+ cc.tel_2, cc.tel_2_format, cc.tel_2_bu,
|
|
|
+ cc.tel_3, cc.tel_3_format, cc.tel_3_bu,
|
|
|
+ cc.email_1, cc.email_1_bu,
|
|
|
+ cc.email_2, cc.email_2_bu,
|
|
|
+ cc.email_3, cc.email_3_bu,
|
|
|
+ cc.whatsapp_1, cc.whatsapp_1_format, cc.whatsapp_1_bu,
|
|
|
+ cc.whatsapp_2, cc.whatsapp_2_format, cc.whatsapp_2_bu,
|
|
|
+ cc.whatsapp_3, cc.whatsapp_3_format, cc.whatsapp_3_bu,
|
|
|
+ cc.wechat_1, cc.wechat_1_bu,
|
|
|
+ cc.wechat_2, cc.wechat_2_bu,
|
|
|
+ cc.wechat_3, cc.wechat_3_bu,
|
|
|
+ cc.linkedin_1, cc.linkedin_1_bu,
|
|
|
+ cc.linkedin_2, cc.linkedin_2_bu,
|
|
|
+ cc.linkedin_3, cc.linkedin_3_bu,
|
|
|
+ cc.facebook_1, cc.facebook_1_bu,
|
|
|
+ cc.facebook_2, cc.facebook_2_bu,
|
|
|
+ cc.facebook_3, cc.facebook_3_bu,
|
|
|
+ cc.alibaba_1, cc.alibaba_1_bu,
|
|
|
+ cc.alibaba_2, cc.alibaba_2_bu,
|
|
|
+ cc.alibaba_3, cc.alibaba_3_bu
|
|
|
FROM customer c
|
|
|
- LEFT JOIN customer_contact cc ON c.id = cc.customer_id
|
|
|
+ LEFT JOIN customer_contact cc ON c.id = cc.customer_id
|
|
|
WHERE c.is_silent=0 AND c.cs_deal>0 AND c.cs_belong=" . (int)$_SESSION['employee_id'];
|
|
|
|
|
|
$searchPattern = mysqli_real_escape_string($conn, $keyscode);
|
|
|
if(!empty($searchPattern)) {
|
|
|
$sql .= " AND (c.cs_code LIKE '%$searchPattern%'
|
|
|
OR cc.contact_name LIKE '%$searchPattern%'
|
|
|
- OR cc.email LIKE '%$searchPattern%'
|
|
|
- OR cc.wechat LIKE '%$searchPattern%'
|
|
|
- OR cc.tel_format LIKE '%$searchPattern%'
|
|
|
- OR cc.whatsapp_format LIKE '%$searchPattern%'
|
|
|
- OR c.cs_code LIKE '%$searchPattern%')";
|
|
|
+ OR cc.tel_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.tel_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.tel_3 LIKE '%$searchPattern%'
|
|
|
+ OR cc.email_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.email_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.email_3 LIKE '%$searchPattern%'
|
|
|
+ OR cc.wechat_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.wechat_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.wechat_3 LIKE '%$searchPattern%'
|
|
|
+ OR cc.whatsapp_1_format LIKE '%$searchPattern%'
|
|
|
+ OR cc.whatsapp_2_format LIKE '%$searchPattern%'
|
|
|
+ OR cc.whatsapp_3_format LIKE '%$searchPattern%'
|
|
|
+ OR cc.linkedin_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.linkedin_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.linkedin_3 LIKE '%$searchPattern%'
|
|
|
+ OR cc.facebook_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.facebook_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.facebook_3 LIKE '%$searchPattern%'
|
|
|
+ OR cc.alibaba_1 LIKE '%$searchPattern%'
|
|
|
+ OR cc.alibaba_2 LIKE '%$searchPattern%'
|
|
|
+ OR cc.alibaba_3 LIKE '%$searchPattern%')";
|
|
|
}
|
|
|
|
|
|
$sql .= " $filterStr ORDER BY c.colortag DESC, c.id DESC";
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
$result = mysqli_query($conn, $sql);
|
|
|
|
|
|
// Pagination logic
|
|
@@ -587,13 +848,83 @@ $hrefstr = "?keys=" . $keys;
|
|
|
<div class="notepanel clear">
|
|
|
<div class="noteItem">联系方式</div>
|
|
|
<div class="lx">
|
|
|
- <div class="tel"><?= $row['cs_tel'] ?></div>
|
|
|
- <div class="mail"><a href="mailto:<?= $row['cs_email'] ?>"><?= $row['cs_email'] ?></a></div>
|
|
|
- <div class="whatsapp"><?= $row['cs_whatsapp'] ?></div>
|
|
|
- <div class="wechat"><?= $row['cs_wechat'] ?></div>
|
|
|
- <div class="linkedin"><?= $row['cs_linkedin'] ?></div>
|
|
|
- <div class="facebook"><?= $row['cs_facebook'] ?></div>
|
|
|
- <div class="alibaba"><?= $row['cs_alibaba'] ?></div>
|
|
|
+ <div class="tel">
|
|
|
+ <?php if(!empty($row['tel_1'])): ?>
|
|
|
+ <div><?= $row['tel_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['tel_2'])): ?>
|
|
|
+ <div><?= $row['tel_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['tel_3'])): ?>
|
|
|
+ <div><?= $row['tel_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="mail">
|
|
|
+ <?php if(!empty($row['email_1'])): ?>
|
|
|
+ <div><a href="mailto:<?= $row['email_1'] ?>"><?= $row['email_1'] ?></a></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['email_2'])): ?>
|
|
|
+ <div><a href="mailto:<?= $row['email_2'] ?>"><?= $row['email_2'] ?></a></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['email_3'])): ?>
|
|
|
+ <div><a href="mailto:<?= $row['email_3'] ?>"><?= $row['email_3'] ?></a></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="whatsapp">
|
|
|
+ <?php if(!empty($row['whatsapp_1'])): ?>
|
|
|
+ <div><?= $row['whatsapp_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['whatsapp_2'])): ?>
|
|
|
+ <div><?= $row['whatsapp_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['whatsapp_3'])): ?>
|
|
|
+ <div><?= $row['whatsapp_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="wechat">
|
|
|
+ <?php if(!empty($row['wechat_1'])): ?>
|
|
|
+ <div><?= $row['wechat_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['wechat_2'])): ?>
|
|
|
+ <div><?= $row['wechat_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['wechat_3'])): ?>
|
|
|
+ <div><?= $row['wechat_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="linkedin">
|
|
|
+ <?php if(!empty($row['linkedin_1'])): ?>
|
|
|
+ <div><?= $row['linkedin_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['linkedin_2'])): ?>
|
|
|
+ <div><?= $row['linkedin_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['linkedin_3'])): ?>
|
|
|
+ <div><?= $row['linkedin_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="facebook">
|
|
|
+ <?php if(!empty($row['facebook_1'])): ?>
|
|
|
+ <div><?= $row['facebook_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['facebook_2'])): ?>
|
|
|
+ <div><?= $row['facebook_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['facebook_3'])): ?>
|
|
|
+ <div><?= $row['facebook_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
+ <div class="alibaba">
|
|
|
+ <?php if(!empty($row['alibaba_1'])): ?>
|
|
|
+ <div><?= $row['alibaba_1'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['alibaba_2'])): ?>
|
|
|
+ <div><?= $row['alibaba_2'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ <?php if(!empty($row['alibaba_3'])): ?>
|
|
|
+ <div><?= $row['alibaba_3'] ?></div>
|
|
|
+ <?php endif; ?>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="noteItem2">备注</div>
|
|
|
<div class="notecontent"><?= htmlUnCode($row['cs_note']) ?></div>
|