824 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			824 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Data;
 | |
| using System.Drawing;
 | |
| using System.Text;
 | |
| using System.Linq;
 | |
| using System.Windows.Forms;
 | |
| using DevExpress.XtraBars;
 | |
| using DevExpress.XtraGrid.Views.Base;
 | |
| //using DeiNiu.wms.Logical;
 | |
| using DeiNiu.wms.Data;
 | |
| using DevExpress.XtraGrid.Columns;
 | |
| 
 | |
| using System.Threading;
 | |
| using DevExpress.XtraGrid.Views.Grid;
 | |
| using DevExpress.XtraEditors.DXErrorProvider;
 | |
| using DeiNiu.wms.Data.Model;
 | |
| using DeiNiu.wms.win.ServiceReferenceNodes;
 | |
| using DeiNiu.Utils;
 | |
| using DevExpress.XtraEditors.Controls;
 | |
| namespace DeiNiu.wms.win
 | |
| {
 | |
|     public partial class DictionaryForm : BasicRibbonForm
 | |
|     {
 | |
|         ServiceReferenceNodes.NodeClient client{
 | |
|             get { return Park.client; }
 | |
|         }
 | |
|         wcfNode wnode = new wcfNode();
 | |
|        // lNode lgt = new lNode(); 
 | |
|         private string fieldName = Node.fields.name.ToString();
 | |
|         private string fieldDesc =Node.fields.description.ToString();
 | |
|         private string lastQuery = "";
 | |
|         private DataTable dt;
 | |
|         //private int selectedNodeValue =-1;
 | |
|         private bool isAdding = true;
 | |
|         private int parentId = 0;
 | |
|         int lastEditId =-1;
 | |
|         int lastParent = -1; //last deleted 's parent id
 | |
|         DevExpress.XtraTreeList.Nodes.TreeListNode parentNode;
 | |
| 
 | |
|         public DictionaryForm()
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             initialControls();
 | |
|             query();// queryWithNewThread();
 | |
|             // This line of code is generated by Data Source Configuration Wizard
 | |
|             loadDesks();
 | |
|         }
 | |
| 
 | |
|       
 | |
|         #region initialControls
 | |
|         private void initialControls()
 | |
|         {
 | |
|             initialTreelist(); 
 | |
|             initialQueryInput();
 | |
|             swithOperationType();
 | |
|             setValidationRule();
 | |
|             txtParent.Properties.ReadOnly = true;
 | |
|             comType.ReadOnly = true;
 | |
|             txtID.Properties.ReadOnly = true;
 | |
|             this.txtFlag.ReadOnly = !checkPermission(WmsConstants.SPECIAL_AUTHS_DIC_DELETE);
 | |
|            // swSys.Enabled =  checkPermission(WmsConstants.SPECIAL_AUTHS_SUPER); 
 | |
|             initialComboBoxes();
 | |
|         }
 | |
|         private void initialComboBoxes()
 | |
|         {
 | |
|             //initial combobox of port
 | |
| 
 | |
|             initialComboBoxs(comType, dicValueType, false);
 | |
|             this.comType.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
 | |
|             this.comType.SelectedIndex = 0;
 | |
|         }
 | |
|        
 | |
|         private void setValidationRule()
 | |
|         {
 | |
|           dxValidationProvider1.ValidationMode = ValidationMode.Auto;
 | |
|           dxValidationProvider1.SetValidationRule(txtDicName, ValidationRules.notEmptyValidationRule);
 | |
|           txtDicName.Properties.MaxLength = 40;
 | |
|           txtGoodDesc.Properties.MaxLength = 250;
 | |
|           textEdit1.Properties.MaxLength = txtDicName.Properties.MaxLength;
 | |
|          // txtFlag.Properties.MaxLength = 5;
 | |
| 
 | |
|           ConditionValidationRule rangeValidationRule = new ConditionValidationRule();
 | |
|           rangeValidationRule.ConditionOperator = ConditionOperator.Between;
 | |
|           rangeValidationRule.Value1 = 1;
 | |
|           rangeValidationRule.Value2 = 10000;
 | |
|           rangeValidationRule.ErrorText = String.Format("{0} - {1} 之间任意一数字!", 1000, 9999);
 | |
|           rangeValidationRule.ErrorType = ErrorType.Critical;
 | |
|        //   dxValidationProvider.SetValidationRule(txtFlag, rangeValidationRule);
 | |
|          // dxValidationProvider.SetValidationRule(txtFlag, ValidationRules.getNumberRangeValidationRule(0,10000));
 | |
|           txtFlag.Text = "0";
 | |
|         }
 | |
|         private void initialTreelist()
 | |
|         {
 | |
|             //this.treeList1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
 | |
|             //treeList1.OptionsView.ShowHorzLines = false;
 | |
|             //treeList1.OptionsView.ShowVertLines = false;
 | |
|             treeList1.FocusedNodeChanged += new DevExpress.XtraTreeList.FocusedNodeChangedEventHandler( treeList1_FocusedNodeChanged);
 | |
|             treeList1.KeyFieldName = "id";
 | |
|             treeList1.ParentFieldName = "parentid";
 | |
|             treeList1.OptionsBehavior.Editable = false;
 | |
|             //searchLookUpEdit1.Properties.ValueMember = "id";
 | |
|             //searchLookUpEdit1.Properties.DisplayMember = fieldName;
 | |
|             //searchLookUpEdit1.Properties.NullText = "系统";  
 | |
|         }
 | |
|         #endregion
 | |
|         private void buildTreelist()
 | |
|         { 
 | |
|             Node nd = new Node();
 | |
|             //dt = nd.Query().Tables[0];  
 | |
|             //treeList1.DataSource = dt;
 | |
| 
 | |
|             string query = txtQuery.Text.Trim(); 
 | |
|             lastQuery = query;
 | |
|             try
 | |
|             {
 | |
|                 dt = client.Query(query, 0, 0).Tables[0]; ;
 | |
|                 client.Close();
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 showErrorMsg(e,e.Message);
 | |
|             }
 | |
|                 treeList1.DataSource = dt;
 | |
|             
 | |
|             //DataView dv = nd.Query().Tables[0].DefaultView;
 | |
|             //dv.RowFilter = "parentid =0";
 | |
|             //searchLookUpEdit1.Properties.DataSource =dv ;
 | |
|             setFocusedNode();
 | |
|              
 | |
|         }
 | |
|          
 | |
|         private void setFocusedNode()
 | |
|         {          
 | |
|             foreach (DevExpress.XtraTreeList.Nodes.TreeListNode node in treeList1.Nodes)
 | |
|             {
 | |
|               //  if (lastEditId >-1)
 | |
|                 {
 | |
| 
 | |
|                     if (Convert.ToInt32(node.GetValue("id").ToString()) == lastEditId)
 | |
|                     {
 | |
| 
 | |
|                         treeList1.FocusedNode = node;
 | |
|                         return;
 | |
|                     }
 | |
|                     if (traverseNodes(node))
 | |
|                     {
 | |
|                         return;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                     
 | |
|                 //if (Convert.ToInt32(node.GetValue("id").ToString()) == parentId)
 | |
|                 //{
 | |
|                 //        node.ExpandAll();                   
 | |
|                 //}
 | |
|              //   node.ExpandAll();  
 | |
|               }
 | |
|              
 | |
|         }  
 | |
| 
 | |
|         private bool traverseNodes(DevExpress.XtraTreeList.Nodes.TreeListNode parentNode)
 | |
|         {
 | |
|             foreach (DevExpress.XtraTreeList.Nodes.TreeListNode node in parentNode.Nodes)
 | |
|             {
 | |
|                 if (Convert.ToInt32( node.GetValue("id").ToString()) == lastEditId) //set focus to last add/updated
 | |
|                 {
 | |
|                     treeList1.FocusedNode = node;
 | |
|                     return true;
 | |
|                 }
 | |
|                 if (Convert.ToInt32(node.GetValue("id").ToString()) == lastParent) //set focus for last delete
 | |
|                 {
 | |
|                   //  node.ExpandAll();
 | |
|                     node.Expanded = true; // expand only sub nodes.
 | |
| 
 | |
|                     if (node.Nodes.Count > 0)
 | |
|                     {
 | |
|                         treeList1.FocusedNode = node.Nodes[0];
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         treeList1.FocusedNode = node;
 | |
|                     }
 | |
|                 }
 | |
|                 traverseNodes(node);
 | |
|             }
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         private void initialQueryInput()
 | |
|         {
 | |
|             this.txtQuery.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtQuery_KeyDown);
 | |
|         }
 | |
|         
 | |
| 
 | |
|       
 | |
| 
 | |
|         /// <summary>  
 | |
|         /// loading data
 | |
|         /// </summary>  
 | |
|         private void loadData()
 | |
|         {
 | |
|             //this.gridviewGoodsType.DataSource = lgt.GetAllActiveData().Tables[0].DefaultView;
 | |
|            
 | |
|             string query = txtQuery.Text.Trim(); 
 | |
|             lastQuery = query;
 | |
|             try
 | |
|             {
 | |
|                 DataSet ds = client.Query(query, 0, 0);
 | |
|                 client.Close();
 | |
|                 dt = ds.Tables[0];
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 showErrorMsg(e.Message);
 | |
|             }
 | |
|           
 | |
|              
 | |
|         }
 | |
|          
 | |
| 
 | |
|         private void btnNew_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             /*
 | |
|             if (lgt.getNode.ID > 0)
 | |
|             {
 | |
|                 lgt.Initialize();
 | |
|                 clearInputs();
 | |
|                 txtGoodType.Focus();
 | |
|                 validData();
 | |
|                 return;
 | |
|             }
 | |
|             */
 | |
|             // begin to create new goodType
 | |
|            
 | |
|             if (!validData())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             
 | |
|             // lgt.initialize();
 | |
|              setDataBack();  
 | |
|          
 | |
|             //Thread th = new Thread(new ThreadStart(this.newGoodType));
 | |
|             //th.Start();
 | |
|             btnNew.Enabled = false;
 | |
|             newDic();
 | |
|         }
 | |
| 
 | |
|         private void newDic()
 | |
|         {         
 | |
|             
 | |
|             showWaitForm();  
 | |
|             try
 | |
|             {
 | |
|              
 | |
|                 wnode = client.newWcfNode(wnode); applyDic();
 | |
|                 client.Close();
 | |
|                 
 | |
|                 lastEditId = wnode.id;
 | |
|            //     lastEditId = lgt.getNode.ID;
 | |
|                 query();// loadData();   
 | |
| 
 | |
|                 // initialize and clear object and inputs, prepare for adding more. 
 | |
|                //lgt.initialize();
 | |
|                 clearInputs();
 | |
| 
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                showErrorMsg(e.Message);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                // WaitFormService.Close();
 | |
|                 closeWaitForm(); 
 | |
|                 btnNew.Enabled = true;
 | |
|             } 
 | |
|            
 | |
|         }
 | |
|       
 | |
| 
 | |
| 
 | |
| 
 | |
|         //private void bindDetail()
 | |
|         //{
 | |
|         //    //txtGoodDesc.Text = lgt.getNode.description;
 | |
|         //    //txtGoodType.Text = lgt.getNode.name;
 | |
| 
 | |
|         //    txtGoodDesc.Text = wnode.description;
 | |
|         //    txtDicName.Text = wnode.name;
 | |
|         //    txtValue.Text = wnode.value;
 | |
|         //    sw.IsOn = wnode.isOn;
 | |
|         //    comType.SelectedIndex = wnode.valueType;
 | |
| 
 | |
|         //}
 | |
|         private void setDataBack()
 | |
|         {
 | |
| 
 | |
|             setParentInfo();
 | |
|             wnode.parentid =   wnode.parentid > 0 ? wnode.parentid : parentId;
 | |
|             wnode.description = txtGoodDesc.Text.Trim();
 | |
|             wnode.name = txtDicName.Text.Trim();
 | |
|             wnode.isOn = sw.IsOn;
 | |
|             wnode.value = txtValue.Text.Trim();
 | |
|             wnode.valueType = comType.SelectedIndex;
 | |
|             wnode.isSystem = swSys.IsOn;
 | |
|             if((enumDicValueType) comType.SelectedIndex ==  enumDicValueType.布尔) {
 | |
| 
 | |
|                 wnode.value = sw.IsOn ? "开" : "关";
 | |
|             }
 | |
| 
 | |
| 
 | |
|             
 | |
|             //lgt.getNode.parentid = lgt.getNode.parentid> 0 ? lgt.getNode.parentid :  parentId;
 | |
|             //lgt.getNode.description = txtGoodDesc.Text.Trim();
 | |
|             //lgt.getNode.name = txtGoodType.Text.Trim();
 | |
|           //  lgt.getNode.operater = Park.currentUser.GetEmployee.ID;
 | |
|             if (txtFlag.Text.Trim().Length > 0)
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     int flag = Convert.ToInt16(txtFlag.Text.ToString());
 | |
|                     wnode.flag = flag;
 | |
|                 }
 | |
|                 catch(Exception er)
 | |
|                 {
 | |
|                     showErrorMsg(er.Message);
 | |
|                     txtFlag.Focus();
 | |
|                 }
 | |
|                 
 | |
|             }
 | |
|         
 | |
|           
 | |
|         }
 | |
