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 TMPro; using System; using System.IO; using ZXing; using ZXing.QrCode; using System.Net; using SimpleJSON; using System.ComponentModel; using System.Runtime.InteropServices; public class 專安及會議提案 : MonoBehaviour { public GameObject buttonPrefab; public ScrollRect buttonscroll; private List copy = new List(); public GameObject buttonPrefab1; public ScrollRect buttonscroll1; private List copy1 = new List(); public GameObject buttonPrefab2; public ScrollRect buttonscroll2; private List copy2 = new List(); public CanvasScaler canvasScaler; public RectTransform 內容位置; public ScrollRect 視窗位置; [SerializeField] Toggle t1; [SerializeField] Toggle t2; [SerializeField] Toggle t3; [SerializeField] Toggle t4; [SerializeField] GameObject 主頁; [SerializeField] GameObject 內容頁; [SerializeField] TMP_Dropdown 地點下拉; [SerializeField] TMP_Dropdown 時間下拉; [SerializeField] TMP_Dropdown 完成下拉; [SerializeField] TMP_Dropdown 執行下拉; [SerializeField] TMP_Dropdown 人員下拉; [SerializeField] TextMeshProUGUI 日期; [SerializeField] TMP_InputField 地點; public Image i項目; public Scrollbar 項目bar; [SerializeField] TMP_InputField 項目; public Image i細項; public Scrollbar 細項bar; [SerializeField] TMP_InputField 細項; [SerializeField] TMP_InputField 時間; [SerializeField] TMP_InputField 完成; [SerializeField] TMP_InputField 執行; public Image i備註; public Scrollbar 備註bar; [SerializeField] TMP_InputField 備註; [SerializeField] Button 新增紐; [SerializeField] Button 回首紐; [SerializeField] Button 存檔紐; [SerializeField] Button 刪除紐; [SerializeField] Button 返回紐; [SerializeField] Button 已完成紐; [SerializeField] Button 新建執行人; [SerializeField] GameObject 審核; [SerializeField] GameObject 讀取面板; [SerializeField] TextMeshProUGUI 讀取; [SerializeField] GameObject 彈跳面板; [SerializeField] TextMeshProUGUI 彈跳文字; [SerializeField] Button 是; [SerializeField] Button 否; [SerializeField] Button 彈跳叉; private string loadingText = ""; private int dotCount = 0; private string 流水編號 = ""; bool 新建; bool L; bool W; bool M; private string 圖片資料庫 = ""; private string 完成t = ""; private string 長期 = ""; JSONNode 執行人清單; void Start() { Screen.autorotateToPortrait = false; Screen.orientation = ScreenOrientation.Portrait; //Main.Global.螢幕方向 = "直"; //Main.Global.固高 = 1900f; //Main.Global.固寬 = 900f; //Main.Global.固比 = 1f; //Main.Global.螢幕格式 = "瘦"; //Main.Global.PA = "*系統管理者"; canvasScaler.referenceResolution = new Vector2(Main.Global.固寬, Main.Global.固高); canvasScaler.matchWidthOrHeight = Main.Global.固比; //Main.Global.阿帕契路徑 = "http://106.1.48.106:8080/wp-content/themes/event-star/hskin_logint.php?"; //Main.Global.預設伺服器路徑 = "test"; StartCoroutine(AnimateText()); 主頁.SetActive(true); 內容頁.SetActive(false); 審核.SetActive(false); 新增紐.gameObject.SetActive(true); 回首紐.gameObject.SetActive(true); 存檔紐.gameObject.SetActive(false); 刪除紐.gameObject.SetActive(false); 返回紐.gameObject.SetActive(false); StartCoroutine(圖片資料庫查詢()); } IEnumerator 圖片資料庫查詢() { 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 json = JSON.Parse(request.downloadHandler.text); 圖片資料庫 = json[0].ToString().Trim('"'); if (json.Count < 1) { 彈跳面板.SetActive(true); 彈跳文字.text = "圖片資料庫已滿,請聯繫系統管理員!!!"; 彈跳叉.gameObject.SetActive(false); 是.gameObject.SetActive(false); 否.gameObject.SetActive(false); yield return new WaitForSeconds(1); back(); } else { yield return StartCoroutine(會議記錄清單1()); } } public void 初始位置() { RectTransform contentRectTransform = 內容位置.GetComponent(); Vector2 newPosition = contentRectTransform.anchoredPosition; newPosition.y = 0f; contentRectTransform.anchoredPosition = newPosition; } public void 項目滑動() { float inputFieldHeight = 項目.preferredHeight; // 获取Image的高度 float imageHeight = i項目.rectTransform.rect.height; // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条 if (inputFieldHeight > imageHeight) { 項目bar.gameObject.SetActive(true); 項目bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 項目bar.size = scrollSize; } else { 項目bar.gameObject.SetActive(false); } } public void bar項目() { float inputFieldHeight = 項目.preferredHeight; float imageHeight = i項目.rectTransform.rect.height; float scrollRange = inputFieldHeight - imageHeight; // 计算新的输入字段位置 float newYPosition = 項目bar.value * scrollRange; // 将新的位置应用于输入字段的 RectTransform if(inputFieldHeight > imageHeight) { 項目bar.gameObject.SetActive(true); //項目bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 項目bar.size = scrollSize; } RectTransform inputFieldRectTransform = 項目.GetComponent(); Vector2 newPosition = inputFieldRectTransform.anchoredPosition; newPosition.y = newYPosition; // 负号取决于您的布局方向 inputFieldRectTransform.anchoredPosition = newPosition; } public void 細項滑動() { float inputFieldHeight = 細項.preferredHeight; // 获取Image的高度 float imageHeight = i細項.rectTransform.rect.height; // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条 if (inputFieldHeight > imageHeight) { 細項bar.gameObject.SetActive(true); 細項bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 細項bar.size = scrollSize; } else { 細項bar.gameObject.SetActive(false); } } public void bar細項() { float inputFieldHeight = 細項.preferredHeight; float imageHeight = i細項.rectTransform.rect.height; float scrollRange = inputFieldHeight - imageHeight; // 计算新的输入字段位置 float newYPosition = 細項bar.value * scrollRange; // 将新的位置应用于输入字段的 RectTransform if (inputFieldHeight > imageHeight) { 細項bar.gameObject.SetActive(true); //項目bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 細項bar.size = scrollSize; } RectTransform inputFieldRectTransform = 細項.GetComponent(); Vector2 newPosition = inputFieldRectTransform.anchoredPosition; newPosition.y = newYPosition; // 负号取决于您的布局方向 inputFieldRectTransform.anchoredPosition = newPosition; } public void 備註滑動() { float inputFieldHeight = 備註.preferredHeight; // 获取Image的高度 float imageHeight = i備註.rectTransform.rect.height; // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条 if (inputFieldHeight > imageHeight) { 備註bar.gameObject.SetActive(true); 備註bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 備註bar.size = scrollSize; } else { 備註bar.gameObject.SetActive(false); } } public void bar備註() { float inputFieldHeight = 備註.preferredHeight; float imageHeight = i備註.rectTransform.rect.height; float scrollRange = inputFieldHeight - imageHeight; // 计算新的输入字段位置 float newYPosition = 備註bar.value * scrollRange; // 将新的位置应用于输入字段的 RectTransform if (inputFieldHeight > imageHeight) { 備註bar.gameObject.SetActive(true); //備註bar.value = 0; float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f); 備註bar.size = scrollSize; } RectTransform inputFieldRectTransform = 備註.GetComponent(); Vector2 newPosition = inputFieldRectTransform.anchoredPosition; newPosition.y = newYPosition; // 负号取决于您的布局方向 inputFieldRectTransform.anchoredPosition = newPosition; } 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; } } IEnumerator 會議記錄清單() { 讀取面板.SetActive(true); if (copy != null) { DeleteCopies(copy); } //string strcon1 = "會議記錄清單"; //string se = Main.Global.預設伺服器路徑; //string pa = ""; //string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon1, se, pa); //UnityWebRequest request = UnityWebRequest.Get(strUrl); string baseUrl = Main.Global.阿帕契路徑; string comm = "會議記錄清單"; string se = Main.Global.預設伺服器路徑; string pa = ""; if (t3.isOn) { pa = " WHERE 已完成 = 1 "; } else { pa = " WHERE 已完成 = 0 "; } if (t1.isOn && !t2.isOn) { pa += " AND (核准狀態 NOT LIKE N'取消' OR 核准狀態 IS NULL) "; } else if (t2.isOn && !t1.isOn) { pa += " AND (核准狀態 NOT LIKE N'通過' OR 核准狀態 IS NULL) "; } string url = baseUrl + "comm=" + comm + "&se=" + se + "&PA=" + UnityWebRequest.EscapeURL(pa); UnityWebRequest request = UnityWebRequest.Get(url); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(request.error); yield break; } JSONNode json = JSON.Parse(request.downloadHandler.text); if (Main.Global.螢幕格式 == "胖") { if (json.Count > 7) { buttonscroll.vertical = true; } else { buttonscroll.vertical = false; } } else { if (json.Count > 10) { buttonscroll.vertical = true; } else { buttonscroll.vertical = false; } } int sum = 3; GameObject selectedButton = null; for (int i = 0; i < json.Count; i++) { GameObject buttonObj = Instantiate(buttonPrefab) as GameObject; buttonObj.GetComponent().anchoredPosition = new Vector2(3, -sum); Transform tran = buttonscroll.content; buttonObj.transform.SetParent(tran, false); TextMeshProUGUI[] texts = buttonObj.GetComponentsInChildren(); Toggle[] tg = buttonObj.GetComponentsInChildren(); Button bt = buttonObj.GetComponentInChildren