392 lines
10 KiB
C#
392 lines
10 KiB
C#
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Threading.Tasks;
|
||
using Unity.VisualScripting.Antlr3.Runtime;
|
||
using UnityEngine;
|
||
using UnityEngine.Events;
|
||
using UnityEngine.UI;
|
||
using static GameManager;
|
||
/// <summary>
|
||
/// 设备-新增
|
||
/// </summary>
|
||
public class AddDevice : MonoBehaviour
|
||
{
|
||
public Root URlreturn;
|
||
public Body mybody;
|
||
public Button save_bt;
|
||
|
||
/// <summary>
|
||
/// 类型:1-机柜;2-设备
|
||
/// </summary>
|
||
public Dropdown type;
|
||
/// <summary>
|
||
/// 设备类型:1-机框;2-机槽;3-板卡
|
||
/// </summary>
|
||
public Dropdown deviceType;
|
||
/// <summary>
|
||
/// 所属机柜id
|
||
/// </summary>
|
||
public Dropdown rackId;
|
||
/// <summary>
|
||
/// 所属机框id
|
||
/// </summary>
|
||
public Dropdown shelfId;
|
||
/// <summary>
|
||
/// 所属机槽id
|
||
/// </summary>
|
||
public Dropdown slotId;
|
||
/// <summary>
|
||
/// 设备位置
|
||
/// </summary>
|
||
public InputField devicePosition;
|
||
/// <summary>
|
||
/// 是否启用:1-正常;0-禁用
|
||
/// </summary>
|
||
public Dropdown status;
|
||
|
||
private void OnEnable()
|
||
{
|
||
init();
|
||
}
|
||
|
||
public void init()
|
||
{
|
||
rackId.options.Clear();
|
||
shelfId.options.Clear();
|
||
slotId.options.Clear();
|
||
|
||
List<string> rackId_ops = new List<string>();
|
||
rackId_ops.Add("");
|
||
for (int i = 0; i < GameManager.Inst.Cabinets.Count; i++)
|
||
{
|
||
rackId_ops.Add(GameManager.Inst.Cabinets[i].id);
|
||
}
|
||
rackId.AddOptions(rackId_ops);
|
||
|
||
List<string> shelfId_ops = new List<string>();
|
||
shelfId_ops.Add("");
|
||
for (int i = 0; i < GameManager.Inst.Racks.Count; i++)
|
||
{
|
||
shelfId_ops.Add(GameManager.Inst.Racks[i].id);
|
||
}
|
||
shelfId.AddOptions(shelfId_ops);
|
||
|
||
List<string> slotId_ops = new List<string>();
|
||
slotId_ops.Add("");
|
||
for (int i = 0; i < GameManager.Inst.MachineSlots.Count; i++)
|
||
{
|
||
slotId_ops.Add(GameManager.Inst.MachineSlots[i].id);
|
||
}
|
||
slotId.AddOptions(slotId_ops);
|
||
}
|
||
|
||
private void Start()
|
||
{
|
||
rackId.onValueChanged.AddListener(rackId_fuc);//机柜
|
||
//shelfId.onValueChanged.AddListener(shelfId_fuc);//机框
|
||
//slotId.onValueChanged.AddListener(slotId_fuc);//基槽
|
||
|
||
save_bt.onClick.AddListener(() =>
|
||
{
|
||
StartCoroutine(SaveJsonCoroutine());
|
||
});
|
||
}
|
||
|
||
private IEnumerator SaveJsonCoroutine()
|
||
{
|
||
yield return StartCoroutine(saveJson());
|
||
|
||
if (URlreturn.message == "操作成功")
|
||
{
|
||
yield return StartCoroutine(GameManager.Inst.LoadAddress((ct) =>
|
||
{
|
||
if (ct != null)
|
||
{
|
||
GameManager.Inst.Jk_URL = new webURL(ct);
|
||
StartCoroutine(GameManager.Inst.Initialize());
|
||
}
|
||
else
|
||
{
|
||
Debug.Log("获取穿透错误!");
|
||
}
|
||
}));
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
}
|
||
}
|
||
|
||
private void slotId_fuc(int arg0)
|
||
{
|
||
//办卡
|
||
}
|
||
|
||
private void shelfId_fuc(int arg0)
|
||
{
|
||
//办卡
|
||
}
|
||
|
||
private void rackId_fuc(int arg0)
|
||
{
|
||
//该机柜下 机框-基槽
|
||
//rackId.options[arg0].text;//机柜ID
|
||
|
||
shelfId.options.Clear();
|
||
slotId.options.Clear();
|
||
List<string> shelfId_ops = new List<string>();
|
||
shelfId_ops.Add("");
|
||
for (int i = 0; i < GameManager.Inst.Racks_go.Count; i++)
|
||
{
|
||
var n = GameManager.Inst.Racks_go[i].GetComponent<DeviceQuery>().deviceList;
|
||
if (n.rackId == rackId.options[arg0].text)
|
||
shelfId_ops.Add(n.id);
|
||
}
|
||
shelfId.AddOptions(shelfId_ops);
|
||
|
||
List<string> slotId_ops = new List<string>();
|
||
slotId_ops.Add("");
|
||
for (int i = 0; i < GameManager.Inst.MachineSlots_go.Count; i++)
|
||
{
|
||
var n = GameManager.Inst.MachineSlots_go[i].GetComponent<DeviceQuery>().deviceList;
|
||
if (n.rackId == rackId.options[arg0].text)
|
||
slotId_ops.Add(n.id);
|
||
}
|
||
slotId.AddOptions(slotId_ops);
|
||
}
|
||
|
||
private void Update()
|
||
{
|
||
|
||
mybody.type = type.options[type.value].text;
|
||
|
||
mybody.deviceType = deviceType.options[deviceType.value].text;
|
||
|
||
mybody.rackId = rackId.options[rackId.value].text;
|
||
|
||
mybody.shelfId = shelfId.options[shelfId.value].text;
|
||
|
||
mybody.slotId = slotId.options[slotId.value].text;
|
||
|
||
mybody.devicePosition = devicePosition.text;
|
||
|
||
mybody.status = status.options[status.value].text;
|
||
}
|
||
|
||
public IEnumerator saveJson()
|
||
{
|
||
var newData = JsonConvert.SerializeObject(mybody);
|
||
|
||
//var jsonResult = await CombineJSON.UpdateJson_POST(GameManager.Inst.Jk_URL.sb_xz, GameManager.Inst.token, newData);
|
||
|
||
//URlreturn = JsonConvert.DeserializeObject<Root>(jsonResult);
|
||
|
||
yield return
|
||
StartCoroutine(
|
||
CombineJSON.UpdateJson_POST(GameManager.Inst.Jk_URL.sb_xz, GameManager.Inst.arguments.token, newData, (jsonResult) =>
|
||
{
|
||
try
|
||
{
|
||
URlreturn = JsonConvert.DeserializeObject<Root>(jsonResult);
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
|
||
}
|
||
})
|
||
);
|
||
}
|
||
|
||
#region JSON
|
||
[System.Serializable]
|
||
public class Body
|
||
{
|
||
/// <summary>
|
||
/// 名称
|
||
/// </summary>
|
||
public string deviceName;
|
||
/// <summary>
|
||
/// 设备编号
|
||
/// </summary>
|
||
public string deviceCode;
|
||
/// <summary>
|
||
/// 类型:1-机柜;2-设备
|
||
/// </summary>
|
||
public string type;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string typeStr;
|
||
/// <summary>
|
||
/// 设备类型:1-机框;2-机槽;3-板卡
|
||
/// </summary>
|
||
public string deviceType;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string deviceTypeStr;
|
||
/// <summary>
|
||
/// 所属机柜id
|
||
/// </summary>
|
||
public string rackId;
|
||
/// <summary>
|
||
/// 所属机框id
|
||
/// </summary>
|
||
public string shelfId;
|
||
/// <summary>
|
||
/// 所属机槽id
|
||
/// </summary>
|
||
public string slotId;
|
||
/// <summary>
|
||
/// 设备位置
|
||
/// </summary>
|
||
public string devicePosition;
|
||
/// <summary>
|
||
/// 机柜型号
|
||
/// </summary>
|
||
public string machineModel;
|
||
/// <summary>
|
||
/// 是否启用:1-正常;0-禁用
|
||
/// </summary>
|
||
public string status;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string conDeviceName;
|
||
/// <summary>
|
||
/// 机柜类型:1-通信机柜;2-非通信机柜
|
||
/// </summary>
|
||
public string rackType;
|
||
/// <summary>
|
||
/// 柜门是否打开:1-开;0-关
|
||
/// </summary>
|
||
public string openFlag;
|
||
/// <summary>
|
||
/// 模型编号
|
||
/// </summary>
|
||
public string modelNum;
|
||
/// <summary>
|
||
/// U位占用数量
|
||
/// </summary>
|
||
public string occupyNum;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string residueNum;
|
||
/// <summary>
|
||
/// 投运时间
|
||
/// </summary>
|
||
public string operationTime;
|
||
/// <summary>
|
||
/// 负责人
|
||
/// </summary>
|
||
public string directorName;
|
||
/// <summary>
|
||
/// 联系电话
|
||
/// </summary>
|
||
public string phone;
|
||
/// <summary>
|
||
/// 生产厂家
|
||
/// </summary>
|
||
public string manufacturer;
|
||
/// <summary>
|
||
/// 电源属性
|
||
/// </summary>
|
||
public string powerProperties;
|
||
/// <summary>
|
||
/// 维护单位
|
||
/// </summary>
|
||
public string maintenanceUnit;
|
||
/// <summary>
|
||
/// 机框高度
|
||
/// </summary>
|
||
public string machineFrameHigh;
|
||
/// <summary>
|
||
/// 机框宽度
|
||
/// </summary>
|
||
public string machineFrameWide;
|
||
/// <summary>
|
||
/// 机框厚度
|
||
/// </summary>
|
||
public string machineFrameThick;
|
||
/// <summary>
|
||
/// 插槽数量
|
||
/// </summary>
|
||
public string slotNum;
|
||
/// <summary>
|
||
/// 插槽排列方式
|
||
/// </summary>
|
||
public string slotSort;
|
||
/// <summary>
|
||
/// 安装方式
|
||
/// </summary>
|
||
public string installMethod;
|
||
/// <summary>
|
||
/// 所属机框
|
||
/// </summary>
|
||
public string affiliationFrame;
|
||
/// <summary>
|
||
/// 父插槽名称
|
||
/// </summary>
|
||
public string parentSlotName;
|
||
/// <summary>
|
||
/// 插槽类型
|
||
/// </summary>
|
||
public string slotType;
|
||
/// <summary>
|
||
/// 占用状态
|
||
/// </summary>
|
||
public string occupyStatus;
|
||
/// <summary>
|
||
/// 所属机槽名称
|
||
/// </summary>
|
||
public string affiliationSlot;
|
||
/// <summary>
|
||
/// 端口数量
|
||
/// </summary>
|
||
public string portNum;
|
||
/// <summary>
|
||
/// 板卡功能
|
||
/// </summary>
|
||
public string cardFunction;
|
||
/// <summary>
|
||
/// 板卡类型
|
||
/// </summary>
|
||
public string cardType;
|
||
/// <summary>
|
||
/// 运行状态
|
||
/// </summary>
|
||
public string runStatus;
|
||
/// <summary>
|
||
/// 备注
|
||
/// </summary>
|
||
public string remark;
|
||
}
|
||
|
||
[System.Serializable]
|
||
public class Root
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string code;
|
||
/// <summary>
|
||
/// 反馈结果
|
||
/// </summary>
|
||
public string message;
|
||
/// <summary>
|
||
/// 返回内容(ID)
|
||
/// </summary>
|
||
public string data;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string serverTime;
|
||
}
|
||
|
||
#endregion
|
||
}
|