using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using AX.NetworkSystem; using System.Text.RegularExpressions; public class UserInfoUI : MonoBehaviour { public InputField UserPoliceIDInputField; public Dropdown Dropdown_ZongD; public Dropdown Dropdown_ZhiD; public Dropdown Dropdown_ZhongD; public InputField UserNameInputField; public InputField BeiZhuInputField; private bool flag = true; private int currentUserParentID; private string currentUserParentName; private List Dropdown_ZhongDOptions = new List(); public Dictionary ZhongDData = new Dictionary(); private int currentUserGrandpaID; private string currentUserGrandpaName; private List Dropdown_ZhiDOptions = new List(); public Dictionary ZhiDData = new Dictionary(); private int RootID = 0; private int currentUserRootID; private List Dropdown_ZongDOptions = new List(); public Dictionary ZongDData = new Dictionary(); public Button UserInfoButton; public Button ModifyPasswordButton; public Button SaveUserInfo; public Button SavePassword; public GameObject UserInfoPanel; public GameObject ModifyPasswordPanel; public Text UserInfoHint_Text; public Text ModifyPasHint_Text; public InputField PasswordInputField; // Use this for initialization void Start () { Dropdown_ZhongDOptions.Add(new Dropdown.OptionData("请选择中队")); Dropdown_ZhiDOptions.Add(new Dropdown.OptionData("请选择支队")); Dropdown_ZongDOptions.Add(new Dropdown.OptionData("请选择总队")); } // Update is called once per frame void Update () { if (this.GetComponent().Depts.Count > 0) { if (flag) { List Depts = this.GetComponent().Depts; UserPoliceIDInputField.text = MySelf.mySelf.ID;//显示警官号 UserNameInputField.text = MySelf.mySelf.Name;//显示用户真实姓名 BeiZhuInputField.text = MySelf.mySelf.Details;//显示用户备注 flag = false; ShowDept(Depts);//显示用户组织机构 } } } /// /// 显示用户组织机构:中队下拉框,支队下拉框,总队下拉框 /// /// private void ShowDept(List Depts) { foreach (var item in Depts) { if (item.ID == MySelf.mySelf.DeptID) { if (item.Level == 3) { currentUserParentID = item.ParentID; break; } if (item.Level == 2) { currentUserGrandpaID = item.ParentID; currentUserParentName = item.Name; break; } if (item.Level == 1) { currentUserRootID = RootID; currentUserGrandpaName = item.Name; break; } } } if (currentUserParentID != 0) { foreach (var item in Depts) { if (item.ID == MySelf.mySelf.DeptID) { currentUserParentID = item.ParentID; break; } } foreach (var item in Depts) { if (item.ID == currentUserParentID) { currentUserGrandpaID = item.ParentID; currentUserParentName = item.Name; break; } } foreach (var item in Depts) { if (item.ID == currentUserGrandpaID) { currentUserRootID = RootID; currentUserGrandpaName = item.Name; break; } } //总队 foreach (var item in Depts) { if (item.ParentID == currentUserRootID) { Dropdown_ZongDOptions.Add(new Dropdown.OptionData(item.Name)); ZongDData.Add(Dropdown_ZongDOptions.Count - 1, item.ID); } } Dropdown_ZongD.options = Dropdown_ZongDOptions; for (int i = 0; i < Dropdown_ZongD.options.Count; i++) { if (currentUserGrandpaName == Dropdown_ZongD.options[i].text) { Dropdown_ZongD.value = i; break; } } //支队 foreach (var item in Depts) { if (item.ParentID == currentUserGrandpaID) { Dropdown_ZhiDOptions.Add(new Dropdown.OptionData(item.Name)); //ZhiDData.Add(Dropdown_ZhiDOptions.Count - 1,item.ID); } } Dropdown_ZhiD.options = Dropdown_ZhiDOptions; for (int i = 0; i < Dropdown_ZhiD.options.Count; i++) { if (currentUserParentName == Dropdown_ZhiD.options[i].text) { Dropdown_ZhiD.value = i; break; } } //中队 foreach (var item in Depts) { if (item.ParentID == currentUserParentID) { Dropdown_ZhongDOptions.Add(new Dropdown.OptionData(item.Name)); //ZhongDData.Add(Dropdown_ZhongDOptions.Count - 1,item.ID); } } Dropdown_ZhongD.options = Dropdown_ZhongDOptions; for (int i = 0; i < Dropdown_ZhongD.options.Count; i++) { if (MySelf.mySelf.DeptName == Dropdown_ZhongD.options[i].text) { Dropdown_ZhongD.value = i; break; } } } else { if (currentUserGrandpaID != 0) { foreach (var item in Depts) { if (item.ID == currentUserGrandpaID) { currentUserRootID = RootID; currentUserGrandpaName = item.Name; break; } } //总队 foreach (var item in Depts) { if (item.ParentID == currentUserRootID) { Dropdown_ZongDOptions.Add(new Dropdown.OptionData(item.Name)); ZongDData.Add(Dropdown_ZongDOptions.Count - 1, item.ID); } } Dropdown_ZongD.options = Dropdown_ZongDOptions; for (int i = 0; i < Dropdown_ZongD.options.Count; i++) { if (currentUserGrandpaName == Dropdown_ZongD.options[i].text) { Dropdown_ZongD.value = i; break; } } //支队 foreach (var item in Depts) { if (item.ParentID == currentUserGrandpaID) { Dropdown_ZhiDOptions.Add(new Dropdown.OptionData(item.Name)); //ZhiDData.Add(Dropdown_ZhiDOptions.Count - 1,item.ID); } } Dropdown_ZhiD.options = Dropdown_ZhiDOptions; for (int i = 0; i < Dropdown_ZhiD.options.Count; i++) { if (currentUserParentName == Dropdown_ZhiD.options[i].text) { Dropdown_ZhiD.value = i; break; } } } else { //总队 foreach (var item in Depts) { if (item.ParentID == currentUserRootID) { Dropdown_ZongDOptions.Add(new Dropdown.OptionData(item.Name)); ZongDData.Add(Dropdown_ZongDOptions.Count - 1, item.ID); } } Dropdown_ZongD.options = Dropdown_ZongDOptions; for (int i = 0; i < Dropdown_ZongD.options.Count; i++) { if (currentUserGrandpaName == Dropdown_ZongD.options[i].text) { Dropdown_ZongD.value = i; break; } } } } //foreach (var item in Depts) //{ // if (item.ID == MySelf.mySelf.DeptID) // { // currentUserParentID = item.ParentID; // break; // } //} //foreach (var item in Depts) //{ // if (item.ID == currentUserParentID) // { // currentUserGrandpaID = item.ParentID; // currentUserParentName = item.Name; // break; // } //} //foreach (var item in Depts) //{ // if (item.ID == currentUserGrandpaID) // { // currentUserRootID = RootID; // currentUserGrandpaName = item.Name; // break; // } //} ////总队 //foreach (var item in Depts) //{ // if (item.ParentID == currentUserRootID) // { // Dropdown_ZongDOptions.Add(new Dropdown.OptionData(item.Name)); // ZongDData.Add(Dropdown_ZongDOptions.Count - 1,item.ID); // } //} //Dropdown_ZongD.options = Dropdown_ZongDOptions; //for (int i = 0; i < Dropdown_ZongD.options.Count; i++) //{ // if (currentUserGrandpaName == Dropdown_ZongD.options[i].text) // { // Dropdown_ZongD.value = i; // break; // } //} ////支队 //foreach (var item in Depts) //{ // if (item.ParentID == currentUserGrandpaID) // { // Dropdown_ZhiDOptions.Add(new Dropdown.OptionData(item.Name)); // //ZhiDData.Add(Dropdown_ZhiDOptions.Count - 1,item.ID); // } //} //Dropdown_ZhiD.options = Dropdown_ZhiDOptions; //for (int i = 0; i < Dropdown_ZhiD.options.Count; i++) //{ // if (currentUserParentName == Dropdown_ZhiD.options[i].text) // { // Dropdown_ZhiD.value = i; // break; // } //} ////中队 //foreach (var item in Depts) //{ // if (item.ParentID == currentUserParentID) // { // Dropdown_ZhongDOptions.Add(new Dropdown.OptionData(item.Name)); // //ZhongDData.Add(Dropdown_ZhongDOptions.Count - 1,item.ID); // } //} //Dropdown_ZhongD.options = Dropdown_ZhongDOptions; //for (int i = 0; i < Dropdown_ZhongD.options.Count; i++) //{ // if (MySelf.mySelf.DeptName == Dropdown_ZhongD.options[i].text) // { // Dropdown_ZhongD.value = i; // break; // } //} } public void DisplayUserInfo() { UserInfoHint_Text.text = ""; UserInfoPanel.SetActive(true); ModifyPasswordPanel.SetActive(false); } public void DisplayUserPas() { ModifyPasHint_Text.text = ""; UserInfoPanel.SetActive(false); ModifyPasswordPanel.SetActive(true); } public void SaveUserInfos() { if (Dropdown_ZhongD.value == 0 && Dropdown_ZhiD.value == 0 && Dropdown_ZongD.value == 0) { UserInfoHint_Text.text = "组织机构不能为空"; return; } if (string.IsNullOrEmpty(UserNameInputField.text)) { UserInfoHint_Text.text = "真实姓名不能为空"; return; } bool flag1 = false; bool flag2 = false; bool flag3 = false; if (Dropdown_ZhongD.value != 0) { if (ZhongDData[Dropdown_ZhongD.value] == MySelf.mySelf.DeptID) flag1 = true; } else { if (Dropdown_ZhiD.value != 0) { if (ZhiDData[Dropdown_ZhiD.value] == MySelf.mySelf.DeptID) flag2 = true; } else { if (Dropdown_ZongD.value != 0) { if (ZongDData[Dropdown_ZongD.value] == MySelf.mySelf.DeptID) flag3 = true; } } } if ((flag1 || flag2 || flag3) && UserNameInputField.text == MySelf.mySelf.Name && BeiZhuInputField.text == MySelf.mySelf.Details) { UserInfoHint_Text.text = "用户信息没有改动"; return; } else { UserInfo currentUser = new UserInfo(); currentUser.ID = MySelf.mySelf.ID; if (Dropdown_ZhongD.value != 0) { currentUser.DeptID = ZhongDData[Dropdown_ZhongD.value]; currentUser.DeptName = Dropdown_ZhongD.options[Dropdown_ZhongD.value].text; } else { if (Dropdown_ZhiD.value != 0) { currentUser.DeptID = ZhiDData[Dropdown_ZhiD.value]; currentUser.DeptName = Dropdown_ZhiD.options[Dropdown_ZhiD.value].text; } else { if (Dropdown_ZongD.value != 0) { currentUser.DeptID = ZongDData[Dropdown_ZongD.value]; currentUser.DeptName = Dropdown_ZongD.options[Dropdown_ZongD.value].text; } } } //currentUser.DeptName = Dropdown_ZhongD.options[Dropdown_ZhongD.value].text; currentUser.Name = UserNameInputField.text; currentUser.Details = BeiZhuInputField.text; NetworkManager.Default.SendRequestAsync("USERINFO_MODIFY_REQUEST", currentUser); } } public void SaveUserPassword() { if (string.IsNullOrEmpty(PasswordInputField.text)) { ModifyPasHint_Text.text = "密码不能为空"; return; } else {//校验密码格式: //由字母,0到9数字,特殊字符(~!@#$%^&*)组成;可以全字母;可以全数字,可以全特殊字符;可以任意两种的组合;三种的组合;长度1-22 string Password = PasswordInputField.text; if (!(Regex.Match(Password, @"^[A-Za-z0-9\~\!\@\#\$\%\^\&\*]{1,22}$").Success)) { ModifyPasHint_Text.text = "密码由22位字母,数字,特殊符号的任意组合组成"; return; } } NetworkManager.Default.SendRequestAsync("PASSWORD_MODIFY_REQUEST",new string[] { MySelf.mySelf.ID, PasswordInputField.text}); } }