📄 modcustomermenu.bas
字号:
Attribute VB_Name = "ModCustomerMenu"
Option Explicit
'创建职位柴单
Public Sub pCreateCustomerMenu(lnghwndOwner As Long, x As Long, y As Long)
Dim i As Long
Dim strsql As String
Dim lngMenuCounter As Long
Dim mclsEmployee As New PEmployee.clsEmployee
Set mclsEmployee = GetclsEmployee
Dim mEmployee As PEmployee.Employee
Dim mEmployees As PEmployee.Employees
Set frmMain.mclsCustomerMenu = New XpPopMenu.cPopupMenu
frmMain.mclsCustomerMenu.hwndOwner = lnghwndOwner
frmMain.mclsCustomerMenu.OfficeXpStyle = False
frmMain.mclsCustomerMenu.ClearMenuItems
Dim mclsSystemMenu1 As New PSystemMenu.clsSystemMenu
Dim mSystemMenus As PSystemMenu.SystemMenus
Dim mSystemMenu As PSystemMenu.SystemMenu
mclsSystemMenu1.Init gdbCurrentDB
If m_E_ViewMode = m_ServerMode Then
strsql = "select * from SystemMenu Where strMenuName='mclsCustomerMenuSever' order by intorder"
ElseIf m_E_ViewMode = m_CliendMode Then
strsql = "select * from SystemMenu Where strMenuName='mclsCustomerMenu' order by intorder"
End If
mclsSystemMenu1.GetSystemMenus strsql, mSystemMenus
If mSystemMenus.Count > 0 Then
For lngMenuCounter = 0 To mSystemMenus.Count
LSet mSystemMenu = mSystemMenus.SystemMenu(lngMenuCounter)
If mSystemMenu.lngSystemMenuID > 0 Then
frmMain.mclsCustomerMenu.AddMenuItem mSystemMenu.sKey, IIf(BlnEnglishVersion, mSystemMenu.sEnglishCaption, mSystemMenu.sCaption), mSystemMenu.strParenetKey, mSystemMenu.sHelptext, mSystemMenu.lItemData, mSystemMenu.iIconIndex, mSystemMenu.bChecked, True, mSystemMenu.bVisable
End If
Next lngMenuCounter
End If
'设置常见只
Dim blnSelectMail As Boolean
blnSelectMail = frmMain.ctlMailList.mlngCurrentSelectID > 0
If m_E_ViewMode = m_ServerMode Then
strsql = "select * from Employee"
mclsEmployee.GetEmployees strsql, mEmployees
If mEmployees.Count > 0 Then
For i = 0 To mEmployees.Count - 1
LSet mEmployee = mEmployees.Employee(i)
frmMain.mclsCustomerMenu.AddMenuItem "EmployeeCustomer" & mEmployee.LngEmployeeID, mEmployee.strEmployeeName & "(" & mEmployee.strEmail & ")", "EmployeeCustomer", , 100
Next i
End If
End If
'设置列 的彩旦
Dim iCol As Long
Dim strCaption As String
Dim Checked As Boolean
Dim Tag As String '为KEY
' add to columns menu:
For iCol = 1 To frmMain.ctlMailList.Columns
strCaption = IIf(Len(frmMain.ctlMailList.ColumnHeader(iCol)) = 0, frmMain.ctlMailList.ColumnKey(iCol), frmMain.ctlMailList.ColumnHeader(iCol))
Checked = frmMain.ctlMailList.ColumnVisible(iCol)
Tag = frmMain.ctlMailList.ColumnKey(iCol)
If UCase(strCaption) <> UCase("ID") And Trim(strCaption) <> "" Then
frmMain.mclsCustomerMenu.AddMenuItem Tag, strCaption, "ViewColumn", , , , Checked
End If
Next iCol
frmMain.mclsCustomerMenu.MenuItemEnabled("Modify") = blnSelectMail
frmMain.mclsCustomerMenu.MenuItemEnabled("Delete") = blnSelectMail
frmMain.mclsCustomerMenu.MenuItemEnabled("AddEmployeeToNote") = blnSelectMail
frmMain.mclsCustomerMenu.MenuItemEnabled("DeleteAll") = frmMain.ctlMailList.Rows > 0
frmMain.mclsCustomerMenu.MenuItemEnabled("Group") = frmMain.ctlMailList.AllowGrouping
'设置权限中的可用只
strsql = "select * from SystemMenu Where strMenuName='mclsCustomerMenu' And bEnabled=0 order by intorder"
mclsSystemMenu1.GetSystemMenus strsql, mSystemMenus
If mSystemMenus.Count > 0 Then
For lngMenuCounter = 0 To mSystemMenus.Count
LSet mSystemMenu = mSystemMenus.SystemMenu(lngMenuCounter)
If mSystemMenu.lngSystemMenuID > 0 Then
frmMain.mclsCustomerMenu.MenuItemEnabled(mSystemMenu.sKey) = False
End If
Next lngMenuCounter
End If
frmMain.mclsCustomerMenu.ShowPopupMenu x, y
Set mclsSystemMenu1 = Nothing
Set mclsEmployee = Nothing
End Sub
Public Sub RaiseCustomerMenu_Click(ItemNumber As Long)
Dim strKey As String
strKey = frmMain.mclsCustomerMenu.MenuItemKey(ItemNumber)
Dim mclsCustomer As PCustomer.clsCustomer
Set mclsCustomer = GetclsCustomer
Dim mCustomer As PCustomer.Customer
Dim mclsEmployee As New PEmployee.clsEmployee
Dim mEmployee As PEmployee.Employee
Set mclsEmployee = GetclsEmployee
'**************************************************************************
'将客户分配给职员
Dim LngEmployeeID As Long
If InStr(1, UCase(strKey), UCase("EmployeeCustomer")) > 0 Then
LngEmployeeID = Val(Replace(UCase(strKey), UCase("EmployeeCustomer"), ""))
If LngEmployeeID > 0 Then
mclsCustomer.GetCustomer frmMain.ctlMailList.mlngCurrentSelectID, mCustomer
If mCustomer.LngCustomerID > 0 Then
mCustomer.LngEmployeeID = LngEmployeeID
If mclsCustomer.SaveCustomer(mCustomer) Then
frmMain.RefreshMailList
End If
End If
End If
Exit Sub
End If
'**************************************************************************
'**************************************************************************
Select Case UCase(strKey)
Case UCase("NEW") '新增
mclsCustomer.AddCustomerShowDialog (gLngEmployeeID1)
frmMain.RefreshMailList
frmMain.RefreshCustomer
frmMain.Status "共有" & frmMain.ctlMailList.Rows & "笔记录."
Case UCase("MODIFY") '修改
If mclsCustomer.EditCustomerShowDialog(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1) Then
frmMain.RefreshMailList
frmMain.RefreshCustomer
frmMain.Status "共有" & frmMain.ctlMailList.Rows & "笔记录."
End If
Case UCase("DELETE") '删除
If mclsCustomer.DeleteCustomer(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, True) Then
frmMain.ctlMailList.RemoveRow False, True, 0
frmMain.RefreshCustomer
frmMain.Status "共有" & frmMain.ctlMailList.Rows & "笔记录."
End If
Case UCase("DeleteAll") '删除
mclsCustomer.DeleteCustomers (gLngEmployeeID1)
frmMain.RefreshMailList
frmMain.RefreshCustomer
frmMain.Status "共有" & frmMain.ctlMailList.Rows & "笔记录."
Case UCase("Refreshdata") '刷新
frmMain.RefreshMailList
frmMain.Status "共有" & frmMain.ctlMailList.Rows & "笔记录."
Case UCase("GROUP") '分组
frmMain.ctlMailList.AllowGrouping = True
'将客户添加到通讯薄
Case UCase("AddEmployeeToNote")
FrmAddToNote.ShowMe AddCustomer
Case Else
'点击的是显示列设置
'********************************************************************************
'设置列可见
If frmMain.ctlMailList.ColumnVisibleCount = 1 Then
ShowMessageBoxEx "至少必须有一列可见!", vbOKOnly, "设置列可见"
ElseIf frmMain.ctlMailList.ColumnVisibleCount > 1 Then
frmMain.mclsCustomerMenu.MenuItemChecked(ItemNumber) = Not frmMain.mclsCustomerMenu.MenuItemChecked(ItemNumber)
frmMain.ctlMailList.ColumnVisible(frmMain.mclsCustomerMenu.MenuItemKey(ItemNumber)) = frmMain.mclsCustomerMenu.MenuItemChecked(ItemNumber)
End If
'********************************************************************************
End Select
Set mclsCustomer = Nothing
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -