AgentManager/DLG_Corp_BZ.cpp
2025-01-22 15:45:17 +08:00

234 lines
5.6 KiB
C++

// DLG_Corp_BZ.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_BZ.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_BZ dialog
DLG_Corp_BZ::DLG_Corp_BZ(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_BZ::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Corp_BZ)
m_strBZ = _T("");
//}}AFX_DATA_INIT
m_pSee = NULL;
m_pSeeData = NULL;
m_pMemberData = NULL;
m_lLXRSel = 0;
m_bSendSms = false;
}
void DLG_Corp_BZ::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_BZ)
DDX_Control(pDX, IDC_CORP_BZ_SENDSMS, m_B_SendSms);
DDX_Control(pDX, IDC_CORP_BZ_LXR, m_L_LXRID);
DDX_Control(pDX, IDC_CORP_BZ_BZ2, m_E_Msg2);
DDX_Control(pDX, IDC_CORP_BZ_BZ, m_E_Msg);
DDX_Control(pDX, IDC_CORP_BZ_LIST, m_wndList);
DDX_Text(pDX, IDC_CORP_BZ_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 250);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Corp_BZ, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_BZ)
ON_NOTIFY(NM_DBLCLK, IDC_CORP_BZ_LIST, OnDblclkCorpBzList)
ON_NOTIFY(NM_CLICK, IDC_CORP_BZ_LIST, OnClickCorpBzList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_BZ message handlers
BOOL DLG_Corp_BZ::OnInitDialog()
{
CDialog::OnInitDialog();
//初始化List
m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("序号,60; 日期,120;创建人,80; 部门,70; 类型,70; 内容,520;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
//初始化联系人
if ( m_lBZType==1 )
{
GetDlgItem(IDC_CORP_BZ_LXR)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CORP_BZ_LXR_S)->ShowWindow(SW_SHOW);
//添加会员
CString str;
for ( int i=0 ; i<m_pSee->lMemberCount ; i++ )
{
str.Format( _T("%s,%s,%s[%s,%s]") , m_pMemberData[i].szName,m_pMemberData[i].szMobile,m_pMemberData[i].szTel,m_pMemberData[i].szNickName,m_pMemberData[i].szSex );
int iItem = m_L_LXRID.AddString(str );
m_L_LXRID.SetItemData(iItem , m_pMemberData[i].lLXRID );
}
if (m_pSee->lMemberCount>0 )
m_L_LXRID.SetCurSel(0);
#ifdef MANAGER_VER_HF
GetDlgItem(IDC_CORP_BZ_SENDSMS)->ShowWindow(SW_SHOW);
m_B_SendSms.SetCheck(false);
#endif
}
CString strTemp;
for ( int i=0 ; i< m_pSee->lCount ; i++ )
{
strTemp.Format( _T("%d") , i+1 );
m_wndList.InsertItem( i , strTemp , 0 );
m_wndList.SetItemData( i , i);
long iTemp=1;
strTemp.Format( _T("%04d.%02d.%02d") , m_pSeeData[i].tCreateTime.wYear,m_pSeeData[i].tCreateTime.wMonth,m_pSeeData[i].tCreateTime.wDay );
m_wndList.SetItemText( i , iTemp++ , strTemp);
m_wndList.SetItemText( i , iTemp++ , m_pSeeData[i].szCreateUser);
switch( m_pSeeData[i].lBZType )
{
case 2:
m_wndList.SetItemText( i , iTemp++ , _T("客服") );
break;
default:
m_wndList.SetItemText( i , iTemp++ , _T("业务") );
break;
}
switch( m_pSeeData[i].lNRType )
{
case 1:
m_wndList.SetItemText( i , iTemp++ , _T("回访") );
break;
default:
m_wndList.SetItemText( i , iTemp++ , _T("备注") );
break;
}
m_wndList.SetItemText( i , iTemp++ , m_pSeeData[i].szBZ );
}
if ( m_lBZType==1 )
{
strTemp.Format( _T("回访管理 - %s") , m_pSee->szName );
GetDlgItem(IDC_CORP_BZ_S5)->SetWindowText( _T("新增回访") );
GetDlgItem(IDOK)->SetWindowText( _T("添加回访") );
m_strBZ = _T("回访目的:\r\n\r\n\r\n") \
_T("回访结果:\r\n");
}
else
{
strTemp.Format( _T("备注管理 - %s") , m_pSee->szName );
}
this->SetWindowText(strTemp);
UpdateData(false);
if (m_strTip.GetLength() > 0)
{
GetDlgItem(IDC_CORP_BZ_S5)->SetWindowText(m_strTip);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_BZ::SetParam(ANS_Corp_BZ_See *pSee, ANS_Corp_BZ_Data *pSeeData,long lBZType , ANS_Corp_MemberData * pMemberData, CString strTip)
{
m_pSee = pSee;
m_pSeeData= pSeeData;
m_pMemberData = pMemberData;
m_lBZType = lBZType;
m_strTip = strTip;
}
void DLG_Corp_BZ::OnOK()
{
if ( !UpdateData(true))
return ;
m_lLXRSel = m_L_LXRID.GetCurSel();
#ifdef MANAGER_VER_HF
m_bSendSms = m_B_SendSms.GetCheck();
if ( m_bSendSms && m_lLXRSel>=0 && m_lLXRSel<m_pSee->lMemberCount)
{
if ( !isMobileNum(m_pMemberData[m_lLXRSel].szMobile) )
{
MessageBox(_T("你选择了发送满意度调查短信,但回访人的手机号码不正确!") , _T("错误") , MB_ICONWARNING );
return ;
}
}
else
{
m_bSendSms = false;
}
#endif
long lBZLen=10;
if ( m_lBZType == 1 )
lBZLen=40;
if (m_strBZ.GetLength()<lBZLen )
{
MessageBox( _T("没输入内容或内容过短,请检查!" ) , _T("错误") , MB_ICONWARNING | MB_OK );
GetDlgItem(IDC_CORP_BZ_BZ)->SetFocus();
return ;
}
if (m_lLXRSel >= 0 && m_lLXRSel < m_pSee->lMemberCount)
{
CString strLXRName = m_pMemberData[m_lLXRSel].szName;
m_strBZ = m_strBZ + CString(_T("\r\n\r\n回访联系人:"))+strLXRName;
UpdateData(false);
}
CDialog::OnOK();
}
void DLG_Corp_BZ::OnDblclkCorpBzList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem<0 )
return ;
long lIndex = m_wndList.GetItemData(lItem);
if ( lIndex>=0 && lIndex<m_pSee->lCount )
m_E_Msg2.SetWindowText( m_pSeeData[lIndex].szBZ );
}
void DLG_Corp_BZ::OnClickCorpBzList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem<0 )
return ;
long lIndex = m_wndList.GetItemData(lItem);
if ( lIndex>=0 && lIndex<m_pSee->lCount )
m_E_Msg2.SetWindowText( m_pSeeData[lIndex].szBZ );
}