You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
461 lines
15 KiB
461 lines
15 KiB
3 years ago
|
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.OptionData> Dropdown_ZhongDOptions = new List<Dropdown.OptionData>();
|
||
|
public Dictionary<int, int> ZhongDData = new Dictionary<int, int>();
|
||
|
private int currentUserGrandpaID;
|
||
|
private string currentUserGrandpaName;
|
||
|
private List<Dropdown.OptionData> Dropdown_ZhiDOptions = new List<Dropdown.OptionData>();
|
||
|
public Dictionary<int, int> ZhiDData = new Dictionary<int, int>();
|
||
|
private int RootID = 0;
|
||
|
private int currentUserRootID;
|
||
|
private List<Dropdown.OptionData> Dropdown_ZongDOptions = new List<Dropdown.OptionData>();
|
||
|
public Dictionary<int, int> ZongDData = new Dictionary<int, int>();
|
||
|
|
||
|
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<GET_DEPTS_REPLY>().Depts.Count > 0)
|
||
|
{
|
||
|
if (flag)
|
||
|
{
|
||
|
List<DeptInfo> Depts = this.GetComponent<GET_DEPTS_REPLY>().Depts;
|
||
|
|
||
|
UserPoliceIDInputField.text = MySelf.mySelf.ID;//显示警官号
|
||
|
UserNameInputField.text = MySelf.mySelf.Name;//显示用户真实姓名
|
||
|
BeiZhuInputField.text = MySelf.mySelf.Details;//显示用户备注
|
||
|
|
||
|
flag = false;
|
||
|
|
||
|
ShowDept(Depts);//显示用户组织机构
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 显示用户组织机构:中队下拉框,支队下拉框,总队下拉框
|
||
|
/// </summary>
|
||
|
/// <param name="Depts"></param>
|
||
|
private void ShowDept(List<DeptInfo> 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});
|
||
|
}
|
||
|
}
|