using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityEngine.Networking; using System.Text.RegularExpressions; using System.Data.SqlClient; using System.Runtime.InteropServices; using System.Text; using TMPro; using System; using System.IO; using ZXing; using ZXing.QrCode; using System.Net; using System.Data; using SimpleJSON; using System.Linq; using System.ComponentModel; using System.Runtime.InteropServices; using System.Globalization; using XCharts.Runtime; public class cowchin : MonoBehaviour { public CanvasScaler canvasScaler; public float idleTime = 300f; // 5分鐘的閒置時間 private float timeSinceLastInteraction = 0f; [SerializeField] GameObject 語言選擇面板; [SerializeField] TextMeshProUGUI 選擇語言; [SerializeField] TextMeshProUGUI 中; [SerializeField] TextMeshProUGUI 英; [SerializeField] TextMeshProUGUI 印; [SerializeField] TextMeshProUGUI 簡; [SerializeField] Button 中按鈕; [SerializeField] Button 英按鈕; [SerializeField] Button 印按鈕; [SerializeField] Button 簡按鈕; private Button[] bts; [SerializeField] TextMeshProUGUI 標題; [SerializeField] TextMeshProUGUI 標題1; [SerializeField] TextMeshProUGUI 員工名稱; [SerializeField] TextMeshProUGUI 員工代碼; [SerializeField] TextMeshProUGUI 員工崗位; [SerializeField] TextMeshProUGUI 部門名稱; [SerializeField] TextMeshProUGUI 總時數; [SerializeField] TextMeshProUGUI 員工名稱_s; [SerializeField] TextMeshProUGUI 員工代碼_s; [SerializeField] TextMeshProUGUI 員工崗位_s; [SerializeField] TextMeshProUGUI 部門名稱_s; [SerializeField] TextMeshProUGUI 總時數_s; [SerializeField] TextMeshProUGUI 星期; [SerializeField] TextMeshProUGUI 日期; [SerializeField] TextMeshProUGUI 實際_1; [SerializeField] TextMeshProUGUI 實際_2; [SerializeField] TextMeshProUGUI 實際_3; [SerializeField] TextMeshProUGUI 實際_4; [SerializeField] TextMeshProUGUI 實際_5; [SerializeField] TextMeshProUGUI 實際_6; [SerializeField] TextMeshProUGUI 小時數; [SerializeField] TextMeshProUGUI 加班; [SerializeField] TextMeshProUGUI 假日; [SerializeField] TextMeshProUGUI 假別; [SerializeField] TextMeshProUGUI 備註; [SerializeField] TextMeshProUGUI 星期s; [SerializeField] TextMeshProUGUI 日期s; [SerializeField] TextMeshProUGUI 實際_1s; [SerializeField] TextMeshProUGUI 實際_2s; [SerializeField] TextMeshProUGUI 實際_3s; [SerializeField] TextMeshProUGUI 實際_4s; [SerializeField] TextMeshProUGUI 實際_5s; [SerializeField] TextMeshProUGUI 實際_6s; [SerializeField] TextMeshProUGUI 小時數s; [SerializeField] TextMeshProUGUI 加班s; [SerializeField] TextMeshProUGUI 假日s; [SerializeField] TextMeshProUGUI 假別s; [SerializeField] TextMeshProUGUI 備註s; [SerializeField] TextMeshProUGUI 姓名s; [SerializeField] TextMeshProUGUI 部門s; [SerializeField] TextMeshProUGUI 級別s; [SerializeField] TextMeshProUGUI 實際打卡; [SerializeField] TextMeshProUGUI 考勤計算; [SerializeField] GameObject 明細表頁面; [SerializeField] GameObject 查詢表頁面; [SerializeField] GameObject 相機按鈕; [SerializeField] GameObject 上一步; [SerializeField] GameObject 明細清單; [SerializeField] GameObject 明細清單表投; [SerializeField] GameObject 圖表; [SerializeField] GameObject 邊框左; [SerializeField] GameObject 邊框右; [SerializeField] TextMeshProUGUI 下拉字; [SerializeField] GameObject 下拉1; [SerializeField] GameObject 下拉2; [SerializeField] TMP_Dropdown 年; [SerializeField] TMP_Dropdown 月; [SerializeField] TMP_Dropdown 年1; [SerializeField] TMP_Dropdown 月1; [SerializeField] TMP_Dropdown 日1; [SerializeField] TMP_Dropdown 級別1; [SerializeField] TMP_Dropdown 群組; int 實際考勤; public GameObject textPrefab; public Transform textParent; public GameObject textceneter; public GameObject textPrefab1; public Transform textParent1; public GameObject textceneter1; private List textcopy = new List(); private List textcopy1 = new List(); private List textcopy2 = new List(); private List textcopy3 = new List(); private List textcopy4 = new List(); private TextMeshProUGUI[] texts2; private TextMeshProUGUI[] texts1; private TextMeshProUGUI[] texts; string[] 時段 = new string[6]; string[] 實際 = new string[6]; string[] 考勤 = new string[6]; string[] 時段1 = new string[6]; string[] 實際1 = new string[6]; string[] 考勤1 = new string[6]; string[] 實際2 = new string[6]; string year; string month; string date; string today; int currentDay; string 點擊ID; public RectTransform buttonRectTransform; public GameObject buttonPrefab; public Transform buttonParent; public GameObject buttonPrefab1; public Transform buttonParent1; public GameObject buttonPrefab2; public Transform buttonParent2; private JSONNode jsonData; private float timer = 0f; private float interval = 60f; [SerializeField] GameObject 讀取面板; [SerializeField] TextMeshProUGUI 讀取; private string loadingText = ""; private int dotCount = 0; [SerializeField] GameObject 網頁面板; UniWebView webView; public GameObject panel; float scale = 0; float xbar = 0; float ybar = 0; RectTransform panelRectTransform; // Start is called before the first frame update void Awake() { //Main.Global.阿帕契路徑="http://106.1.48.106:8080/wp-content/themes/event-star/tab.php?"; //Main.Global.阿帕契路徑="http://103.231.201.230/hxpgsweb/wp-content/themes/twentytwentyone/tab.php?"; // Main.Global.預設伺服器路徑="id"; // Main.Global.系統語言="繁體中文"; //Main.Global.ID=""; //Main.Global.部門編號=3; DateTime currentDate = DateTime.Now; Main.Global.查詢日期 = currentDate.ToString("yyyy/MM/dd"); int currentMonth = currentDate.Month; 月.value = currentMonth - 1; 月1.value = currentMonth - 1; currentDay = currentDate.Day; 讀取面板.SetActive(true); StartCoroutine(群組清單()); } void Start() { Screen.autorotateToPortrait = false; Screen.orientation = ScreenOrientation.LandscapeLeft; texts = new TextMeshProUGUI[] { 員工名稱_s, 員工代碼_s, 員工崗位_s, 部門名稱_s }; float screenWidth = Screen.width; float screenHeight = Screen.height; float rate = screenWidth/screenHeight; if (canvasScaler == null) { canvasScaler = GetComponent(); } if (rate>1.6) { canvasScaler.matchWidthOrHeight = 1f; } else { canvasScaler.matchWidthOrHeight = 0f; } if (canvasScaler.matchWidthOrHeight == 0f) { scale = screenWidth / 1600; xbar=0; ybar=(screenHeight-(1000*scale))/2; } else { scale = screenHeight/ 1000; xbar=(screenWidth-(1600*scale))/2; ybar=0; } panelRectTransform = panel.GetComponent(); 實際考勤=0; 點擊ID=""; 初始化系統語言(); StartCoroutine(判斷更新()); StartCoroutine(AnimateText()); //Main.Global.ID="0003065795"; 系統語言轉換(); 語言選擇按鈕(); if (Main.Global.部門編號==3) { 明細表頁面.SetActive(false); 查詢表頁面.SetActive(true); 下拉字.text = "GRUP"; 下拉1.SetActive(false); 下拉2.SetActive(true); 上一步.SetActive(false); StartCoroutine(考勤查找表1("", Main.Global.查詢日期)); } else { 明細表頁面.SetActive(false); 查詢表頁面.SetActive(true); // 相機按鈕.SetActive(false); 下拉字.text = "level"; 下拉1.SetActive(true); 下拉2.SetActive(false); 上一步.SetActive(false); StartCoroutine(考勤查找表("", Main.Global.查詢日期)); } if(Main.Global.ID != "") { 上一步.SetActive(true); 明細表頁面.SetActive(true); 查詢表頁面.SetActive(false); 明細清單.SetActive(false); 明細清單表投.SetActive(false); 邊框左.SetActive(false); 邊框右.SetActive(false); 圖表.SetActive(true); DateTime currentDate = DateTime.Now; // 取得目前的日期與時間 string yearMonth = currentDate.ToString("yyyy/MM"); if (textcopy != null) { DeletetextCopies(); } if (textcopy3 != null) { DeletetextCopies3(); } if (textcopy2 != null) { DeletetextCopies2(); } StartCoroutine(考勤明細人員讀取(Main.Global.ID)); StartCoroutine(考勤明細表(Main.Global.ID, yearMonth)); buttonRectTransform.anchoredPosition = new Vector2(0f, 270f); } 網頁(panelRectTransform, scale, xbar, ybar); //StartCoroutine(考勤明細人員讀取(Main.Global.ID)); } IEnumerator AnimateText() { string qqq = 讀取.text.ToString(); while (true) { yield return new WaitForSeconds(0.5f); if (dotCount < 3) { loadingText += "."; dotCount++; } else { loadingText = ""; dotCount = 0; } 讀取.text = qqq+loadingText; } } // Update is called once per frame void Update() { timer += Time.deltaTime; // 判斷是否達到時間間隔 if (timer >= interval) { StartCoroutine(判斷更新()); timer = 0f; } if (Main.Global.快速登入==false) { if (Input.anyKeyDown) { timeSinceLastInteraction = 0f; } else { timeSinceLastInteraction += Time.deltaTime; if (timeSinceLastInteraction > idleTime) { change_Secen(1); } } } } IEnumerator 群組清單() { List options = new List(); 群組.options.Clear(); string strcon = "群組清單"; string se = Main.Global.預設伺服器路徑; string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}", strcon, se); UnityWebRequest request = UnityWebRequest.Get(strUrl); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(request.error); yield break; } JSONNode json1 = JSON.Parse(request.downloadHandler.text); Debug.Log(json1); options.Add(new TMP_Dropdown.OptionData("")); for (int i = 0; i options = new List(); List options1 = new List(); 年1.options.Clear(); 年.options.Clear(); string strcon = "年份"; string se = Main.Global.預設伺服器路徑; string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}", strcon, se); UnityWebRequest request = UnityWebRequest.Get(strUrl); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError) { //Debug.Log(request.error); yield break; } JSONNode json1 = JSON.Parse(request.downloadHandler.text); for (int i = 0; i options = new List(); for (int i = 1; i <= daysInMonth; i++) { if (i<10) { string 補零 = "0"+i.ToString(); options.Add(new TMP_Dropdown.OptionData(補零)); } else { options.Add(new TMP_Dropdown.OptionData(i.ToString())); } } // 添加日期選項 日1.AddOptions(options); } IEnumerator 考勤明細人員讀取(string IDname) { string strcon = "考勤明細人員讀取"; string se = Main.Global.預設伺服器路徑; string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&ID={1}&se={2}", strcon, IDname, se); UnityWebRequest request = UnityWebRequest.Get(strUrl); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError) { //Debug.Log(request.error); yield break; } JSONNode json1 = JSON.Parse(request.downloadHandler.text); for (int i = 0; i().anchoredPosition = new Vector2(0, -sum); textname.transform.SetParent(textParent1, false); texts2 = textname.GetComponentsInChildren(); Button newButton = textname.GetComponentInChildren