+
上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:14k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  3. Begin VB.Form Operator_Frm 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "操作员权限设置"
  6.    ClientHeight    =   5070
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   7275
  10.    HelpContextID   =   2212007
  11.    Icon            =   "基础设置_操作员权限设置.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    LockControls    =   -1  'True
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   5070
  17.    ScaleWidth      =   7275
  18.    ShowInTaskbar   =   0   'False
  19.    StartUpPosition =   2  '屏幕中心
  20.    Begin VB.Timer Timer1 
  21.       Interval        =   1
  22.       Left            =   1410
  23.       Top             =   4800
  24.    End
  25.    Begin VB.Frame Frame2 
  26.       Height          =   690
  27.       Left            =   105
  28.       TabIndex        =   10
  29.       Top             =   60
  30.       Width           =   7020
  31.       Begin MSComctlLib.ImageCombo ImgCbo_Ope 
  32.          Height          =   315
  33.          Left            =   915
  34.          TabIndex        =   11
  35.          Top             =   240
  36.          Width           =   5985
  37.          _ExtentX        =   10557
  38.          _ExtentY        =   556
  39.          _Version        =   393216
  40.          ForeColor       =   -2147483640
  41.          BackColor       =   -2147483643
  42.          Text            =   "ImageCombo1"
  43.       End
  44.       Begin VB.Label Label1 
  45.          AutoSize        =   -1  'True
  46.          BackStyle       =   0  'Transparent
  47.          Caption         =   "操作员"
  48.          Height          =   180
  49.          Left            =   165
  50.          TabIndex        =   12
  51.          Top             =   285
  52.          Width           =   540
  53.       End
  54.    End
  55.    Begin MSComctlLib.ImageList ImageList1 
  56.       Left            =   540
  57.       Top             =   4590
  58.       _ExtentX        =   1005
  59.       _ExtentY        =   1005
  60.       BackColor       =   -2147483643
  61.       ImageWidth      =   16
  62.       ImageHeight     =   16
  63.       MaskColor       =   12632256
  64.       _Version        =   393216
  65.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  66.          NumListImages   =   5
  67.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  68.             Picture         =   "基础设置_操作员权限设置.frx":1042
  69.             Key             =   ""
  70.          EndProperty
  71.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  72.             Picture         =   "基础设置_操作员权限设置.frx":13DC
  73.             Key             =   ""
  74.          EndProperty
  75.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  76.             Picture         =   "基础设置_操作员权限设置.frx":1776
  77.             Key             =   ""
  78.          EndProperty
  79.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  80.             Picture         =   "基础设置_操作员权限设置.frx":27C8
  81.             Key             =   ""
  82.          EndProperty
  83.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  84.             Picture         =   "基础设置_操作员权限设置.frx":2C1A
  85.             Key             =   ""
  86.          EndProperty
  87.       EndProperty
  88.    End
  89.    Begin VB.CommandButton Cmd_Cancel 
  90.       Caption         =   "取消(&C)"
  91.       Height          =   300
  92.       Left            =   6030
  93.       TabIndex        =   8
  94.       Top             =   4665
  95.       Width           =   1120
  96.    End
  97.    Begin VB.CommandButton Cmd_Save 
  98.       Caption         =   "保存(&S)"
  99.       Height          =   300
  100.       Left            =   4815
  101.       TabIndex        =   7
  102.       Top             =   4665
  103.       Width           =   1120
  104.    End
  105.    Begin VB.CommandButton Cmd_All 
  106.       Caption         =   "全选(&A)"
  107.       Height          =   300
  108.       Left            =   1320
  109.       TabIndex        =   6
  110.       Top             =   4665
  111.       Width           =   1120
  112.    End
  113.    Begin VB.CommandButton Cmd_Qing 
  114.       Caption         =   "全清(&L)"
  115.       Height          =   300
  116.       Left            =   105
  117.       TabIndex        =   5
  118.       Top             =   4665
  119.       Width           =   1120
  120.    End
  121.    Begin VB.Frame Frame1 
  122.       Caption         =   "操作员权限"
  123.       Height          =   3765
  124.       Left            =   90
  125.       TabIndex        =   0
  126.       Top             =   810
  127.       Width           =   7065
  128.       Begin VB.PictureBox Pic 
  129.          BorderStyle     =   0  'None
  130.          Height          =   2985
  131.          Left            =   4980
  132.          ScaleHeight     =   2985
  133.          ScaleWidth      =   135
  134.          TabIndex        =   9
  135.          Top             =   720
  136.          Width           =   135
  137.       End
  138.       Begin MSComctlLib.TreeView Tre_Dept 
  139.          Height          =   3105
  140.          Left            =   2490
  141.          TabIndex        =   2
  142.          Top             =   540
  143.          Width           =   4440
  144.          _ExtentX        =   7832
  145.          _ExtentY        =   5477
  146.          _Version        =   393217
  147.          Indentation     =   529
  148.          LabelEdit       =   1
  149.          LineStyle       =   1
  150.          Style           =   7
  151.          Checkboxes      =   -1  'True
  152.          ImageList       =   "ImageList1"
  153.          Appearance      =   1
  154.       End
  155.       Begin MSComctlLib.TreeView Tre_Sort 
  156.          Height          =   3105
  157.          Left            =   120
  158.          TabIndex        =   1
  159.          Top             =   540
  160.          Width           =   2280
  161.          _ExtentX        =   4022
  162.          _ExtentY        =   5477
  163.          _Version        =   393217
  164.          Indentation     =   529
  165.          LabelEdit       =   1
  166.          LineStyle       =   1
  167.          Style           =   7
  168.          Checkboxes      =   -1  'True
  169.          ImageList       =   "ImageList1"
  170.          Appearance      =   1
  171.       End
  172.       Begin VB.Label Label3 
  173.          AutoSize        =   -1  'True
  174.          BackStyle       =   0  'Transparent
  175.          BorderStyle     =   1  'Fixed Single
  176.          Caption         =   "组织机构"
  177.          Height          =   240
  178.          Left            =   2490
  179.          TabIndex        =   4
  180.          Top             =   270
  181.          Width           =   4440
  182.       End
  183.       Begin VB.Label Label2 
  184.          AutoSize        =   -1  'True
  185.          BackStyle       =   0  'Transparent
  186.          BorderStyle     =   1  'Fixed Single
  187.          Caption         =   "工资类别"
  188.          Height          =   240
  189.          Left            =   120
  190.          TabIndex        =   3
  191.          Top             =   270
  192.          Width           =   2280
  193.       End
  194.    End
  195. End
  196. Attribute VB_Name = "Operator_Frm"
  197. Attribute VB_GlobalNameSpace = False
  198. Attribute VB_Creatable = False
  199. Attribute VB_PredeclaredId = True
  200. Attribute VB_Exposed = False
  201. '*******************************************************
  202. '*    模 块 名 称 :操作员权限设置
  203. '*    功 能 描 述 :设置操作员对部门的操作权限、对工资类别的操作权限
  204. '*    程序员姓名  :田建秀
  205. '*    最后修改人  :田建秀
  206. '*    最后修改时间:2001/12/06
  207. '*    备        注:
  208. '*******************************************************
  209. Option Explicit
  210. Dim Rsc As New ADODB.Recordset
  211. Dim Sql As String
  212. Dim NodX As Node
  213. Dim CzyBm As String
  214. Dim I As Integer
  215. Dim T1r As Single         'tre_sort的右边界
  216. Dim T2r As Single         'tre_dept的右边界
  217. Dim pw As Single
  218. Dim CanMove As Boolean    'pic可移动否
  219. Dim Str_RightEdit As String              '编辑(新增、修改、删除)权限索引
  220. Private Sub Cmd_All_Click()
  221.     With Tre_Sort
  222.         For I = 1 To .Nodes.Count
  223.             .Nodes(I).Checked = True
  224.         Next
  225.     End With
  226.     
  227.     With Tre_Dept
  228.         For I = 1 To .Nodes.Count
  229.             .Nodes(I).Checked = True
  230.         Next
  231.     End With
  232.     
  233. End Sub
  234. Private Sub Cmd_Cancel_Click()
  235.     Unload Me
  236. End Sub
  237. Private Sub Cmd_Qing_Click()
  238.     With Tre_Sort
  239.         For I = 1 To .Nodes.Count
  240.             .Nodes(I).Checked = False
  241.         Next
  242.     End With
  243.     With Tre_Dept
  244.         For I = 1 To .Nodes.Count
  245.             .Nodes(I).Checked = False
  246.         Next
  247.     End With
  248. End Sub
  249. Private Sub Cmd_Save_Click()
  250.     Dim SqlSort As String
  251.     Dim SqlDept As String
  252.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  253.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  254.         Exit Sub
  255.     End If
  256.     
  257.     With Tre_Sort
  258.         For I = 1 To .Nodes.Count
  259.             If .Nodes(I).Checked = True Then
  260.                 SqlSort = SqlSort & " insert Pm_OpeSort values('" & _
  261.                         Trim(CzyBm) & "','" & _
  262.                         Right(Trim(.Nodes(I).Key), Len(Trim(.Nodes(I).Key)) - 1) & "')"
  263.             End If
  264.         Next
  265.     End With
  266.     SqlSort = " delete pm_OpeSort where czybm='" & CzyBm & "'" & SqlSort
  267.     
  268.     
  269.     With Tre_Dept
  270.         For I = 1 To .Nodes.Count
  271.             If .Nodes(I).Checked = True Then
  272.                 SqlDept = SqlDept & " insert Pm_OpeDept values('" & _
  273.                         Trim(CzyBm) & "','" & _
  274.                         Right(Trim(.Nodes(I).Key), Len(Trim(.Nodes(I).Key)) - 1) & "')"
  275.             End If
  276.         Next
  277.     End With
  278.     
  279.     SqlDept = " delete pm_OpeDept where czybm='" & CzyBm & "'" & SqlDept
  280.     
  281.     On Error GoTo Err1
  282.     Cw_DataEnvi.DataConnect.BeginTrans
  283.     Cw_DataEnvi.DataConnect.Execute SqlSort
  284.     Cw_DataEnvi.DataConnect.Execute SqlDept
  285.     Cw_DataEnvi.DataConnect.CommitTrans
  286.     Call Xtxxts("保存成功!", 0, 4)
  287.     Exit Sub
  288. Err1:
  289.     Cw_DataEnvi.DataConnect.RollbackTrans
  290.     Call Xtxxts("保存不成功!", 0, 1)
  291. End Sub
  292. Private Sub Form_Load()
  293.     
  294.     T2r = Tre_Dept.Left + Tre_Dept.Width
  295.     T1r = Tre_Sort.Left + Tre_Sort.Width
  296.     pw = Tre_Dept.Left - (Tre_Sort.Left + Tre_Sort.Width)
  297.     Pic.Move Tre_Sort.Left + Tre_Sort.Width, Tre_Sort.Top, pw, Tre_Sort.Height
  298.     
  299.     Tre_Sort.Checkboxes = True
  300.     Tre_Dept.Checkboxes = True
  301.     Call FillImageCombo(ImgCbo_Ope, "PM_Operator", 0)
  302.     CzyBm = GetComboKey(ImgCbo_Ope, 0)
  303.     '填充工资类别树
  304.     If Rsc.State = 1 Then Rsc.Close
  305.     Sql = "select SortId,SortName from Pm_Sort order by SortId"
  306.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  307.     With Tre_Sort
  308.         Do While Not Rsc.EOF
  309.             Set NodX = .Nodes.Add(, 4, "s" & Trim(Rsc!SortId), Trim(Rsc!SortName), 4)
  310.             Rsc.MoveNext
  311.         Loop
  312.     End With
  313.     '填充部门树
  314.     If Rsc.State = 1 Then Rsc.Close
  315.     Sql = "select * from Gy_Department where RsPmFlag=1 order by DeptCode"
  316.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  317.     With Tre_Dept
  318.         Do While Not Rsc.EOF
  319.             If Trim(Rsc!ParentCode) & "" = "" Then '第一级
  320.                 Set NodX = .Nodes.Add(, 4, "B" & Trim(Rsc!DeptCode), Trim(Rsc!DeptName), 5)
  321.             Else
  322.                 Set NodX = .Nodes.Add("B" & Trim(Rsc!ParentCode), 4, "B" & Trim(Rsc!DeptCode), Trim(Rsc!DeptName), 3)
  323.             End If
  324.             Rsc.MoveNext
  325.         Loop
  326.         If Rsc.RecordCount <> 0 Then
  327.             NodX.EnsureVisible
  328.         End If
  329.     End With
  330.     With Tre_Dept
  331.         For I = 1 To .Nodes.Count
  332.             If .Nodes(I).Children = 0 Then
  333.                 .Nodes(I).Image = 4
  334.             End If
  335.         Next
  336.     End With
  337.     Timer1.Enabled = True
  338.     '编辑(新增、修改、删除)权限索引
  339.     Str_RightEdit = "Pm_OpePope_edit"
  340. End Sub
  341. Private Sub PopeDom(CzyBm As String)    '权限设置
  342.     '将操作员对部门、类别的权限显示出来。
  343.     Call Cmd_Qing_Click  '将树中的全部选中清空
  344.     
  345.     If Rsc.State = 1 Then Rsc.Close
  346.     Set Rsc = Cw_DataEnvi.DataConnect.Execute("select * from Pm_OpeSort where CzyBm='" & CzyBm & "' order by SortId")
  347.     With Tre_Sort
  348.         Do While Not Rsc.EOF
  349.             For I = 1 To .Nodes.Count
  350.                 If Trim(Rsc!SortId) = Right(Trim(.Nodes(I).Key), Len(Trim(.Nodes(I).Key)) - 1) Then
  351.                     .Nodes(I).Checked = True
  352.                     Exit For
  353.                 End If
  354.             Next
  355.             Rsc.MoveNext
  356.         Loop
  357.     End With
  358.     
  359.     If Rsc.State = 1 Then Rsc.Close
  360.     Set Rsc = Cw_DataEnvi.DataConnect.Execute("select * from Pm_OpeDept where CzyBm='" & CzyBm & "' order by DeptCode")
  361.     With Tre_Dept
  362.         Do While Not Rsc.EOF
  363.             For I = 1 To .Nodes.Count
  364.                 If Trim(Rsc!DeptCode) = Right(Trim(.Nodes(I).Key), Len(Trim(.Nodes(I).Key)) - 1) Then
  365.                     .Nodes(I).Checked = True
  366.                     Exit For
  367.                 End If
  368.             Next
  369.             Rsc.MoveNext
  370.         Loop
  371.     End With
  372. End Sub
  373. Private Sub Form_Unload(Cancel As Integer)
  374.     Set Rsc = Nothing
  375. End Sub
  376. Private Sub ImgCbo_Ope_Click()
  377.     CzyBm = GetComboKey(ImgCbo_Ope, 0)
  378.     Call PopeDom(CzyBm)
  379. End Sub
  380. Private Sub Pic_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  381.     If Button = 1 Then
  382.         CanMove = True
  383.     End If
  384. End Sub
  385. Private Sub Pic_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  386.     CanMove = False
  387. End Sub
  388. Private Sub Timer1_Timer()
  389.     Call PopeDom(CzyBm)
  390.     Timer1.Enabled = False
  391. End Sub
  392. Private Sub Tre_Dept_NodeCheck(ByVal Node As MSComctlLib.Node)
  393.     With Tre_Dept
  394.        
  395.         For I = Node.Index To .Nodes.Count
  396.             If InStr(Trim(.Nodes(I).Key), Trim(Node.Key)) = 1 Then
  397.                 .Nodes(I).Checked = True
  398.             End If
  399.         Next
  400.       
  401.     End With
  402. End Sub
  403. Private Sub Pic_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  404.     On Error Resume Next
  405.     Pic.MousePointer = 9
  406.     
  407.     If CanMove = False Then
  408.         Exit Sub
  409.     End If
  410.     
  411.     T1r = Tre_Sort.Left + Tre_Sort.Width
  412.     If X < 0 And Tre_Sort.Width > 1000 Then
  413.       Tre_Sort.Move Tre_Sort.Left, Tre_Sort.Top, X + Tre_Sort.Width
  414.       Pic.Move Tre_Sort.Left + Tre_Sort.Width
  415.       Tre_Dept.Move Pic.Left + pw, Tre_Dept.Top, T2r - (Pic.Left + pw)
  416.     End If
  417.     If X > 0 And Tre_Dept.Width > 1000 Then
  418.        Tre_Dept.Move Pic.Left + X + pw, Tre_Sort.Top, T2r - (Pic.Left + pw + X)
  419.        Pic.Move Tre_Dept.Left - pw
  420.        Tre_Sort.Move Tre_Sort.Left, Tre_Sort.Top, Pic.Left - Tre_Sort.Left
  421.     End If
  422.     Label2.Move Tre_Sort.Left, Label2.Top, Tre_Sort.Width
  423.     Label3.Move Tre_Dept.Left, Label3.Top, Tre_Dept.Width
  424. End Sub