|         void setParentInfo()
 | |
|         {
 | |
|             if (treeList1.FocusedNode == null)
 | |
|             {
 | |
|                 parentId = 0;
 | |
|                 return;
 | |
|             }
 | |
|             btnNew.Enabled = false;
 | |
|             if (parentNode == null || parentNode.ParentNode == null)
 | |
|             {  // current is level 1,2
 | |
|                 parentId = Convert.ToInt32(this.treeList1.FocusedNode.GetValue("id").ToString());
 | |
|                 this.txtParent.Text = this.treeList1.FocusedNode.GetValue("name").ToString();
 | |
| 
 | |
|                  if (checkPermission(WmsConstants.SPECIAL_AUTHS_DIC_DELETE))
 | |
|                 {
 | |
|                     comType.ReadOnly = false;
 | |
|                     btnNew.Enabled = true;
 | |
|                 }
 | |
|             }
 | |
|             else if (parentNode != null)
 | |
|             {
 | |
|                 if (parentNode.ParentNode != null)
 | |
|                 { //level 3, as max level
 | |
|                      
 | |
|                     parentId = Convert.ToInt32(this.treeList1.FocusedNode.GetValue("parentid").ToString());
 | |
|                     this.txtParent.Text = parentNode.GetValue("name").ToString();
 | |
|                     comType.ReadOnly = true;
 | |
|                     btnNew.Enabled = true;
 | |
|                     comType.SelectedIndex =string.IsNullOrEmpty(parentNode.GetValue("valueType").ToString())? 0 :  Convert.ToInt32( parentNode.GetValue("valueType").ToString());
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         private bool validData()
 | |
|         {
 | |
| 
 | |
| 
 | |
|             enumDicValueType type = (enumDicValueType)comType.SelectedIndex;
 | |
|             try
 | |
|             {
 | |
|                 switch (type)
 | |
|                 {
 | |
|                     case enumDicValueType.浮点:
 | |
|                         Convert.ToDecimal(txtValue.Text.Trim());
 | |
|                         break;
 | |
|                     case enumDicValueType.整型:
 | |
|                         Convert.ToInt32(txtValue.Text.Trim());
 | |
|                         break;
 | |
| 
 | |
|                 }
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 showErrorMsg("请输入正确的数字");
 | |
|                 txtValue.SelectAll();
 | |
|                 txtValue.Focus();
 | |
|                 return false;
 | |
|             }
 | |
| 
 | |
| 
 | |
| 
 | |
|             bool isvalid = dxValidationProvider1.Validate(); 
 | |
|           
 | |
|            // MessageBox.Show("goodtype is " + txtGoodType.Text +", is valid ? " + isvalid);
 | |
| 
 | |
|             return isvalid;
 | |
|             //String gdtype = txtGoodType.Text.Trim();
 | |
|             //if (gdtype.Length == 0)
 | |
|             //{
 | |
| 
 | |
|             //    dxValidationProvider.Validate();
 | |
|             //    return false;
 | |
|             //} 
 | |
| 
 | |
|             //return true;
 | |
|         }
 | |
| 
 | |
|     
 | |
| 
 | |
| 
 | |
| 
 | |
|         private void btnSave_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //if (!getCurrentObject())
 | |
|             //{
 | |
|             //    return;
 | |
|             //}
 | |
|             if (!validData())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             if (wnode.name.Equals(txtDicName.Text.Trim())
 | |
|                 && wnode.description.Equals(txtGoodDesc.Text.Trim())
 | |
|                 && wnode.flag == Convert.ToInt32(txtFlag.Text.Trim())
 | |
|                 && wnode.isOn == sw.IsOn
 | |
|                 && wnode.isSystem == swSys.IsOn 
 | |
|                 && wnode.value.Equals(txtValue.Text.Trim())
 | |
|                 && wnode.valueType.Equals(comType.SelectedIndex)
 | |
|                 )
 | |
|             {
 | |
|                 MessageBox.Show("没有数据需要更新");
 | |
|                 return;
 | |
|             }
 | |
|          
 | |
|             //Thread th = new Thread(new ThreadStart(this.updateGoodType));
 | |
|             //th.Start();
 | |
|              
 | |
|             
 | |
|             updateDic();
 | |
|         }
 | |
| 
 | |
|         private void updateDic()
 | |
|         {
 | |
|             
 | |
|             if (!checkPermission(WmsConstants.SPECIAL_AUTHS_DIC_UPDATE))
 | |
|             {
 | |
|                 showErrorMsg(null,"权限不足!");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| 
 | |
|             if (swSys.IsOn && !isSuper())
 | |
|             {
 | |
|                 showErrorMsg(null, "权限不足!");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             btnSave.Enabled = false;
 | |
|             showWaitForm();
 | |
|             //WaitFormService.Show(this);
 | |
| 
 | |
|             try
 | |
|             {
 | |
|                 //update the goodtype 
 | |
|                 setDataBack();
 | |
|                // lgt.getNode.Update();
 | |
|               //  lgt.getNode.Update();
 | |
|                 
 | |
|                 client.updateWcfNode(wnode);
 | |
|                 applyDic();
 | |
|                 client.Close();
 | |
|                 lastEditId = wnode.id;
 | |
|                 //get updated data 
 | |
|                 query();// loadData();
 | |
| 
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 showErrorMsg(e,e.Message);
 | |
|                 getCurrentObject();
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                // WaitFormService.Close();
 | |
|                 closeWaitForm();  
 | |
|                 btnSave.Enabled = true;
 | |
|             }
 | |
| 
 | |
|          
 | |
|          
 | |
|         }
 | |
| 
 | |
|         void applyDic()
 | |
|         {
 | |
|             if (chkApply.Checked)
 | |
|             {
 | |
|                 Park.getDictionary(true);
 | |
|                 client.applyDicChanges();
 | |
|                 Park.loadConfig();
 | |
|                 Park.getDictionary(true);
 | |
|             }
 | |
|         }
 | |
|       
 | |
|        
 | |
|         private void clearInputs()
 | |
|         {
 | |
|             txtValue.Text = "";
 | |
|           //  sw.IsOn = false;
 | |
|           //  comType.SelectedIndex = 0;
 | |
|             txtDicName.Text = "";
 | |
|             txtGoodDesc.Text = "";
 | |
|             txtID.Text = "";
 | |
|             txtFlag.Text = "";
 | |
|             dxValidationProvider1.RemoveControlError(txtFlag);
 | |
|             dxValidationProvider1.RemoveControlError(txtDicName);
 | |
|             wnode = new wcfNode();
 | |
|         }
 | |
| 
 | |
|         private bool getCurrentObject()
 | |
|         {
 | |
|             //if (selectedNodeValue < 0)// || dt.Rows.Count <= selectedNodeValue)
 | |
|             //{
 | |
|             //    MessageBox.Show("请在列表里选择数据");
 | |
|             //    return false;
 | |
|             //} 
 | |
| 
 | |
|             DataRowView drv = treeList1.GetDataRecordByNode(this.treeList1.FocusedNode) as DataRowView;
 | |
|             // lgt.getNode.getModel(drv.Row);
 | |
|             Node nd = new Node(drv.Row);
 | |
|             initialWcfNode(nd);
 | |
|            // lgt.initialize(drv.Row);
 | |
|           
 | |
|             return true;
 | |
|         }
 | |
| 
 | |
|         void initialWcfNode(Node nd)
 | |
|         {
 | |
|            
 | |
|             wnode.id = nd.ID;
 | |
|             wnode.name = nd.name;
 | |
|             wnode.description = nd.description;
 | |
|             wnode.parentid = nd.parentid;
 | |
|             wnode.value = nd.value;
 | |
|             wnode.valueType = nd.valueType;
 | |
|             wnode.flag = nd.flag;
 | |
|             wnode.isSystem = nd.isSystem;
 | |
|             wnode.isOn = nd.isOn;
 | |
|         }
 | |
|         private void btnDelete_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!getCurrentObject())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             if (!checkPermission(WmsConstants.SPECIAL_AUTHS_DIC_DELETE))
 | |
|             {
 | |
|                 showErrorMsg("权限不足!");
 | |
|                 return;
 | |
|             }
 | |
|             if (swSys.IsOn && !isSuper())
 | |
|             {
 | |
|                 showErrorMsg(null, "权限不足!");
 | |
|                 return;
 | |
|             }
 | |
|             MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
 | |
|             DialogResult dr = MessageBox.Show(String.Format("确定要删除 {0} 吗?",wnode.name), "删除记录", messButton);
 | |
|             if (dr == DialogResult.OK)
 | |
|             {
 | |
|                 parentId =  Convert.ToInt32(treeList1.FocusedNode .GetValue("parentid").ToString());
 | |
|                 try
 | |
|                 {
 | |
|                    
 | |
|                     client.deleteNode(wnode.id) ;
 | |
|                     applyDic();
 | |
|                     client.Close();
 | |
|                     
 | |
|                 }
 | |
|                 catch (Exception er)
 | |
|                 {
 | |
|                    showErrorMsg(er,er.Message);
 | |
|                     return;
 | |
|                 }
 | |
|               //  lgt.initialize();
 | |
|                 wnode = new wcfNode();
 | |
|                 lastEditId = -1;
 | |
|                 lastParent = parentId;
 | |
|                 query();//loadData();
 | |
|             }
 | |
| 
 | |
|   
 | |
|         }
 | |
| 
 | |
|         protected void query()
 | |
|         {
 | |
|             buildTreelist(); //bind tree  
 | |
|             showAdminButtons();
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void showAdminButtons()
 | |
|         {
 | |
|             bool isShow = (checkPermission(WmsConstants.SPECIAL_AUTHS_DIC_DELETE));
 | |
| 
 | |
|             btnRestDesk.Enabled = isShow;
 | |
|             btnPrintBox.Enabled = isShow;
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void btnQuery_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             queryWithNewThread();
 | |
|         }
 | |
| 
 | |
|         private void queryWithNewThread()
 | |
|         {
 | |
|             //Thread th = new Thread(new ThreadStart(this.queryGoodType));
 | |
|             //th.Start();
 | |
|             btnQuery.Enabled = false;
 | |
|             queryGoodType();
 | |
|         }
 | |
| 
 | |
|         private void queryGoodType()
 | |
|         {
 | |
|           
 | |
|             showWaitForm();
 | |
|             try
 | |
|             { 
 | |
|                 query();// loadData();  
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 showErrorMsg(e,e.Message);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 // WaitFormService.Close();
 | |
|                 closeWaitForm();
 | |
|                 btnQuery.Enabled = true;
 | |
|             }
 | |
| 
 | |
|         }
 | |
|       
 | |
| 
 | |
|  
 | |
| 
 | |
|         private void txtQuery_KeyDown(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyValue == 13)
 | |
|             {
 | |
|                 query();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|        
 | |
| 
 | |
|         private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
 | |
|         {
 | |
|             clearInputs();
 | |
|             DevExpress.XtraTreeList.Nodes.TreeListNode currentNode = treeList1.FocusedNode;
 | |
|             if (currentNode == null)
 | |
|             {
 | |
|                 return;
 | |
|             } 
 | |
|             parentNode = treeList1.FocusedNode.ParentNode;
 | |
| 
 | |
|             if (parentNode == null) //set root expand
 | |
|             {
 | |
|                 treeList1.FocusedNode.Expanded = true;
 | |
|             }
 | |
|            this.txtParent.Text = parentNode == null ? "" : parentNode.GetDisplayText("name");
 | |
|            setParentInfo();
 | |
|       //     if (currentNode.Tag == null)
 | |
|          //  {
 | |
|                //string a = currentNode.GetValue("id").ToString();
 | |
|                //selectedNodeValue = Convert.ToInt32(a);
 | |
|                //DataView dv = dt.DefaultView;
 | |
|                //dv.Sort = "id desc";
 | |
| 
 | |
|                //DataRowView[] drs = dv.FindRows(selectedNodeValue);
 | |
|                //if (drs.Length > 0)
 | |
|                //{
 | |
|                //    DataRow dr = drs[0].Row;
 | |
|                //    lgt.getNode.getModel(dr);
 | |
|                //    currentNode.Tag = lgt.getNode;
 | |
|                //}
 | |
| 
 | |
|               
 | |
|              // currentNode.Tag = lgt.getNode; 
 | |
| 
 | |
|           // }
 | |
| 
 | |
|            getCurrentObject();
 | |
|             if (isAdding)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             //txtGoodType.Text = currentNode.GetDisplayText(fieldName);
 | |
|             //txtGoodDesc.Text = currentNode.GetDisplayText(fieldDesc);
 | |
|             txtDicName.Text =wnode.name;
 | |
|             txtGoodDesc.Text = wnode.description;
 | |
|             txtFlag.Text = wnode.flag + "";
 | |
|             txtID.Text = wnode.id > 0 ? wnode.id + "" : "";
 | |
|             txtValue.Text = wnode.value;
 | |
|             sw.IsOn = wnode.isOn;
 | |
|             swSys.IsOn = wnode.isSystem;
 | |
|             comType.SelectedIndex = wnode.valueType;
 | |
|             txtDicName.Enabled = !swSys.IsOn || swSys.IsOn && isSuper();
 | |
|             txtGoodDesc.Enabled = txtDicName.Enabled;
 | |
|             txtFlag.Enabled = txtDicName.Enabled;
 | |
|             txtValue.Enabled = txtDicName.Enabled;
 | |
|             sw.Enabled = txtDicName.Enabled;
 | |
| 
 | |
|          //   comType.SelectedIndex = wnode.valueType;
 | |
|             btnDelete.Enabled = treeList1.FocusedNode.Nodes.Count == 0;
 | |
|             setParentInfo();
 | |
|         }
 | |
| 
 | |
|         
 | |
| 
 | |
|         private void DictionaryForm_FormClosing(object sender, FormClosingEventArgs e)
 | |
|         {
 | |
|           //  client.Close();
 | |
|         }
 | |
| 
 | |
|         private void comType_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             lcBool.Visibility = comType.SelectedIndex ==(int)enumDicValueType.布尔 ?  DevExpress.XtraLayout.Utils.LayoutVisibility.Always : DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
 | |
|             lcValue.Visibility = comType.SelectedIndex == (int)enumDicValueType.布尔 ? DevExpress.XtraLayout.Utils.LayoutVisibility.Never : DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
 | |
|             
 | |
|         }
 | |
| 
 | |
|         private void btnRestDesk_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             using (ServiceReferenceSetup.SetupClient client = new ServiceReferenceSetup.SetupClient("BasicHttpBinding_ISetup", buildSvrAddress("Setup.svc")))
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     if (client.initialDesk())
 | |
|                     {
 | |
|                         MessageBox.Show("复合台初始化成功!");
 | |
|                     }
 | |
|                 }
 | |
|                 catch (Exception er)
 | |
|                 {
 | |
|                     showErrorMsg(er, er.Message);
 | |
|                 }
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         private void loadDesks()
 | |
|         {
 | |
|             using (ServiceReferenceSetup.SetupClient client = new ServiceReferenceSetup.SetupClient("BasicHttpBinding_ISetup", buildSvrAddress("Setup.svc")))
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     DataTable dt = client.getDesks();
 | |
| 
 | |
|                     List<string> desks = new List<string>();
 | |
| 
 | |
|                     foreach (DataRow dr in dt.Rows)
 | |
|                     { 
 | |
|                         desks.Add(enumColors[Convert.ToInt16(dr["name"].ToString().Trim())]);
 | |
|                     }
 | |
| 
 | |
|                     initialComboBoxs(this.comboxColors, desks.ToArray(), "全部"); 
 | |
|                 }
 | |
|                 catch (Exception er)
 | |
|                 {
 | |
|                     showErrorMsg(er, er.Message);
 | |
|                 }
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         private void btnPrintBox_Click(object sender, EventArgs e)
 | |
|         {
 | |
| 
 | |
|         }
 | |
|         private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             swithOperationType();
 | |
| 
 | |
|         }
 | |
| 
 | |
| 
 | |
|         private void swithOperationType()
 | |
|         {
 | |
|             isAdding = tabFuncs.SelectedTabPageIndex ==1;
 | |
| 
 | |
|             if (isAdding)
 | |
|             {
 | |
|                 clearInputs();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 treeList1_FocusedNodeChanged(null, null);
 | |
| 
 | |
|             }
 | |
| 
 | |
|             btnNew.Enabled = isAdding;
 | |
|             btnSave.Enabled = !isAdding;
 | |
|             btnDelete.Enabled = !isAdding;
 | |
|             if (treeList1.FocusedNode != null)
 | |
|             {
 | |
|                 btnDelete.Enabled = btnDelete.Enabled && treeList1.FocusedNode.Nodes.Count == 0;
 | |
|             }
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void tabbedControlGroup3_SelectedPageChanged(object sender, DevExpress.XtraLayout.LayoutTabPageChangedEventArgs e)
 | |
|         {
 | |
|             swithOperationType();
 | |
|         }
 | |
| 
 | |
|         
 | |
|     }
 | |
| } |