using System; using System.Collections; using System.Collections.Generic; using System.Data; using NUnit.Framework.Constraints; using TMPro; using Unity.Mathematics; using Unity.VisualScripting; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityEngine.Video; public class Main : MonoBehaviour{ [SerializeField] TextMeshProUGUI 使用者_tb,日期_tb,彈跳文字_tb,報告書流水號_tb,報告書扶手總長_tb,報告書申請人_tb,報告書開立人_tb,提示_tb,圖片讀取_tb,相片目前_tb,相片總數_tb, 扶手已使用長度_tb,扶手可使用長度_tb,輸入單項扶手總長度_tb,單項扶手長度_tb,扶手總長2_lb,扶手長度_lb,請輸入扶手總長度_lb,扶手總長度_lb,已使用扶手長度_lb,可使用扶手長度_lb, 扶手長度2_lb,項目清單2_lb,更換照片提示_tb,評估主頁抬頭_tb,報告書人員資料_申請人_tb,報告書人員資料_客編_tb,報告書人員資料_聯繫人_tb,報告書人員資料_聯繫人電話_tb, 報告書人員資料_地址_tb,報告書人員資料_聯繫人2_tb,報告書人員資料_聯繫人2電話_tb,報告書項目清單_報告書號_tb,報告書新增客編_tb,相關文件相片總數_tb,相關文件相片目前_tb, 施作圖片相片總數_tb,施作圖片相片目前_tb,施作圖片相片文件號_tb,文件圖片相片文件號_tb,施工前_tb,施工後_tb; [SerializeField] GameObject 背景_pl,首頁_pl,系統設定_pl,彈跳_pl,評估_pl,表頭_pl,複製體1,複製體2,評估主頁_pl,評估詳細_pl,拍照頁面_pl,評估紀錄_pl,圖片讀取_pl,新建_pl,選擇客戶_pl, 客戶清單表頭_pl,報告書圖片_pl,新增項目_pl,文件號_sv,項目清單_sv,報告書資料_pl,項目清單_lb,長照類_sv,圖片寬度_pl,頁面高度_pl,扶手總長_lb,扶手總長_tb,輸入扶手長度_pl, 輸入單項扶手長度_pl,備註_pl,更換照片_pl,報告書_pl,新客戶_pl,小工具_pl,倍瑞菲_pl,系統設定2_pl,主頁_pl,大主頁_pl,查詢_pl, 報告書人員清單_pl,報告書人員資料_pl,表頭2_pl, 報告書項目清單_pl,報告書新增人員_pl,報告書人員清單_年份_cb,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl,報告書文件圖片_pl,施作項目_lb,施作項目_sv,施作圖片_pl, 評估報告書1_物料清單_sv,施作圖片圖片讀取_pl,施作圖片圖片寬度_pl; [SerializeField] GameObject 長照類_bt,身障類_bt,自費類_bt,返回3_bt,發送通知_bt,回選單_bt,新增項目_bt,刪除項目_bt,更換照片資料夾_bt,更換照片文件號_bt,更換照片確認_bt, 更換照片取消_bt,更換照片拍照確認_bt,核銷文件_bt,更換照片_bt,刪除照片_bt,業務系統_bt,系統設定_bt,施工前_bt,施工後_bt,拍照_bt,回上頁_bt,文件號_bt,返回8_bt, 長照類_相關文件_bt,長照類_核定通知書_bt,長照類_評估報告書1_bt,長照類_評估報告書2_bt,返回4_bt,長照類_申請人身分證反面_bt,長照類_受託人身分證反面_bt,長照類_所有權人身分證反面_bt, 長照類_房屋所有權狀_bt,長照類_土地所有權狀_bt,長照類_房屋稅籍證明_bt,長照類_土地稅籍證明_bt,長照類_房屋稅單_bt,長照類_土地稅單_bt,返回5_bt,拍照1_bt,刪除1_bt,存檔1_bt,返回1_bt, 返回2_bt,返回2_1_bt,查詢1_bt,新增客戶1_bt,長照類_申請人身心障礙證明_bt,拍照_文件號_bt,拍照_施工前_bt,拍照_施工後_bt,拍照_申請人身分證正反面_bt,拍照_委託人身分證正反面_bt, 拍照_所有權人身分證正反面_bt, 拍照_申請人身心障礙證明正反面_bt,拍照_房屋所有權狀_bt,拍照_土地所有權狀_bt,拍照_房屋稅籍證明_bt,拍照_土地稅籍證明_bt,拍照_房屋稅單_bt, 拍照_土地稅單_bt,施作項目_新增_bt,施作項目_刪除_bt,返回6_bt,返回7_bt,拍照_評估報告書1_bt,備註_bt,拍照_評估報告書2_bt,長照類_案場1_bt,長照類_案場2_bt,長照類_案場3_bt, 施作顯示_tb,存檔2_bt,拍照_核定通知書_bt,拍照_案場1_bt,拍照_案場2_bt,拍照_案場3_bt,產品序號_bt; [SerializeField] Image 施工前_img,施工後_img,產品序號_img; [SerializeField] TMP_InputField 輸入扶手總長_tb,扶手長度_tb,備註_tb,報告書查詢1_tb,報告書新增申請人_tb,報告書新增住址_tb,報告書新增電話_tb,報告書新增聯繫人_tb, 報告書新增聯繫人電話_tb,報告書新增聯繫人2_tb,報告書新增聯繫人2電話_tb,施作_tb; [SerializeField] RawImage 拍照用,放圖用,更換照片放圖用,更換照片拍照用; //[SerializeField] GridLayoutGroup gridLayout; private WebCamTexture myCam; public TMP_FontAsset myFont; public Sprite UIsprite; public Transform 報告書人員清單_tp;public GameObject 報告書人員清單_rpf;public GameObject 報告書人員清單_ct;public GameObject 報告書人員清單_lpf; public Transform 報告書清單_tp;public GameObject 報告書清單_rpf;public GameObject 報告書清單_ct;public GameObject 報告書清單_lpf; public Transform 文件號清單_tp;public GameObject 文件號清單_rpf;public GameObject 文件號清單_ct;public GameObject 文件號清單_lpf; public Transform 報告書項目清單_tp;public GameObject 報告書項目清單_rpf;public GameObject 報告書項目清單_ct;public GameObject 報告書項目清單_lpf; public Transform 報告書施工圖片_tp;public GameObject 報告書施工圖片_rpf;public GameObject 報告書施工圖片_ct;public GameObject 報告書施工圖片_lpf; public Transform 客戶清單_tp;public GameObject 客戶清單_rpf;public GameObject 客戶清單_ct;public GameObject 客戶清單_lpf; public Transform 長照物料清單_tp;public GameObject 長照物料清單_rpf;public GameObject 長照物料清單_ct;public GameObject 長照物料清單_lpf; public Transform 報告書文件圖片_tp;public GameObject 報告書文件圖片_rpf;public GameObject 報告書文件圖片_ct;public GameObject 報告書文件圖片_lpf; public Transform 報告書施作項目清單_tp;public GameObject 報告書施作項目清單_rpf;public GameObject 報告書施作項目清單_ct;public GameObject 報告書施作項目清單_lpf; public Transform 報告書施作圖片_tp;public GameObject 報告書施作圖片_rpf;public GameObject 報告書施作圖片_ct;public GameObject 報告書施作圖片_lpf; public Transform 報告書施作圖片_物料清單_tp;public GameObject 報告書施作圖片_物料清單_rpf;public GameObject 報告書施作圖片_物料清單_ct;public GameObject 報告書施作圖片_物料清單_lpf; public SQL_LINE sql_line; private string loadingText = ""; private int dotCount = 0; void Start(){ DateTime today = DateTime.Today; 使用者_tb.text = Global.使用者暱稱; 日期_tb.text = today.Year.ToString().PadLeft(2,'0')+" 年 "+today.Month.ToString().PadLeft(2,'0')+" 月 "+today.Day.ToString().PadLeft(2,'0')+" 日 "+ GetChineseDayOfWeek(today.DayOfWeek); Global.複製體1 = 複製體1;Global.複製體2 = 複製體2; StartCoroutine(AnimateText()); } void Update(){ } public void 系統設定2_bt(){ 主頁_pl.SetActive(false);系統設定2_pl.SetActive(true); } public void 回主頁_bt(){ 主頁_pl.SetActive(true);系統設定2_pl.SetActive(false); } public void 報告書_pl_bt(){ 大主頁_pl.SetActive(false);主頁_pl.SetActive(false);系統設定2_pl.SetActive(false);報告書_pl.SetActive(true); 評估_pl.SetActive(true);新建_pl.SetActive(false);報告書新增人員_pl.SetActive(false);查詢1_bt.SetActive(true);新增客戶1_bt.SetActive(true); 報告書人員清單_年份_cb.GetComponent().ClearOptions(); List yearList = new(); int currentYear = DateTime.Now.Year; int defaultIndex = 0; SQL_Comm.SQL_客戶資料表_年份(); while (SQL_Module.dr.Read()){ string yearStr = SQL_Module.dr["年份"].ToString(); yearList.Add(yearStr); if (yearStr == currentYear.ToString()) { defaultIndex = yearList.Count - 1; } } 報告書人員清單_年份_cb.GetComponent().AddOptions(yearList); 報告書人員清單_年份_cb.GetComponent().value=defaultIndex; 報告書人員清單_年份_cb.GetComponent().RefreshShownValue(); Set_報告書人員清單(""); } public void 報告書返回1(){ 大主頁_pl.SetActive(true);主頁_pl.SetActive(false);系統設定2_pl.SetActive(false);報告書_pl.SetActive(false); } public void 報告書清單返回1(){ 大主頁_pl.SetActive(true);主頁_pl.SetActive(true);系統設定2_pl.SetActive(false);報告書_pl.SetActive(false); } public void 報告書清單返回2(){ 報告書人員清單_pl.SetActive(true);報告書人員資料_pl.SetActive(false);報告書項目清單_pl.SetActive(false);報告書新增人員_pl.SetActive(false); 返回1_bt.SetActive(true);查詢1_bt.SetActive(true);新增客戶1_bt.SetActive(true);返回2_bt.SetActive(false);返回2_1_bt.SetActive(false); } public void 報告書清單返回3(){ 報告書人員清單_pl.SetActive(false);報告書人員資料_pl.SetActive(true);報告書項目清單_pl.SetActive(false); 返回2_bt.SetActive(true);返回3_bt.SetActive(false); } public void 報告書清單返回4(){ 長照類_bt.SetActive(true);身障類_bt.SetActive(true);自費類_bt.SetActive(true);返回3_bt.SetActive(true); 長照類_核定通知書_bt.SetActive(false);長照類_相關文件_bt.SetActive(false);長照類_評估報告書1_bt.SetActive(false); 長照類_評估報告書2_bt.SetActive(false);返回4_bt.SetActive(false); } public void 報告書清單返回8(){ 長照類_bt.SetActive(true);身障類_bt.SetActive(true);自費類_bt.SetActive(true);返回3_bt.SetActive(true); 長照類_案場1_bt.SetActive(false);長照類_案場2_bt.SetActive(false);長照類_案場3_bt.SetActive(false);返回8_bt.SetActive(false); } public void 報告書清單返回5(){ 長照類_核定通知書_bt.SetActive(true);長照類_相關文件_bt.SetActive(true);長照類_評估報告書1_bt.SetActive(true); 長照類_評估報告書2_bt.SetActive(true);返回4_bt.SetActive(true); 長照類_申請人身分證反面_bt.SetActive(false);長照類_受託人身分證反面_bt.SetActive(false);長照類_所有權人身分證反面_bt.SetActive(false); 長照類_房屋所有權狀_bt.SetActive(false);長照類_土地所有權狀_bt.SetActive(false);長照類_房屋稅籍證明_bt.SetActive(false);長照類_土地稅籍證明_bt.SetActive(false); 長照類_房屋稅單_bt.SetActive(false);長照類_土地稅單_bt.SetActive(false);返回5_bt.SetActive(false);拍照1_bt.SetActive(false);刪除1_bt.SetActive(false); 存檔1_bt.SetActive(false);報告書文件圖片_pl.SetActive(false);長照類_申請人身心障礙證明_bt.SetActive(false); RectTransform rt = 報告書文件圖片_pl.GetComponent(); rt.offsetMax = new Vector2(rt.offsetMax.x, -706.66f); } public void 報告書清單搜尋1(){ 查詢_pl.SetActive(true);報告書查詢1_tb.text=""; } public void 報告書清單搜尋確認1(){ 查詢_pl.SetActive(false);string 搜尋條件 = " AND (客戶資料表.負責人 LIKE N'%" + 報告書查詢1_tb.text + "%' OR 客戶資料表.聯繫人1 LIKE N'%" + 報告書查詢1_tb.text + "%') "; Set_報告書人員清單(搜尋條件); } public void 主頁新增(){ 大主頁_pl.SetActive(false);主頁_pl.SetActive(false);系統設定2_pl.SetActive(false);報告書_pl.SetActive(true); 評估_pl.SetActive(true);新建_pl.SetActive(false); Global.主頁新增=true; 真新增(); } private void 真新增(){ 報告書新增人員_pl.SetActive(true);報告書新增客編_tb.text="";報告書新增申請人_tb.text="";報告書新增住址_tb.text="";報告書新增電話_tb.text="";報告書新增聯繫人_tb.text=""; 報告書新增聯繫人電話_tb.text=""; 報告書人員清單_pl.SetActive(false);報告書人員資料_pl.SetActive(true);報告書項目清單_pl.SetActive(false); 評估主頁抬頭_tb.text = "";報告書人員資料_申請人_tb.text = "";報告書人員資料_客編_tb.text = "";報告書人員資料_聯繫人_tb.text = ""; 報告書人員資料_聯繫人電話_tb.text = "";報告書人員資料_地址_tb.text = "";報告書人員資料_聯繫人2_tb.text="";報告書人員資料_聯繫人2電話_tb.text=""; 返回1_bt.SetActive(false);查詢1_bt.SetActive(false);新增客戶1_bt.SetActive(false); if(Global.主頁新增){ 返回2_bt.SetActive(false);返回2_1_bt.SetActive(true); }else{ 返回2_bt.SetActive(true);返回2_1_bt.SetActive(false); } string 加盟商代號; SQL_Comm.SQL_載入供應商代號(Global.gUser區域); if(SQL_Module.dr.Read()){ 加盟商代號=SQL_Module.dr["加盟商代號"].ToString(); }else{ 加盟商代號 = "CN"; } SQL_Comm.SQL_客戶資料表_最後一筆資料(Global.gUser區域); if (SQL_Module.dr.Read()){ 報告書新增客編_tb.text = SQL_Module.dr["流水號"].ToString(); }else{ 報告書新增客編_tb.text = $"{加盟商代號}{DateTime.Today:yyMM}000"; } string 年份 = DateTime.Today.ToString("yy"); string 月份 = DateTime.Today.ToString("MM"); if (報告書新增客編_tb.text.Length >= 加盟商代號.Length + 4){ if (報告書新增客編_tb.text.Substring(加盟商代號.Length, 2) == 年份 && 報告書新增客編_tb.text.Substring(加盟商代號.Length + 2, 2) == 月份){ string lastThreeDigits = 報告書新增客編_tb.text[^3..]; if (int.TryParse(lastThreeDigits, out int num)){ num += 1; 報告書新增客編_tb.text = $"{加盟商代號}{年份}{月份}{num:000}"; }else{ 報告書新增客編_tb.text = $"{加盟商代號}{年份}{月份}001"; } }else{ 報告書新增客編_tb.text = $"{加盟商代號}{年份}{月份}001"; } }else{ 報告書新增客編_tb.text = $"{加盟商代號}{年份}{月份}001"; } } public void 報告書清單新增人員1(){ Global.主頁新增=false;真新增(); } public void 報告書清單確認新增1(){ 報告書新增人員_pl.SetActive(false);報告書人員資料_客編_tb.text = 報告書新增客編_tb.text;報告書人員資料_申請人_tb.text = 報告書新增申請人_tb.text; 報告書人員資料_聯繫人_tb.text = 報告書新增聯繫人_tb.text;報告書人員資料_聯繫人電話_tb.text = 報告書新增聯繫人電話_tb.text;報告書人員資料_地址_tb.text = 報告書新增住址_tb.text; 報告書人員資料_聯繫人2_tb.text = 報告書新增聯繫人2_tb.text;報告書人員資料_聯繫人2電話_tb.text = 報告書新增聯繫人2電話_tb.text; SQL_Comm.SQL_客戶資料表_新增(報告書人員資料_客編_tb.text,DateTime.Today.ToString("yyyy/MM/dd"),"","",報告書人員資料_地址_tb.text,報告書人員資料_申請人_tb.text, Global.gUserName,報告書人員資料_聯繫人_tb.text,報告書人員資料_聯繫人電話_tb.text,"","",Global.gUser區域,"","",報告書人員資料_聯繫人2_tb.text, 報告書人員資料_聯繫人2電話_tb.text,"","","",""); Set_報告書人員清單(""); } public void 報告書新增報告書(){ double NUM1;string dat1;string 報告書號;string 圖檔資料庫=""; Set_日期格式轉換(); SQL_Comm.SQL_取得加盟商編號(Global.gUser區域); if(SQL_Module.dr.Read()){ Global.gUser加盟商編號=SQL_Module.dr[0].ToString(); }else{ Global.gUser加盟商編號="未設定加盟商"; } SQL_Comm.SQL_報告書_查詢流水號(Global.gUser區域); if(SQL_Module.dr.Read()){ 報告書號 = SQL_Module.dr["流水號"].ToString(); }else{ 報告書號 = "RE" + Global.DTP1[2..] + "00-" + Global.gUser加盟商編號; } dat1 = 報告書號.Substring(2, 6); if(dat1 != Global.DTP1[2..]){ NUM1 = 1; }else{ NUM1 = double.Parse(報告書號.Substring(8, 2)) + 1; } 報告書號 = "RE" + Global.DTP1[2..] + NUM1.ToString().PadLeft(2, '0') + "-" + Global.gUser加盟商編號; SQL_Comm.SQL_查詢圖檔資料庫(); if(SQL_Module.dr.Read()){ 圖檔資料庫 = SQL_Module.dr[0].ToString(); SQL_Comm.SQL_報告書_新增(報告書號, 報告書人員資料_客編_tb.text, DateTime.Today.ToString("yyyy/MM/dd"), Global.gUserName, Global.gUser區域, 圖檔資料庫); Set_報告書清單(報告書人員資料_客編_tb.text,報告書人員資料_申請人_tb.text,報告書人員資料_聯繫人_tb.text,報告書人員資料_聯繫人電話_tb.text,報告書人員資料_地址_tb.text,報告書人員資料_聯繫人2_tb.text,報告書人員資料_聯繫人2電話_tb.text); } } public void 報告書清單拍照1(){ 拍照頁面_pl.SetActive(true); 拍照_文件號_bt.SetActive(false);拍照_施工前_bt.SetActive(false);拍照_施工後_bt.SetActive(false);拍照_申請人身分證正反面_bt.SetActive(false);拍照_委託人身分證正反面_bt.SetActive(false); 拍照_所有權人身分證正反面_bt.SetActive(false);拍照_申請人身心障礙證明正反面_bt.SetActive(false);拍照_房屋所有權狀_bt.SetActive(false);拍照_土地所有權狀_bt.SetActive(false); 拍照_房屋稅籍證明_bt.SetActive(false);拍照_土地稅籍證明_bt.SetActive(false);拍照_房屋稅單_bt.SetActive(false);拍照_土地稅單_bt.SetActive(false);拍照_評估報告書2_bt.SetActive(false); 拍照_評估報告書1_bt.SetActive(false);拍照_案場1_bt.SetActive(false);拍照_案場2_bt.SetActive(false);拍照_案場3_bt.SetActive(false);拍照_核定通知書_bt.SetActive(false); if(Global.報告書選項2 =="評估報告書1"){ 拍照_評估報告書1_bt.SetActive(true); }else if(Global.報告書選項2 =="評估報告書2"){ 拍照_評估報告書2_bt.SetActive(true); }else if(Global.報告書選項2 =="核定通知書"){ 拍照_核定通知書_bt.SetActive(true); }else if(Global.報告書選項2 =="案場1"){ 拍照_案場1_bt.SetActive(true); }else if(Global.報告書選項2 =="案場2"){ 拍照_案場2_bt.SetActive(true); }else if(Global.報告書選項2 =="案場3"){ 拍照_案場3_bt.SetActive(true); }else{ if(Global.報告書選項3 =="申請人身分證正反面"){拍照_申請人身分證正反面_bt.SetActive(true);} else if(Global.報告書選項3 =="委託人身分證正反面"){拍照_委託人身分證正反面_bt.SetActive(true);} else if(Global.報告書選項3 =="所有權人身分證正反面"){拍照_所有權人身分證正反面_bt.SetActive(true);} else if(Global.報告書選項3 =="申請人身心障礙證明正反面"){拍照_申請人身心障礙證明正反面_bt.SetActive(true);} else if(Global.報告書選項3 =="房屋所有權狀"){拍照_房屋所有權狀_bt.SetActive(true);} else if(Global.報告書選項3 =="土地所有權狀"){拍照_土地所有權狀_bt.SetActive(true);} else if(Global.報告書選項3 =="房屋稅籍證明"){拍照_房屋稅籍證明_bt.SetActive(true);} else if(Global.報告書選項3 =="土地稅籍證明"){拍照_土地稅籍證明_bt.SetActive(true);} else if(Global.報告書選項3 =="房屋稅單"){拍照_房屋稅單_bt.SetActive(true);} else if(Global.報告書選項3 =="土地稅單"){拍照_土地稅單_bt.SetActive(true);} } StartCoroutine(open_Camera(60)); 提示_tb.text ="拍照中"; //拍照2(Global.報告書選項3); 拍照用.gameObject.SetActive(true); 放圖用.gameObject.SetActive(false); } public void 拍照2(string 階段){ if (拍照用.gameObject.activeSelf && !放圖用.gameObject.activeSelf){ Texture2D photoTexture = CapturePhoto(); if (photoTexture != null){ 放圖用.rectTransform.sizeDelta = new Vector2(720f, 1280f); 放圖用.texture = photoTexture; Texture2D texture2D = new((放圖用.texture as Texture2D).width, (放圖用.texture as Texture2D).height); Graphics.CopyTexture(放圖用.texture, texture2D); byte[] imageBytes = texture2D.EncodeToPNG(); SQL_Comm.SQL_取得報告書資料(報告書流水號_tb.text); if(SQL_Module.dr.Read()){ Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); if(階段=="評估報告書1" || 階段=="評估報告書2" || 階段=="案場1" || 階段=="案場2" || 階段=="案場3"){ SQL_Comm.SQL_讀取施工圖檔流水號(報告書流水號_tb.text,Global.報告書施工狀態,Global.報告書選項2,Global.報告書物料料號,Global.報告書物料明細流水號); int 流水號2;if(SQL_Module.dr.Read()){流水號2=int.Parse(SQL_Module.dr[0].ToString()[2..]);}else{流水號2 = 0;}流水號2+=1; SQL_Comm.SQL_上傳施工圖檔(報告書流水號_tb.text,Global.報告書施工狀態,Global.報告書選項2,Global.報告書物料料號,imageBytes,"JPG","IM"+流水號2.ToString().PadLeft(3,'0'),"0",Global.報告書物料明細流水號); }else{ SQL_Comm.SQL_讀取相關文件圖檔流水號(報告書流水號_tb.text,階段); int 流水號;if(SQL_Module.dr.Read()){流水號=int.Parse(SQL_Module.dr["流水號"].ToString()[^8..]);}else{流水號 = 0;}流水號+=1; SQL_Comm.SQL_上傳相關文件圖檔("IM"+流水號.ToString().PadLeft(8,'0'),報告書流水號_tb.text,階段,imageBytes,"JPG",""); } 拍照結束2(階段); } } myCam.Stop(); myCam = null; 提示_tb.text =""; } } private void 拍照結束2(string 階段){ 拍照頁面_pl.SetActive(false); //PhotoScroll.清除currentPage(); if(階段=="評估報告書1" || 階段=="評估報告書2" || 階段=="案場1" || 階段=="案場2" || 階段=="案場3"){ //Set_評估報告書1清單("評估報告書1"); 載入圖片清單2(Global.報告書施工狀態,報告書施作圖片_tp,報告書施作圖片_rpf,報告書施作圖片_ct,報告書施作圖片_lpf,施作圖片圖片讀取_pl,施作圖片圖片寬度_pl); }else{ 載入圖片清單(階段,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); } } public void Set_報告書人員清單年份刷新(){ Set_報告書人員清單(""); } private void 載入圖片清單(string 階段,Transform 文件圖片_tp, GameObject 文件圖片_rpf, GameObject 文件圖片_ct, GameObject 文件圖片_lpf,GameObject 圖片讀取,GameObject 圖片寬度){ 圖片讀取.SetActive(true); Module.清除控件(文件圖片_ct); SQL_Comm.SQL_取得報告書資料(報告書項目清單_報告書號_tb.text); if(SQL_Module.dr.Read()){ 報告書申請人_tb.text = SQL_Module.dr["負責人"].ToString(); 報告書開立人_tb.text = SQL_Module.dr["開立人"].ToString(); Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); Debug.Log(Global.圖檔資料庫); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); SQL_Comm.SQL_報告書_相關文件圖片清單(報告書項目清單_報告書號_tb.text,階段); DataSet ds1 = new(); SQL_Module.da.Fill(ds1); if(ds1.Tables[0].Rows.Count>0){ 相關文件相片目前_tb.text="1";相關文件相片總數_tb.text=ds1.Tables[0].Rows.Count.ToString(); 文件圖片相片文件號_tb.text=ds1.Tables[0].Rows[0][0].ToString(); }else{ 相關文件相片目前_tb.text="-";相關文件相片總數_tb.text="-";文件圖片相片文件號_tb.text="文件號"; } Global.報告書相關文件_table = ds1.Tables[0]; 文件圖片_ct.GetComponent().sizeDelta=new Vector2(圖片寬度.GetComponent().rect .width,文件圖片_ct.GetComponent().sizeDelta.y); 文件圖片_rpf.GetComponent().sizeDelta=new Vector2(圖片寬度.GetComponent().rect .width,文件圖片_rpf.GetComponent().sizeDelta.y); 載入報告書圖片("報告書相關文件"+階段,ds1.Tables[0],文件圖片_tp,文件圖片_rpf,文件圖片_ct,myFont,UIsprite,文件圖片_lpf,true); 圖片讀取.SetActive(false); } } void 更新按鈕顏色(string 階段){ Dictionary 按鈕對應表 = new(){ { "申請人身分證正反面", 長照類_申請人身分證反面_bt },{ "委託人身分證正反面", 長照類_受託人身分證反面_bt },{ "所有權人身分證正反面", 長照類_所有權人身分證反面_bt }, { "申請人身心障礙證明正反面", 長照類_申請人身心障礙證明_bt },{ "房屋所有權狀", 長照類_房屋所有權狀_bt }, { "土地所有權狀", 長照類_土地所有權狀_bt }, { "房屋稅籍證明", 長照類_房屋稅籍證明_bt },{ "土地稅籍證明", 長照類_土地稅籍證明_bt },{ "房屋稅單", 長照類_房屋稅單_bt },{ "土地稅單", 長照類_土地稅單_bt } }; GameObject[] 所有按鈕 = { 長照類_申請人身分證反面_bt,長照類_申請人身心障礙證明_bt,長照類_所有權人身分證反面_bt,長照類_受託人身分證反面_bt,長照類_房屋所有權狀_bt,長照類_房屋稅籍證明_bt, 長照類_房屋稅單_bt,長照類_土地所有權狀_bt,長照類_土地稅籍證明_bt,長照類_土地稅單_bt }; foreach (var 按鈕 in 所有按鈕){ var image = 按鈕.transform.Find("Image")?.GetComponent();if (image != null) {image.color = new Color32(255, 255, 255, 255);} } if (按鈕對應表.TryGetValue(階段, out GameObject 高亮按鈕)) { var image = 高亮按鈕.transform.Find("Image")?.GetComponent();if (image != null){image.color = new Color32(158, 255, 183, 255);} } } public void 報告書相關文件(string 階段){ Global.報告書選項3 = 階段; 更新按鈕顏色(階段); 載入圖片清單(階段,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); } public void 新增報告書_bt_Click(string 階段){ Global.報告書選項3 = 階段; 載入圖片清單(階段,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); } private void 讀取施作(string 文件號){ SQL_Comm.SQL_報告書_查詢施作(報告書流水號_tb.text,文件號); if(SQL_Module.dr.Read()){ Global.報告書物料明細流水號=SQL_Module.dr[0].ToString(); Global.報告書物料料號 = SQL_Module.dr[1].ToString(); 施作_tb.text=SQL_Module.dr[1].ToString(); }else{ SQL_Comm.SQL_報告書_讀取流水號(); string 流水號; if(SQL_Module.dr.Read()){ 流水號 = SQL_Module.dr[0].ToString(); }else{ 流水號 = "WS00000000-FC001"; } int 新流; if(流水號.Contains("-")){ string[] 前後 = 流水號.Split('-'); 新流 = int.Parse(前後[0][2..]) + 1; }else{ 新流 = int.Parse(流水號[2..]) + 1; } string 欣欣 = "WS"+新流.ToString().PadLeft(8,'0'); Global.報告書物料明細流水號=欣欣; Global.報告書物料料號 = ""; 施作_tb.text=""; SQL_Comm.SQL_報告書_新增施作("",報告書流水號_tb.text,文件號,欣欣); } } public void 長照類_案場1_bt_click(){ 長照類_案場1_bt.SetActive(false);長照類_案場2_bt.SetActive(false);長照類_案場3_bt.SetActive(false);返回8_bt.SetActive(false); 施作項目_lb.SetActive(true);施作項目_sv.SetActive(false);施作圖片_pl.SetActive(true);施作項目_新增_bt.SetActive(false);施作項目_刪除_bt.SetActive(false); 施作顯示_tb.SetActive(true);存檔2_bt.SetActive(true); 返回6_bt.SetActive(true);施工前_bt.SetActive(true);施工後_bt.SetActive(true);備註_bt.SetActive(true);產品序號_bt.SetActive(false); 施工前_tb.text = "施工前";施工後_tb.text = "施工後"; Set_評估報告書1清單("案場1"); Global.報告書選項2="案場1"; 讀取施作(Global.報告書選項2); } public void 長照類_案場2_bt_click(){ 長照類_案場1_bt.SetActive(false);長照類_案場2_bt.SetActive(false);長照類_案場3_bt.SetActive(false);返回8_bt.SetActive(false); 施作項目_lb.SetActive(true);施作項目_sv.SetActive(false);施作圖片_pl.SetActive(true);施作項目_新增_bt.SetActive(false);施作項目_刪除_bt.SetActive(false); 施作顯示_tb.SetActive(true);存檔2_bt.SetActive(true); 返回6_bt.SetActive(true);施工前_bt.SetActive(true);施工後_bt.SetActive(true);備註_bt.SetActive(true);產品序號_bt.SetActive(false); 施工前_tb.text = "施工前";施工後_tb.text = "施工後"; Set_評估報告書1清單("案場2"); Global.報告書選項2="案場2"; 讀取施作(Global.報告書選項2); } public void 長照類_案場3_bt_click(){ 長照類_案場1_bt.SetActive(false);長照類_案場2_bt.SetActive(false);長照類_案場3_bt.SetActive(false);返回8_bt.SetActive(false); 施作項目_lb.SetActive(true);施作項目_sv.SetActive(false);施作圖片_pl.SetActive(true);施作項目_新增_bt.SetActive(false);施作項目_刪除_bt.SetActive(false); 施作顯示_tb.SetActive(true);存檔2_bt.SetActive(true); 返回6_bt.SetActive(true);施工前_bt.SetActive(true);施工後_bt.SetActive(true);備註_bt.SetActive(true);產品序號_bt.SetActive(false); Set_評估報告書1清單("案場3"); 施工前_tb.text = "施工前";施工後_tb.text = "施工後"; Global.報告書選項2="案場3"; 讀取施作(Global.報告書選項2); } public void 長照類_存檔2_bt_click(){ Global.報告書物料料號 = 施作_tb.text; SQL_Comm.SQL_報告書_修改施作(施作_tb.text,報告書流水號_tb.text,Global.報告書選項2,Global.報告書物料明細流水號); SQL_Comm.SQL_取得報告書資料(報告書流水號_tb.text); if(SQL_Module.dr.Read()){ Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); SQL_Comm.SQL_報告書_修改施作2(施作_tb.text,報告書流水號_tb.text,Global.報告書選項2); } } public void 長照類_評估報告書1_bt_click(){ 長照類_核定通知書_bt.SetActive(false);長照類_相關文件_bt.SetActive(false);長照類_評估報告書1_bt.SetActive(false); 長照類_評估報告書2_bt.SetActive(false);返回4_bt.SetActive(false); 施作項目_lb.SetActive(true);施作項目_sv.SetActive(true);施作圖片_pl.SetActive(true);施作項目_新增_bt.SetActive(true);施作項目_刪除_bt.SetActive(true); 返回6_bt.SetActive(true);施工前_bt.SetActive(true);施工後_bt.SetActive(true);備註_bt.SetActive(true);產品序號_bt.SetActive(false); 施工前_tb.text = "施工前";施工後_tb.text = "施工後"; Set_評估報告書1清單("評估報告書1"); Global.報告書選項2="評估報告書1"; } public void 長照類_評估報告書2_bt_click(){ 長照類_核定通知書_bt.SetActive(false);長照類_相關文件_bt.SetActive(false);長照類_評估報告書1_bt.SetActive(false); 長照類_評估報告書2_bt.SetActive(false);返回4_bt.SetActive(false); 施作項目_lb.SetActive(true);施作項目_sv.SetActive(true);施作圖片_pl.SetActive(true);施作項目_新增_bt.SetActive(true);施作項目_刪除_bt.SetActive(true); 返回6_bt.SetActive(true);施工前_bt.SetActive(true);施工後_bt.SetActive(true);備註_bt.SetActive(true);產品序號_bt.SetActive(true); Set_評估報告書1清單("評估報告書2"); if(Global.報告書選項1=="身障類" || Global.報告書選項1=="長照類"){ 施工前_tb.text = "空拍輔具";施工後_tb.text = "使用中"; }else{ 施工前_tb.text = "施工前";施工後_tb.text = "施工後"; } Global.報告書選項2="評估報告書2"; } public void 報告書清單返回6(){ if(Global.報告書選項2=="評估報告書1" || Global.報告書選項2=="評估報告書2"){ 長照類_核定通知書_bt.SetActive(true);長照類_相關文件_bt.SetActive(true);長照類_評估報告書1_bt.SetActive(true); 長照類_評估報告書2_bt.SetActive(true);返回4_bt.SetActive(true); 施作項目_lb.SetActive(false);施作項目_sv.SetActive(false);施作圖片_pl.SetActive(false);施作項目_新增_bt.SetActive(false);施作項目_刪除_bt.SetActive(false); 施作顯示_tb.SetActive(false);存檔2_bt.SetActive(false); 返回6_bt.SetActive(false);施工前_bt.SetActive(false);施工後_bt.SetActive(false);備註_bt.SetActive(false);產品序號_bt.SetActive(false); 拍照1_bt.SetActive(false);刪除1_bt.SetActive(false);存檔1_bt.SetActive(false); Module.清除控件(報告書施作圖片_ct); }else{ 長照類_案場1_bt.SetActive(true);長照類_案場2_bt.SetActive(true);長照類_案場3_bt.SetActive(true);返回8_bt.SetActive(true); 施作項目_lb.SetActive(false);施作項目_sv.SetActive(false);施作圖片_pl.SetActive(false);施作項目_新增_bt.SetActive(false);施作項目_刪除_bt.SetActive(false); 施作顯示_tb.SetActive(false);存檔2_bt.SetActive(false); 返回6_bt.SetActive(false);施工前_bt.SetActive(false);施工後_bt.SetActive(false);備註_bt.SetActive(false);產品序號_bt.SetActive(false); 拍照1_bt.SetActive(false);刪除1_bt.SetActive(false);存檔1_bt.SetActive(false); Module.清除控件(報告書施作圖片_ct); } } private void Set_評估報告書1清單(string 文件號){ SQL_Comm.SQL_取得報告書項目清單2(報告書流水號_tb.text,文件號); DataSet ds1 = new(); SQL_Module.da.Fill(ds1); for(int i=0;i<=ds1.Tables[0].Rows.Count-1;i++){ ds1.Tables[0].Rows[i][1] = ds1.Tables[0].Rows[i][2].ToString() + " " + ds1.Tables[0].Rows[i][4].ToString(); } if(文件號=="評估報告書1"){ Global.報告書評估報告書1清單_tabel = ds1.Tables[0]; }else if(文件號=="案場1"){ Global.報告書案場1清單_tabel = ds1.Tables[0]; }else if(文件號=="案場2"){ Global.報告書案場2清單_tabel = ds1.Tables[0]; }else if(文件號=="案場3"){ Global.報告書案場3清單_tabel = ds1.Tables[0]; }else{ Global.報告書評估報告書2清單_tabel = ds1.Tables[0]; } 載入報告書項目清單表格("報告書"+文件號+"清單",ds1.Tables[0],報告書施作項目清單_tp,報告書施作項目清單_rpf,報告書施作項目清單_ct,myFont,UIsprite,報告書施作項目清單_lpf,true); } public void 報告書評估報告書1新增(){ 評估報告書1_物料清單_sv.SetActive(true);返回6_bt.SetActive(false);施作圖片_pl.SetActive(false);返回7_bt.SetActive(true); if(Global.報告書選項1=="長照類"){ if(Global.報告書選項2=="評估報告書1"){ Set_長照物料清單("施作項目","C",報告書施作圖片_物料清單_tp,報告書施作圖片_物料清單_rpf,報告書施作圖片_物料清單_ct,報告書施作圖片_物料清單_lpf,Global.報告書選項2+"物料清單"); }else{ Set_長照物料清單("施作項目","C2",報告書施作圖片_物料清單_tp,報告書施作圖片_物料清單_rpf,報告書施作圖片_物料清單_ct,報告書施作圖片_物料清單_lpf,Global.報告書選項2+"物料清單"); } }else{ if(Global.報告書選項2=="評估報告書1"){ Set_長照物料清單("施作項目","D",報告書施作圖片_物料清單_tp,報告書施作圖片_物料清單_rpf,報告書施作圖片_物料清單_ct,報告書施作圖片_物料清單_lpf,Global.報告書選項2+"物料清單"); }else{ Set_長照物料清單("施作項目","D2",報告書施作圖片_物料清單_tp,報告書施作圖片_物料清單_rpf,報告書施作圖片_物料清單_ct,報告書施作圖片_物料清單_lpf,Global.報告書選項2+"物料清單"); } } } public void 報告書評估報告書1刪除(){ Debug.Log(Global.報告書物料料號); SQL_Comm.SQL_報告書_刪除報告書明細(報告書流水號_tb.text,Global.報告書選項2,Global.報告書物料料號); SQL_Comm.SQL_取得報告書資料(報告書流水號_tb.text); if(SQL_Module.dr.Read()){ Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); SQL_Comm.SQL_報告書_刪除報告書施工圖檔(報告書流水號_tb.text,Global.報告書選項2,Global.報告書物料料號); } Set_評估報告書1清單(Global.報告書選項2); } public void 報告書評估報告書1圖檔刪除(){ if(Global.報告書選項2=="評估報告書1"){ SQL_Comm.SQL_取得報告書資料(報告書流水號_tb.text); if(SQL_Module.dr.Read()){ Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); string 文件號=施作圖片相片文件號_tb.text; SQL_Comm.SQL_報告書_刪除報告書施工圖檔照片(報告書流水號_tb.text,Global.報告書選項2,Global.報告書施工狀態,Global.報告書物料明細流水號,Global.報告書物料料號,文件號); 載入圖片清單2(Global.報告書施工狀態,報告書施作圖片_tp,報告書施作圖片_rpf,報告書施作圖片_ct,報告書施作圖片_lpf,施作圖片圖片讀取_pl,施作圖片圖片寬度_pl); } }else if(Global.報告書選項2=="評估報告書2"){ SQL_Comm.SQL_取得報告書資料(報告書流水號_tb.text); if(SQL_Module.dr.Read()){ Global.圖檔資料庫 = SQL_Module.dr["圖檔資料庫"].ToString(); SQL_CommString.SQL_連線字串_圖片_SQL(Global.圖檔資料庫,Global.資料庫IP); string 文件號=施作圖片相片文件號_tb.text; SQL_Comm.SQL_報告書_刪除報告書施工圖檔照片(報告書流水號_tb.text,Global.報告書選項2,Global.報告書施工狀態,Global.報告書物料明細流水號,Global.報告書物料料號,文件號); 載入圖片清單2(Global.報告書施工狀態,報告書施作圖片_tp,報告書施作圖片_rpf,報告書施作圖片_ct,報告書施作圖片_lpf,施作圖片圖片讀取_pl,施作圖片圖片寬度_pl); } }else if(Global.報告書選項2=="核定通知書"){ string 文件號 = 文件圖片相片文件號_tb.text; SQL_Comm.SQL_報告書_刪除報告書相關文件圖檔照片(報告書流水號_tb.text,Global.報告書選項2,文件號); 載入圖片清單(Global.報告書選項2,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); }else{ string 文件號 = 文件圖片相片文件號_tb.text; SQL_Comm.SQL_報告書_刪除報告書相關文件圖檔照片(報告書流水號_tb.text,Global.報告書選項3,文件號); 載入圖片清單(Global.報告書選項3,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); } } public void 報告書清單返回7(){ 評估報告書1_物料清單_sv.SetActive(false);返回6_bt.SetActive(true);施作圖片_pl.SetActive(true);返回7_bt.SetActive(false); } public void 長照類_核定通知書_bt_click(){ 長照類_核定通知書_bt.SetActive(false);長照類_相關文件_bt.SetActive(false);長照類_評估報告書1_bt.SetActive(false); 長照類_評估報告書2_bt.SetActive(false);返回4_bt.SetActive(false); 返回5_bt.SetActive(true);刪除1_bt.SetActive(true); 拍照1_bt.SetActive(true);報告書文件圖片_pl.SetActive(true); RectTransform rt = 報告書文件圖片_pl.GetComponent(); rt.offsetMax = new Vector2(rt.offsetMax.x, -114f); Global.報告書選項2="核定通知書"; 載入圖片清單(Global.報告書選項2,報告書文件圖片_tp,報告書文件圖片_rpf,報告書文件圖片_ct,報告書文件圖片_lpf,報告書文件圖片讀取_pl,報告書文件圖片寬度_pl); } private void Set_日期格式轉換(){ Global.DTP1 = DateTime.Today.Year.ToString().PadLeft(4,'0')+DateTime.Today.Month.ToString().PadLeft(2,'0')+DateTime.Today.Day.ToString().PadLeft(2,'0'); } private void Set_報告書人員清單(string 搜尋條件){ 報告書人員清單_pl.SetActive(true);報告書人員資料_pl.SetActive(false);報告書項目清單_pl.SetActive(false); 評估主頁抬頭_tb.text= "首頁"; string 年份; if(報告書人員清單_年份_cb.GetComponent().options[報告書人員清單_年份_cb.GetComponent().value].text==""){ 年份 = "%%"; }else{ 年份 = 報告書人員清單_年份_cb.GetComponent().options[報告書人員清單_年份_cb.GetComponent().value].text; } SQL_Comm.SQL_報告書_人員清單(Global.gUser區域,年份,搜尋條件); DataSet ds1 = new(); SQL_Module.da.Fill(ds1); string[] columnNames = new string[] { ds1.Tables[0].Columns[1].ColumnName, ds1.Tables[0].Columns[2].ColumnName}; Global.報告書人員清單_tabel = ds1.Tables[0]; 載入報告書表格("報告書人員清單",ds1.Tables[0].DefaultView.ToTable(false, columnNames),報告書人員清單_tp,報告書人員清單_rpf,報告書人員清單_ct,myFont,UIsprite,報告書人員清單_lpf,true,表頭_pl); } private void Set_報告書清單(string 客戶編號,string 申請人,string 聯繫人,string 聯繫人電話,string 住址,string 聯繫人2,string 聯繫人2電話){ 報告書人員清單_pl.SetActive(false);報告書人員資料_pl.SetActive(true);報告書項目清單_pl.SetActive(false); 評估主頁抬頭_tb.text = 申請人;報告書人員資料_申請人_tb.text = 申請人;報告書人員資料_客編_tb.text = 客戶編號;報告書人員資料_聯繫人_tb.text = 聯繫人; 報告書人員資料_聯繫人電話_tb.text = 聯繫人電話;報告書人員資料_地址_tb.text = 住址;報告書人員資料_聯繫人2_tb.text=聯繫人2;報告書人員資料_聯繫人2電話_tb.text=聯繫人2電話; 返回1_bt.SetActive(false);查詢1_bt.SetActive(false);新增客戶1_bt.SetActive(false);返回2_bt.SetActive(true);返回2_1_bt.SetActive(false); SQL_Comm.SQL_報告書_清單(客戶編號); DataSet ds1 = new(); SQL_Module.da.Fill(ds1); string[] columnNames = new string[] { ds1.Tables[0].Columns[0].ColumnName, ds1.Tables[0].Columns[2].ColumnName}; Global.報告書清單_tabel = ds1.Tables[0].DefaultView.ToTable(false, columnNames); 載入報告書表格("報告書清單",Global.報告書清單_tabel,報告書清單_tp,報告書清單_rpf,報告書清單_ct,myFont,UIsprite,報告書清單_lpf,true,表頭2_pl); } private void 載入報告書表格(string table_name,DataTable table,Transform tableParent,GameObject rowPrefab,GameObject ceneter,TMP_FontAsset myFont,Sprite UIsprite, GameObject LinePrefab,bool overflowMode,GameObject 表頭){ Module.清除控件(表頭); float 表格高度 = 160f; for (int j = 0; j <= table.Columns.Count-1; j++){ GameObject headerText = new(table_name+"_Headers (Clone)"); headerText.transform.SetParent(表頭.transform, false); headerText.AddComponent().text = table.Columns[j].ColumnName; headerText.GetComponent().tag="Cells"; if(overflowMode){headerText.GetComponent().overflowMode=TextOverflowModes.Ellipsis;} if(j==0){ headerText.GetComponent().anchoredPosition=new Vector2(0f,0f); headerText.GetComponent().anchorMin = new Vector2(0f, 1f); headerText.GetComponent().anchorMax = new Vector2(0f, 1f); headerText.GetComponent().pivot = new Vector2(0f, 1f); float x = 表頭.GetComponent().rect.width -275f; headerText.GetComponent().sizeDelta = new Vector2(x, 表格高度); }else{ headerText.GetComponent().anchorMin = new Vector2(1f, 1f); headerText.GetComponent().anchorMax = new Vector2(1f, 1f); headerText.GetComponent().pivot = new Vector2(1f, 1f); headerText.GetComponent().sizeDelta = new Vector2(270f, 表格高度); headerText.GetComponent().anchoredPosition=new Vector2(0f,0f); } } GameObject Separation = Instantiate(LinePrefab, 表頭.transform); Separation.GetComponent().sizeDelta = new Vector2(5f,表頭.GetComponent().sizeDelta.y-5f); Separation.GetComponent().anchoredPosition = new Vector2(-275f,-3f); Separation.GetComponent().anchorMin = new Vector2(1f, 1f); Separation.GetComponent().anchorMax = new Vector2(1f, 1f); Separation.GetComponent().pivot = new Vector2(1f, 1f); Separation.GetComponent().color = Main.Global.系統主題 == 1 ? new Color(0f, 0f, 0f, 1f) : new Color(1f, 1f, 1f, 1f); TextMeshProUGUI[] texts = 表頭.GetComponentsInChildren(); foreach (TextMeshProUGUI text in texts){ if(text.tag.Contains("Cells")){ text.font = myFont; text.color = Global.系統主題 == 1 ? new Color(0, 0, 0, 1) : text.color; text.alignment = TextAlignmentOptions.Center; text.enableAutoSizing = true; text.margin = new Vector4(10, 0, 10, 0); }else{ } } //============================================== Module.清除控件(ceneter); Image centerImage = ceneter.GetComponent(); if(centerImage == null){ centerImage = ceneter.AddComponent(); centerImage.type = Image.Type.Sliced; } centerImage.sprite = UIsprite; centerImage.fillCenter = false; centerImage.color = Main.Global.系統主題 == 1 ? new Color(0f, 0f, 0f, 1f) : new Color(1f, 1f, 1f, 1f); for (int i = 0; i < table.Rows.Count; i++){ GameObject row = Instantiate(rowPrefab, tableParent); row.GetComponent().anchoredPosition = new Vector2(0, (-表格高度 * i)+(-5*i)); for (int j = 0; j < table.Columns.Count; j++){ string value = table.Rows[i][j].ToString(); GameObject cellText = new(table_name+"_Cells_"+i.ToString()+"_"+j.ToString()); cellText.transform.SetParent(row.transform, false); cellText.AddComponent().text = value; cellText.GetComponent().tag="Cells"; if(overflowMode){cellText.GetComponent().overflowMode=TextOverflowModes.Ellipsis;} cellText.AddComponent