UI 디자인 변경 및 작업 조건/시간 분석 작업 지시 번호 기능 수정
This commit is contained in:
BIN
Assets/Images/UI/ToolBar/IMG_AlarmBackground.png
Normal file
BIN
Assets/Images/UI/ToolBar/IMG_AlarmBackground.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
117
Assets/Images/UI/ToolBar/IMG_AlarmBackground.png.meta
Normal file
117
Assets/Images/UI/ToolBar/IMG_AlarmBackground.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59f34091de14e5248910e7f7f9fd82c1
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 35, y: 35, z: 35, w: 35}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -80,11 +80,11 @@ namespace CHN
|
||||
popupCanvas.panel_completealramhistory.onCheckAlarm += topCanvas.panel_toptoolbar.SetAlarmCount;
|
||||
popupCanvas.panel_completealramhistory.onOpen += popupCanvas.CurrentDashoboardClose;
|
||||
|
||||
popupCanvas.panel_workconditionanalysis.onDateData += httpManager.GetWorkItemCodeData;
|
||||
popupCanvas.panel_workconditionanalysis.onDateData += httpManager.GetConditionWorkOrderCodeData;
|
||||
popupCanvas.panel_workconditionanalysis.onSearchData += httpManager.SearchWorkConditions;
|
||||
popupCanvas.panel_workconditionanalysis.onChangedDropdownValue += workConditionsManager.ChangeMainChartData;
|
||||
|
||||
popupCanvas.panel_worktimeanalysis.onDateData += httpManager.GetWorkItemCodeData;
|
||||
popupCanvas.panel_worktimeanalysis.onDateData += httpManager.GetTimeWorkOrderCodeData;
|
||||
popupCanvas.panel_worktimeanalysis.onSearchData += httpManager.SearchWorkTime;
|
||||
|
||||
popupCanvas.panel_totalproduction.onSelected += popupCanvas.SetChangedProductionPanel;
|
||||
|
||||
63
Assets/Scripts/UI/CustomTMPDropdown.cs
Normal file
63
Assets/Scripts/UI/CustomTMPDropdown.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class CustomTMPDropdown : TMP_Dropdown
|
||||
{
|
||||
public string hideItemName;
|
||||
public HashSet<string> deinteractableItems = new HashSet<string>();
|
||||
|
||||
public void SetHideAndDeinteractableItems(string hideItemName, HashSet<string> items)
|
||||
{
|
||||
this.hideItemName = hideItemName;
|
||||
|
||||
deinteractableItems.Clear();
|
||||
|
||||
foreach(var item in items)
|
||||
{
|
||||
deinteractableItems.Add(item);
|
||||
}
|
||||
}
|
||||
public override void OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData)
|
||||
{
|
||||
base.OnPointerClick(eventData);
|
||||
StartCoroutine(SetHideAndDeinteractableDropdownItem());
|
||||
}
|
||||
|
||||
private IEnumerator SetHideAndDeinteractableDropdownItem()
|
||||
{
|
||||
yield return null;
|
||||
|
||||
var dropdownList = GameObject.Find("Dropdown List");
|
||||
if (dropdownList == null)
|
||||
yield break;
|
||||
|
||||
var items = dropdownList.GetComponentsInChildren<TMP_Dropdown.DropdownItem>(true).ToList();
|
||||
|
||||
if (items.Count > 0)
|
||||
{
|
||||
var hideItem = items.Find(item => item.name.Contains(hideItemName));
|
||||
hideItem.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
var deinteractableSet = new HashSet<string>(deinteractableItems);
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
string itemText = item.text.text.Trim();
|
||||
|
||||
if (deinteractableSet.Contains(itemText))
|
||||
{
|
||||
if (item.toggle != null)
|
||||
{
|
||||
item.toggle.interactable = false;
|
||||
item.text.color = Color.gray;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/CustomTMPDropdown.cs.meta
Normal file
2
Assets/Scripts/UI/CustomTMPDropdown.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba96b51d8a1abd046a5aeccb225b31ee
|
||||
@@ -27,7 +27,7 @@ namespace CHN
|
||||
private Button Button_EndDay;
|
||||
private TextMeshProUGUI Text_StartDay;
|
||||
private TextMeshProUGUI Text_EndDay;
|
||||
private TMP_Dropdown Dropdown_WorkOrderNumber;
|
||||
private CustomTMPDropdown Dropdown_WorkOrderNumber;
|
||||
private Image Image_WorkOrderNumberLoading;
|
||||
private Button Button_Search;
|
||||
private RectTransform Panel_NotData;
|
||||
@@ -55,7 +55,7 @@ namespace CHN
|
||||
public string startDate;
|
||||
public string endDate;
|
||||
public string facilityCode;
|
||||
public Action<string, string, string, string> onDateData;
|
||||
public Action<string, string, string> onDateData;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
@@ -90,10 +90,16 @@ namespace CHN
|
||||
}
|
||||
private void OnClickStartDayBtn()
|
||||
{
|
||||
if (Image_WorkOrderNumberLoading.gameObject.activeSelf)
|
||||
return;
|
||||
|
||||
ui_Calendar.Open(Text_StartDay);
|
||||
}
|
||||
private void OnClickEndDayBtn()
|
||||
{
|
||||
if (Image_WorkOrderNumberLoading.gameObject.activeSelf)
|
||||
return;
|
||||
|
||||
ui_Calendar.Open(Text_EndDay);
|
||||
}
|
||||
private void SetDayData(TextMeshProUGUI targetText)
|
||||
@@ -126,7 +132,7 @@ namespace CHN
|
||||
return;
|
||||
}
|
||||
|
||||
onDateData?.Invoke("작업 조건 분석", startDate, endDate, facilityCode);
|
||||
onDateData?.Invoke(startDate, endDate, facilityCode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,6 +150,7 @@ namespace CHN
|
||||
|
||||
DateTime startDate = Convert.ToDateTime(Text_StartDay.text);
|
||||
DateTime endDate = Convert.ToDateTime(Text_EndDay.text);
|
||||
endDate = endDate.AddDays(+1);
|
||||
|
||||
string startDateString = startDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
string endDateString = endDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
@@ -156,8 +163,8 @@ namespace CHN
|
||||
}
|
||||
else
|
||||
{
|
||||
this.startDate = todayDate;
|
||||
this.endDate = todayDate;
|
||||
startDate = "";
|
||||
endDate = "";
|
||||
|
||||
ui_Calendar.SetCalendarData(Text_StartDay, todayDate);
|
||||
ui_Calendar.SetCalendarData(Text_EndDay, todayDate);
|
||||
@@ -175,10 +182,19 @@ namespace CHN
|
||||
Dropdown_WorkOrderNumber.ClearOptions();
|
||||
|
||||
List<string> data = new List<string>();
|
||||
foreach(var workOrderNumber in this.itemCodeData.data)
|
||||
HashSet<string> deintercatableWorkno = new HashSet<string>();
|
||||
|
||||
foreach (var workOrderNumber in this.itemCodeData.data)
|
||||
{
|
||||
data.Add(workOrderNumber.wordno);
|
||||
|
||||
if (!workOrderNumber.isActive)
|
||||
{
|
||||
deintercatableWorkno.Add(workOrderNumber.wordno);
|
||||
}
|
||||
}
|
||||
data.Add("-- 작업 지시 번호를 선택하세요 --");
|
||||
Dropdown_WorkOrderNumber.SetHideAndDeinteractableItems(data[data.Count - 1], deintercatableWorkno);
|
||||
|
||||
List<TMP_Dropdown.OptionData> optionList = new List<TMP_Dropdown.OptionData>();
|
||||
foreach (string str in data)
|
||||
@@ -186,7 +202,7 @@ namespace CHN
|
||||
optionList.Add(new TMP_Dropdown.OptionData(str));
|
||||
}
|
||||
Dropdown_WorkOrderNumber.AddOptions(optionList);
|
||||
Dropdown_WorkOrderNumber.value = 0;
|
||||
Dropdown_WorkOrderNumber.value = data.Count - 1;
|
||||
|
||||
Image_WorkOrderNumberLoading.gameObject.SetActive(false);
|
||||
}
|
||||
@@ -195,6 +211,7 @@ namespace CHN
|
||||
{
|
||||
DateTime startDate = Convert.ToDateTime(Text_StartDay.text);
|
||||
DateTime endDate = Convert.ToDateTime(Text_EndDay.text);
|
||||
endDate = endDate.AddDays(+1);
|
||||
|
||||
string startDateString = startDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
string endDateString = endDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace CHN
|
||||
private Button Button_EndDay;
|
||||
private TextMeshProUGUI Text_StartDay;
|
||||
private TextMeshProUGUI Text_EndDay;
|
||||
private TMP_Dropdown Dropdown_WorkOrderNumber;
|
||||
private CustomTMPDropdown Dropdown_WorkOrderNumber;
|
||||
private Image Image_WorkOrderNumberLoading;
|
||||
private Button Button_Search;
|
||||
private RectTransform Panel_NotData;
|
||||
@@ -45,7 +45,7 @@ namespace CHN
|
||||
public string startDate;
|
||||
public string endDate;
|
||||
public string facilityCode;
|
||||
public Action<string, string, string, string> onDateData;
|
||||
public Action<string, string, string> onDateData;
|
||||
public override void AfterAwake()
|
||||
{
|
||||
ui_Calendar = transform.GetComponentInChildren<UI_Calendar>(true);
|
||||
@@ -80,10 +80,16 @@ namespace CHN
|
||||
|
||||
private void OnClickStartDayBtn()
|
||||
{
|
||||
if (Image_WorkOrderNumberLoading.gameObject.activeSelf)
|
||||
return;
|
||||
|
||||
ui_Calendar.Open(Text_StartDay);
|
||||
}
|
||||
private void OnClickEndDayBtn()
|
||||
{
|
||||
if (Image_WorkOrderNumberLoading.gameObject.activeSelf)
|
||||
return;
|
||||
|
||||
ui_Calendar.Open(Text_EndDay);
|
||||
}
|
||||
private void SetDayData(TextMeshProUGUI targetText)
|
||||
@@ -118,7 +124,7 @@ namespace CHN
|
||||
return;
|
||||
}
|
||||
|
||||
onDateData?.Invoke("ÀÛ¾÷ ½Ã°£ ºÐ¼®", startDate, endDate, facilityCode);
|
||||
onDateData?.Invoke(startDate, endDate, facilityCode);
|
||||
}
|
||||
}
|
||||
public void SetFacilityCode(SimpleField simple, Machine machine)
|
||||
@@ -135,6 +141,7 @@ namespace CHN
|
||||
|
||||
DateTime startDate = Convert.ToDateTime(Text_StartDay.text);
|
||||
DateTime endDate = Convert.ToDateTime(Text_EndDay.text);
|
||||
endDate = endDate.AddDays(+1);
|
||||
|
||||
string startDateString = startDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
string endDateString = endDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
@@ -147,8 +154,8 @@ namespace CHN
|
||||
}
|
||||
else
|
||||
{
|
||||
this.startDate = todayDate;
|
||||
this.endDate = todayDate;
|
||||
startDate = "";
|
||||
endDate = "";
|
||||
|
||||
ui_Calendar.SetCalendarData(Text_StartDay, todayDate);
|
||||
ui_Calendar.SetCalendarData(Text_EndDay, todayDate);
|
||||
@@ -165,10 +172,19 @@ namespace CHN
|
||||
Dropdown_WorkOrderNumber.ClearOptions();
|
||||
|
||||
List<string> data = new List<string>();
|
||||
foreach (var workOrderNumber in itemCodeData.data)
|
||||
HashSet<string> deintercatableWorkno = new HashSet<string>();
|
||||
|
||||
foreach (var workOrderNumber in this.itemCodeData.data)
|
||||
{
|
||||
data.Add(workOrderNumber.wordno);
|
||||
|
||||
if (!workOrderNumber.isActive)
|
||||
{
|
||||
deintercatableWorkno.Add(workOrderNumber.wordno);
|
||||
}
|
||||
}
|
||||
data.Add("-- 작업 지시 번호를 선택하세요 --");
|
||||
Dropdown_WorkOrderNumber.SetHideAndDeinteractableItems(data[data.Count - 1], deintercatableWorkno);
|
||||
|
||||
List<TMP_Dropdown.OptionData> optionList = new List<TMP_Dropdown.OptionData>();
|
||||
foreach (string str in data)
|
||||
@@ -176,7 +192,7 @@ namespace CHN
|
||||
optionList.Add(new TMP_Dropdown.OptionData(str));
|
||||
}
|
||||
Dropdown_WorkOrderNumber.AddOptions(optionList);
|
||||
Dropdown_WorkOrderNumber.value = 0;
|
||||
Dropdown_WorkOrderNumber.value = data.Count - 1;
|
||||
|
||||
Image_WorkOrderNumberLoading.gameObject.SetActive(false);
|
||||
}
|
||||
@@ -185,6 +201,7 @@ namespace CHN
|
||||
{
|
||||
DateTime startDate = Convert.ToDateTime(Text_StartDay.text);
|
||||
DateTime endDate = Convert.ToDateTime(Text_EndDay.text);
|
||||
endDate = endDate.AddDays(+1);
|
||||
|
||||
string startDateString = startDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
string endDateString = endDate.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
||||
|
||||
@@ -14,4 +14,5 @@ public class CodeData
|
||||
{
|
||||
public string wordno;
|
||||
public string itemcd;
|
||||
public bool isActive;
|
||||
}
|
||||
|
||||
@@ -144,11 +144,11 @@ namespace CHN
|
||||
break;
|
||||
}
|
||||
}
|
||||
public void GetWorkItemCodeData(string panelName, string startDate, string endDate, string facilityCode)
|
||||
public void GetConditionWorkOrderCodeData(string startDate, string endDate, string facilityCode)
|
||||
{
|
||||
StartCoroutine(GetWorkItemCode(panelName, startDate, endDate, facilityCode));
|
||||
StartCoroutine(GetConditionWorkOrderCode(startDate, endDate, facilityCode));
|
||||
}
|
||||
IEnumerator GetWorkItemCode(string panelName, string startDate, string endDate, string facilityCode)
|
||||
IEnumerator GetConditionWorkOrderCode(string startDate, string endDate, string facilityCode)
|
||||
{
|
||||
this.startDate = startDate;
|
||||
this.endDate = endDate;
|
||||
@@ -168,19 +168,34 @@ namespace CHN
|
||||
var payload = Encoding.UTF8.GetString(www.downloadHandler.data);
|
||||
var response = JsonConvert.DeserializeObject<WorkItemCodeData>(payload);
|
||||
workItemCodeData = response;
|
||||
|
||||
if (panelName == "작업 조건 분석")
|
||||
{
|
||||
onWorkConditionsItemCodeData?.Invoke(workItemCodeData);
|
||||
}
|
||||
else if (panelName == "작업 시간 분석")
|
||||
{
|
||||
onWorkTimeItemCodeData?.Invoke(workItemCodeData);
|
||||
}
|
||||
onWorkConditionsItemCodeData?.Invoke(workItemCodeData);
|
||||
}
|
||||
else
|
||||
}
|
||||
public void GetTimeWorkOrderCodeData(string startDate, string endDate, string facilityCode)
|
||||
{
|
||||
StartCoroutine(GetTimeWorkOrderCode(startDate, endDate, facilityCode));
|
||||
}
|
||||
IEnumerator GetTimeWorkOrderCode(string startDate, string endDate, string facilityCode)
|
||||
{
|
||||
this.startDate = startDate;
|
||||
this.endDate = endDate;
|
||||
|
||||
var path = httpServer + workItemCodeAPI;
|
||||
var query = $"?startDate={this.startDate}&endDate={this.endDate}&workcd={facilityCode}";
|
||||
|
||||
string url = path + query;
|
||||
|
||||
UnityWebRequest www = UnityWebRequest.Get(url);
|
||||
www.SetRequestHeader("access-token", testAPIKey);
|
||||
|
||||
yield return www.SendWebRequest();
|
||||
|
||||
if (www.error == null)
|
||||
{
|
||||
Debug.Log(www.error);
|
||||
var payload = Encoding.UTF8.GetString(www.downloadHandler.data);
|
||||
var response = JsonConvert.DeserializeObject<WorkItemCodeData>(payload);
|
||||
workItemCodeData = response;
|
||||
onWorkTimeItemCodeData?.Invoke(workItemCodeData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,8 +212,6 @@ namespace CHN
|
||||
var path = httpServer + workingConditionsAPI;
|
||||
|
||||
var json = JsonUtility.ToJson(WorkConditionRequest);
|
||||
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(WorkConditionsPost(path, json));
|
||||
}
|
||||
IEnumerator WorkConditionsPost(string url, string jsonData)
|
||||
@@ -234,8 +247,6 @@ namespace CHN
|
||||
var path = httpServer + workingTimeAPI;
|
||||
|
||||
var json = JsonUtility.ToJson(WorkConditionRequest);
|
||||
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(WorkTimePost(path, json));
|
||||
}
|
||||
IEnumerator WorkTimePost(string url, string jsonData)
|
||||
@@ -259,7 +270,4 @@ namespace CHN
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user