Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

專安及會議提案.cs 62KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6. using UnityEngine.Networking;
  7. using System.Text.RegularExpressions;
  8. using System.Data.SqlClient;
  9. using TMPro;
  10. using System;
  11. using System.IO;
  12. using ZXing;
  13. using ZXing.QrCode;
  14. using System.Net;
  15. using SimpleJSON;
  16. using System.ComponentModel;
  17. using System.Runtime.InteropServices;
  18. public class 專安及會議提案 : MonoBehaviour
  19. {
  20. public GameObject buttonPrefab;
  21. public ScrollRect buttonscroll;
  22. private List<GameObject> copy = new List<GameObject>();
  23. public GameObject buttonPrefab1;
  24. public ScrollRect buttonscroll1;
  25. private List<GameObject> copy1 = new List<GameObject>();
  26. public GameObject buttonPrefab2;
  27. public ScrollRect buttonscroll2;
  28. private List<GameObject> copy2 = new List<GameObject>();
  29. public CanvasScaler canvasScaler;
  30. public RectTransform 內容位置;
  31. public ScrollRect 視窗位置;
  32. [SerializeField] Toggle t1;
  33. [SerializeField] Toggle t2;
  34. [SerializeField] Toggle t3;
  35. [SerializeField] Toggle t4;
  36. [SerializeField] GameObject 主頁;
  37. [SerializeField] GameObject 內容頁;
  38. [SerializeField] TMP_Dropdown 地點下拉;
  39. [SerializeField] TMP_Dropdown 時間下拉;
  40. [SerializeField] TMP_Dropdown 完成下拉;
  41. [SerializeField] TMP_Dropdown 執行下拉;
  42. [SerializeField] TMP_Dropdown 人員下拉;
  43. [SerializeField] TextMeshProUGUI 日期;
  44. [SerializeField] TMP_InputField 地點;
  45. public Image i項目;
  46. public Scrollbar 項目bar;
  47. [SerializeField] TMP_InputField 項目;
  48. public Image i細項;
  49. public Scrollbar 細項bar;
  50. [SerializeField] TMP_InputField 細項;
  51. [SerializeField] TMP_InputField 時間;
  52. [SerializeField] TMP_InputField 完成;
  53. [SerializeField] TMP_InputField 執行;
  54. public Image i備註;
  55. public Scrollbar 備註bar;
  56. [SerializeField] TMP_InputField 備註;
  57. [SerializeField] Button 新增紐;
  58. [SerializeField] Button 回首紐;
  59. [SerializeField] Button 存檔紐;
  60. [SerializeField] Button 刪除紐;
  61. [SerializeField] Button 返回紐;
  62. [SerializeField] Button 已完成紐;
  63. [SerializeField] Button 新建執行人;
  64. [SerializeField] GameObject 審核;
  65. [SerializeField] GameObject 讀取面板;
  66. [SerializeField] TextMeshProUGUI 讀取;
  67. [SerializeField] GameObject 彈跳面板;
  68. [SerializeField] TextMeshProUGUI 彈跳文字;
  69. [SerializeField] Button 是;
  70. [SerializeField] Button 否;
  71. [SerializeField] Button 彈跳叉;
  72. private string loadingText = "";
  73. private int dotCount = 0;
  74. private string 流水編號 = "";
  75. bool 新建;
  76. bool L;
  77. bool W;
  78. bool M;
  79. private string 圖片資料庫 = "";
  80. private string 完成t = "";
  81. private string 長期 = "";
  82. JSONNode 執行人清單;
  83. void Start()
  84. {
  85. Screen.autorotateToPortrait = false;
  86. Screen.orientation = ScreenOrientation.Portrait;
  87. //Main.Global.螢幕方向 = "直";
  88. //Main.Global.固高 = 1900f;
  89. //Main.Global.固寬 = 900f;
  90. //Main.Global.固比 = 1f;
  91. //Main.Global.螢幕格式 = "瘦";
  92. //Main.Global.PA = "*系統管理者";
  93. canvasScaler.referenceResolution = new Vector2(Main.Global.固寬, Main.Global.固高);
  94. canvasScaler.matchWidthOrHeight = Main.Global.固比;
  95. //Main.Global.阿帕契路徑 = "http://106.1.48.106:8080/wp-content/themes/event-star/hskin_logint.php?";
  96. //Main.Global.預設伺服器路徑 = "test";
  97. StartCoroutine(AnimateText());
  98. 主頁.SetActive(true);
  99. 內容頁.SetActive(false);
  100. 審核.SetActive(false);
  101. 新增紐.gameObject.SetActive(true);
  102. 回首紐.gameObject.SetActive(true);
  103. 存檔紐.gameObject.SetActive(false);
  104. 刪除紐.gameObject.SetActive(false);
  105. 返回紐.gameObject.SetActive(false);
  106. StartCoroutine(圖片資料庫查詢());
  107. }
  108. IEnumerator 圖片資料庫查詢()
  109. {
  110. string strcon = "圖片資料庫查詢";
  111. string se = Main.Global.預設伺服器路徑;
  112. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}", strcon, se);
  113. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  114. yield return request.SendWebRequest();
  115. if (request.result == UnityWebRequest.Result.ConnectionError)
  116. {
  117. Debug.Log(request.error);
  118. yield break;
  119. }
  120. JSONNode json = JSON.Parse(request.downloadHandler.text);
  121. 圖片資料庫 = json[0].ToString().Trim('"');
  122. if (json.Count < 1)
  123. {
  124. 彈跳面板.SetActive(true);
  125. 彈跳文字.text = "圖片資料庫已滿,請聯繫系統管理員!!!";
  126. 彈跳叉.gameObject.SetActive(false);
  127. 是.gameObject.SetActive(false);
  128. 否.gameObject.SetActive(false);
  129. yield return new WaitForSeconds(1);
  130. back();
  131. }
  132. else
  133. {
  134. yield return StartCoroutine(會議記錄清單1());
  135. }
  136. }
  137. public void 初始位置()
  138. {
  139. RectTransform contentRectTransform = 內容位置.GetComponent<RectTransform>();
  140. Vector2 newPosition = contentRectTransform.anchoredPosition;
  141. newPosition.y = 0f;
  142. contentRectTransform.anchoredPosition = newPosition;
  143. }
  144. public void 項目滑動()
  145. {
  146. float inputFieldHeight = 項目.preferredHeight;
  147. // 获取Image的高度
  148. float imageHeight = i項目.rectTransform.rect.height;
  149. // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条
  150. if (inputFieldHeight > imageHeight)
  151. {
  152. 項目bar.gameObject.SetActive(true);
  153. 項目bar.value = 0;
  154. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  155. 項目bar.size = scrollSize;
  156. }
  157. else
  158. {
  159. 項目bar.gameObject.SetActive(false);
  160. }
  161. }
  162. public void bar項目()
  163. {
  164. float inputFieldHeight = 項目.preferredHeight;
  165. float imageHeight = i項目.rectTransform.rect.height;
  166. float scrollRange = inputFieldHeight - imageHeight;
  167. // 计算新的输入字段位置
  168. float newYPosition = 項目bar.value * scrollRange;
  169. // 将新的位置应用于输入字段的 RectTransform
  170. if(inputFieldHeight > imageHeight)
  171. {
  172. 項目bar.gameObject.SetActive(true);
  173. //項目bar.value = 0;
  174. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  175. 項目bar.size = scrollSize;
  176. }
  177. RectTransform inputFieldRectTransform = 項目.GetComponent<RectTransform>();
  178. Vector2 newPosition = inputFieldRectTransform.anchoredPosition;
  179. newPosition.y = newYPosition; // 负号取决于您的布局方向
  180. inputFieldRectTransform.anchoredPosition = newPosition;
  181. }
  182. public void 細項滑動()
  183. {
  184. float inputFieldHeight = 細項.preferredHeight;
  185. // 获取Image的高度
  186. float imageHeight = i細項.rectTransform.rect.height;
  187. // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条
  188. if (inputFieldHeight > imageHeight)
  189. {
  190. 細項bar.gameObject.SetActive(true);
  191. 細項bar.value = 0;
  192. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  193. 細項bar.size = scrollSize;
  194. }
  195. else
  196. {
  197. 細項bar.gameObject.SetActive(false);
  198. }
  199. }
  200. public void bar細項()
  201. {
  202. float inputFieldHeight = 細項.preferredHeight;
  203. float imageHeight = i細項.rectTransform.rect.height;
  204. float scrollRange = inputFieldHeight - imageHeight;
  205. // 计算新的输入字段位置
  206. float newYPosition = 細項bar.value * scrollRange;
  207. // 将新的位置应用于输入字段的 RectTransform
  208. if (inputFieldHeight > imageHeight)
  209. {
  210. 細項bar.gameObject.SetActive(true);
  211. //項目bar.value = 0;
  212. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  213. 細項bar.size = scrollSize;
  214. }
  215. RectTransform inputFieldRectTransform = 細項.GetComponent<RectTransform>();
  216. Vector2 newPosition = inputFieldRectTransform.anchoredPosition;
  217. newPosition.y = newYPosition; // 负号取决于您的布局方向
  218. inputFieldRectTransform.anchoredPosition = newPosition;
  219. }
  220. public void 備註滑動()
  221. {
  222. float inputFieldHeight = 備註.preferredHeight;
  223. // 获取Image的高度
  224. float imageHeight = i備註.rectTransform.rect.height;
  225. // 如果InputField的高度超过Image的高度,则启用滚动条,否则禁用滚动条
  226. if (inputFieldHeight > imageHeight)
  227. {
  228. 備註bar.gameObject.SetActive(true);
  229. 備註bar.value = 0;
  230. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  231. 備註bar.size = scrollSize;
  232. }
  233. else
  234. {
  235. 備註bar.gameObject.SetActive(false);
  236. }
  237. }
  238. public void bar備註()
  239. {
  240. float inputFieldHeight = 備註.preferredHeight;
  241. float imageHeight = i備註.rectTransform.rect.height;
  242. float scrollRange = inputFieldHeight - imageHeight;
  243. // 计算新的输入字段位置
  244. float newYPosition = 備註bar.value * scrollRange;
  245. // 将新的位置应用于输入字段的 RectTransform
  246. if (inputFieldHeight > imageHeight)
  247. {
  248. 備註bar.gameObject.SetActive(true);
  249. //備註bar.value = 0;
  250. float scrollSize = Mathf.Clamp(imageHeight / inputFieldHeight, 0f, 1f);
  251. 備註bar.size = scrollSize;
  252. }
  253. RectTransform inputFieldRectTransform = 備註.GetComponent<RectTransform>();
  254. Vector2 newPosition = inputFieldRectTransform.anchoredPosition;
  255. newPosition.y = newYPosition; // 负号取决于您的布局方向
  256. inputFieldRectTransform.anchoredPosition = newPosition;
  257. }
  258. IEnumerator AnimateText()
  259. {
  260. string qqq = 讀取.text.ToString();
  261. while (true)
  262. {
  263. yield return new WaitForSeconds(0.5f);
  264. if (dotCount < 3)
  265. {
  266. loadingText += ".";
  267. dotCount++;
  268. }
  269. else
  270. {
  271. loadingText = "";
  272. dotCount = 0;
  273. }
  274. 讀取.text = qqq + loadingText;
  275. }
  276. }
  277. IEnumerator 會議記錄清單()
  278. {
  279. 讀取面板.SetActive(true);
  280. if (copy != null)
  281. {
  282. DeleteCopies(copy);
  283. }
  284. //string strcon1 = "會議記錄清單";
  285. //string se = Main.Global.預設伺服器路徑;
  286. //string pa = "";
  287. //string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon1, se, pa);
  288. //UnityWebRequest request = UnityWebRequest.Get(strUrl);
  289. string baseUrl = Main.Global.阿帕契路徑;
  290. string comm = "會議記錄清單";
  291. string se = Main.Global.預設伺服器路徑;
  292. string pa = "";
  293. if (t3.isOn)
  294. {
  295. pa = " WHERE 已完成 = 1 ";
  296. }
  297. else
  298. {
  299. pa = " WHERE 已完成 = 0 ";
  300. }
  301. if (t1.isOn && !t2.isOn)
  302. {
  303. pa += " AND (核准狀態 NOT LIKE N'取消' OR 核准狀態 IS NULL) ";
  304. }
  305. else if (t2.isOn && !t1.isOn)
  306. {
  307. pa += " AND (核准狀態 NOT LIKE N'通過' OR 核准狀態 IS NULL) ";
  308. }
  309. string url = baseUrl + "comm=" + comm + "&se=" + se + "&PA=" + UnityWebRequest.EscapeURL(pa);
  310. UnityWebRequest request = UnityWebRequest.Get(url);
  311. yield return request.SendWebRequest();
  312. if (request.result == UnityWebRequest.Result.ConnectionError)
  313. {
  314. Debug.Log(request.error);
  315. yield break;
  316. }
  317. JSONNode json = JSON.Parse(request.downloadHandler.text);
  318. if (Main.Global.螢幕格式 == "胖")
  319. {
  320. if (json.Count > 7)
  321. {
  322. buttonscroll.vertical = true;
  323. }
  324. else
  325. {
  326. buttonscroll.vertical = false;
  327. }
  328. }
  329. else
  330. {
  331. if (json.Count > 10)
  332. {
  333. buttonscroll.vertical = true;
  334. }
  335. else
  336. {
  337. buttonscroll.vertical = false;
  338. }
  339. }
  340. int sum = 3;
  341. GameObject selectedButton = null;
  342. for (int i = 0; i < json.Count; i++)
  343. {
  344. GameObject buttonObj = Instantiate(buttonPrefab) as GameObject;
  345. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(3, -sum);
  346. Transform tran = buttonscroll.content;
  347. buttonObj.transform.SetParent(tran, false);
  348. TextMeshProUGUI[] texts = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  349. Toggle[] tg = buttonObj.GetComponentsInChildren<Toggle>();
  350. Button bt = buttonObj.GetComponentInChildren<Button>();
  351. texts[0].text = json[i][1].ToString().Trim('"');
  352. texts[1].text = Regex.Unescape(json[i][3].ToString().Trim('"'));
  353. if (json[i][9] == 1)
  354. {
  355. tg[0].isOn = true;
  356. }
  357. else
  358. {
  359. tg[0].isOn = false;
  360. }
  361. if (json[i][10] == 1)
  362. {
  363. tg[1].isOn = true;
  364. }
  365. else
  366. {
  367. tg[1].isOn = false;
  368. }
  369. if (json[i][13] == null)
  370. {
  371. texts[2].text = "";
  372. }
  373. else
  374. {
  375. texts[2].text = json[i][13].ToString().Trim('"');
  376. }
  377. int index = i;
  378. bt.onClick.AddListener(() =>
  379. {
  380. 主頁.SetActive(false);
  381. 內容頁.SetActive(true);
  382. 新增紐.gameObject.SetActive(false);
  383. 回首紐.gameObject.SetActive(true);
  384. 存檔紐.gameObject.SetActive(true);
  385. 刪除紐.gameObject.SetActive(true);
  386. 返回紐.gameObject.SetActive(true);
  387. 流水編號 = json[index][0].ToString().Trim('"');
  388. 日期.text = json[index][1].ToString().Trim('"');
  389. 地點.text = json[index][2].ToString().Trim('"');
  390. 項目.text = Regex.Unescape(json[index][3].ToString().Trim('"'));
  391. 細項.text = Regex.Unescape(json[index][4].ToString().Trim('"'));
  392. 時間.text = json[index][5].ToString().Trim('"');
  393. 完成.text = json[index][7].ToString().Trim('"');
  394. 執行.text = json[index][6].ToString().Trim('"');
  395. 備註.text = Regex.Unescape(json[index][8].ToString().Trim('"'));
  396. if (json[index][9] == 1)
  397. {
  398. 完成t = "1";
  399. if (Main.Global.PA == "*系統管理者" || Main.Global.PA == "黃院長" || Main.Global.PA == "呂總監" || Main.Global.PA == "蔡紋婷")
  400. {
  401. 存檔紐.interactable = true;
  402. 刪除紐.interactable = true;
  403. 新建執行人.interactable = true;
  404. }
  405. else
  406. {
  407. 存檔紐.interactable = false;
  408. 刪除紐.interactable = false;
  409. 新建執行人.interactable = false;
  410. }
  411. }
  412. else
  413. {
  414. 完成t = "0";
  415. 存檔紐.interactable = true;
  416. 刪除紐.interactable = true;
  417. 新建執行人.interactable = true;
  418. }
  419. if (json[index][10] == 1)
  420. {
  421. 長期 = "1";
  422. t4.isOn = true;
  423. }
  424. else
  425. {
  426. 長期 = "0";
  427. t4.isOn = false;
  428. }
  429. if (json[index][13].ToString().Trim('"') == "通過")
  430. {
  431. 已完成紐.interactable = true;
  432. }
  433. else
  434. {
  435. 已完成紐.interactable = false;
  436. }
  437. 新建 = false;
  438. 人員下拉.value = 0;
  439. 初始位置();
  440. StartCoroutine(會議決議執行人());
  441. 備註.interactable = false;
  442. if (Main.Global.PA == "*系統管理者" || Main.Global.PA == "黃院長" || Main.Global.PA == "呂總監" || Main.Global.PA == "蔡紋婷")
  443. {
  444. 備註.interactable = true;
  445. if (Main.Global.螢幕格式 == "胖")
  446. {
  447. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  448. newSizeDelta.y = 1360;
  449. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  450. // 修改Y位置
  451. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  452. newPosition.y = -240;
  453. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  454. }
  455. else
  456. {
  457. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  458. newSizeDelta.y = 1600;
  459. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  460. // 修改Y位置
  461. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  462. newPosition.y = -300;
  463. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  464. }
  465. 審核.SetActive(true);
  466. }
  467. else
  468. {
  469. if (Main.Global.螢幕格式 == "胖")
  470. {
  471. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  472. newSizeDelta.y = 1480;
  473. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  474. // 修改Y位置
  475. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  476. newPosition.y = -120;
  477. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  478. }
  479. else
  480. {
  481. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  482. newSizeDelta.y = 1720;
  483. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  484. // 修改Y位置
  485. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  486. newPosition.y = -180;
  487. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  488. }
  489. 審核.SetActive(false);
  490. }
  491. });
  492. sum += 100;
  493. copy.Add(buttonObj);
  494. }
  495. RectTransform contentTransform = buttonscroll.content;
  496. contentTransform.anchoredPosition = new Vector2(contentTransform.anchoredPosition.x, 0);
  497. contentTransform.sizeDelta = new Vector2(contentTransform.sizeDelta.x, sum);
  498. 讀取面板.SetActive(false);
  499. yield return StartCoroutine(會議記錄執行時間下拉());
  500. yield return StartCoroutine(會議記錄預計完成下拉());
  501. yield return StartCoroutine(會議記錄執行情況下拉());
  502. yield return StartCoroutine(會議記錄姓名清單());
  503. }
  504. IEnumerator 會議記錄清單1()
  505. {
  506. 讀取面板.SetActive(true);
  507. if (copy1 != null)
  508. {
  509. DeleteCopies(copy1);
  510. }
  511. //string strcon1 = "會議記錄清單";
  512. //string se = Main.Global.預設伺服器路徑;
  513. //string pa = "";
  514. //string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon1, se, pa);
  515. //UnityWebRequest request = UnityWebRequest.Get(strUrl);
  516. string baseUrl = Main.Global.阿帕契路徑;
  517. string comm = "會議記錄清單";
  518. string se = Main.Global.預設伺服器路徑;
  519. string pa = " WHERE 長期執行 = 1 ";
  520. string url = baseUrl + "comm=" + comm + "&se=" + se + "&PA=" + UnityWebRequest.EscapeURL(pa);
  521. UnityWebRequest request = UnityWebRequest.Get(url);
  522. yield return request.SendWebRequest();
  523. if (request.result == UnityWebRequest.Result.ConnectionError)
  524. {
  525. Debug.Log(request.error);
  526. yield break;
  527. }
  528. JSONNode json = JSON.Parse(request.downloadHandler.text);
  529. if (json.Count > 4)
  530. {
  531. buttonscroll1.vertical = true;
  532. }
  533. else
  534. {
  535. buttonscroll1.vertical = false;
  536. }
  537. int sum = 3;
  538. GameObject selectedButton = null;
  539. for (int i = 0; i < json.Count; i++)
  540. {
  541. GameObject buttonObj = Instantiate(buttonPrefab1) as GameObject;
  542. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(3, -sum);
  543. Transform tran = buttonscroll1.content;
  544. buttonObj.transform.SetParent(tran, false);
  545. TextMeshProUGUI[] texts = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  546. Toggle[] tg = buttonObj.GetComponentsInChildren<Toggle>();
  547. Button bt = buttonObj.GetComponentInChildren<Button>();
  548. texts[0].text = json[i][1].ToString().Trim('"');
  549. texts[1].text = Regex.Unescape(json[i][3].ToString().Trim('"'));
  550. if (json[i][9] == 1)
  551. {
  552. tg[0].isOn = true;
  553. }
  554. else
  555. {
  556. tg[0].isOn = false;
  557. }
  558. if (json[i][10] == 1)
  559. {
  560. tg[1].isOn = true;
  561. }
  562. else
  563. {
  564. tg[1].isOn = false;
  565. }
  566. if (json[i][13] == null)
  567. {
  568. texts[2].text = "";
  569. }
  570. else
  571. {
  572. texts[2].text = json[i][13].ToString().Trim('"');
  573. }
  574. int index = i;
  575. bt.onClick.AddListener(() =>
  576. {
  577. 主頁.SetActive(false);
  578. 內容頁.SetActive(true);
  579. 新增紐.gameObject.SetActive(false);
  580. 回首紐.gameObject.SetActive(true);
  581. 存檔紐.gameObject.SetActive(true);
  582. 刪除紐.gameObject.SetActive(true);
  583. 返回紐.gameObject.SetActive(true);
  584. 流水編號 = json[index][0].ToString().Trim('"');
  585. 日期.text = json[index][1].ToString().Trim('"');
  586. 地點.text = json[index][2].ToString().Trim('"');
  587. 項目.text = Regex.Unescape(json[index][3].ToString().Trim('"'));
  588. 細項.text = Regex.Unescape(json[index][4].ToString().Trim('"'));
  589. 時間.text = json[index][5].ToString().Trim('"');
  590. 完成.text = json[index][7].ToString().Trim('"');
  591. 執行.text = json[index][6].ToString().Trim('"');
  592. 備註.text = Regex.Unescape(json[index][8].ToString().Trim('"'));
  593. if (json[index][9] == 1)
  594. {
  595. 完成t = "1";
  596. if (Main.Global.PA == "*系統管理者" || Main.Global.PA == "黃院長" || Main.Global.PA == "呂總監" || Main.Global.PA == "蔡紋婷")
  597. {
  598. 存檔紐.interactable = true;
  599. 刪除紐.interactable = true;
  600. 新建執行人.interactable = true;
  601. }
  602. else
  603. {
  604. 存檔紐.interactable = false;
  605. 刪除紐.interactable = false;
  606. 新建執行人.interactable = false;
  607. }
  608. }
  609. else
  610. {
  611. 完成t = "0";
  612. 存檔紐.interactable = true;
  613. 刪除紐.interactable = true;
  614. 新建執行人.interactable = true;
  615. }
  616. if (json[index][10] == 1)
  617. {
  618. 長期 = "1";
  619. t4.isOn = true;
  620. }
  621. else
  622. {
  623. 長期 = "0";
  624. t4.isOn = false;
  625. }
  626. 新建 = false;
  627. 初始位置();
  628. StartCoroutine(會議決議執行人());
  629. 人員下拉.value = 0;
  630. 備註.interactable = false;
  631. if (Main.Global.PA == "*系統管理者" || Main.Global.PA == "黃院長" || Main.Global.PA == "呂總監" || Main.Global.PA == "蔡紋婷")
  632. {
  633. 備註.interactable = true;
  634. if (Main.Global.螢幕格式 == "胖")
  635. {
  636. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  637. newSizeDelta.y = 1360;
  638. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  639. // 修改Y位置
  640. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  641. newPosition.y = -240;
  642. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  643. }
  644. else
  645. {
  646. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  647. newSizeDelta.y = 1600;
  648. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  649. // 修改Y位置
  650. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  651. newPosition.y = -300;
  652. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  653. }
  654. 審核.SetActive(true);
  655. }
  656. else
  657. {
  658. if (Main.Global.螢幕格式 == "胖")
  659. {
  660. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  661. newSizeDelta.y = 1480;
  662. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  663. // 修改Y位置
  664. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  665. newPosition.y = -120;
  666. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  667. }
  668. else
  669. {
  670. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  671. newSizeDelta.y = 1720;
  672. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  673. // 修改Y位置
  674. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  675. newPosition.y = -180;
  676. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  677. }
  678. 審核.SetActive(false);
  679. }
  680. });
  681. sum += 100;
  682. copy1.Add(buttonObj);
  683. }
  684. RectTransform contentTransform = buttonscroll1.content;
  685. contentTransform.anchoredPosition = new Vector2(contentTransform.anchoredPosition.x, 0);
  686. contentTransform.sizeDelta = new Vector2(contentTransform.sizeDelta.x, sum);
  687. 讀取面板.SetActive(false);
  688. yield return StartCoroutine(會議記錄清單());
  689. }
  690. IEnumerator 會議決議執行人()
  691. {
  692. 讀取面板.SetActive(true);
  693. if (copy2 != null)
  694. {
  695. DeleteCopies(copy2);
  696. }
  697. string strcon = "會議決議執行人";
  698. string se = Main.Global.預設伺服器路徑;
  699. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se,流水編號);
  700. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  701. yield return request.SendWebRequest();
  702. if (request.result == UnityWebRequest.Result.ConnectionError)
  703. {
  704. Debug.Log(request.error);
  705. yield break;
  706. }
  707. 執行人清單 = JSON.Parse(request.downloadHandler.text);
  708. Debug.Log(執行人清單);
  709. if (執行人清單.Count > 6)
  710. {
  711. buttonscroll2.vertical = true;
  712. }
  713. else
  714. {
  715. buttonscroll2.vertical = false;
  716. }
  717. int sum = 3;
  718. for (int i = 0; i < 執行人清單.Count; i++)
  719. {
  720. GameObject buttonObj = Instantiate(buttonPrefab2) as GameObject;
  721. buttonObj.GetComponent<RectTransform>().anchoredPosition = new Vector2(3, -sum);
  722. Transform tran = buttonscroll2.content;
  723. buttonObj.transform.SetParent(tran, false);
  724. TextMeshProUGUI[] texts = buttonObj.GetComponentsInChildren<TextMeshProUGUI>();
  725. Toggle[] tg = buttonObj.GetComponentsInChildren<Toggle>();
  726. Button bt = buttonObj.GetComponentInChildren<Button>();
  727. texts[0].text = 執行人清單[i][1].ToString().Trim('"');
  728. int index = i;
  729. Debug.Log(完成t);
  730. bt.onClick.AddListener(() =>
  731. {
  732. string str = 執行人清單[index][1].ToString().Trim('"');
  733. if (完成t != "1")
  734. {
  735. StartCoroutine(會議決議執行人個人刪除(str));
  736. }
  737. else
  738. {
  739. if (Main.Global.PA == "*系統管理者" || Main.Global.PA == "黃院長" || Main.Global.PA == "呂總監" || Main.Global.PA == "蔡紋婷")
  740. {
  741. StartCoroutine(會議決議執行人個人刪除(str));
  742. }
  743. }
  744. });
  745. sum += 100;
  746. copy2.Add(buttonObj);
  747. }
  748. RectTransform contentTransform = buttonscroll2.content;
  749. contentTransform.anchoredPosition = new Vector2(contentTransform.anchoredPosition.x, 0);
  750. contentTransform.sizeDelta = new Vector2(contentTransform.sizeDelta.x, sum);
  751. 讀取面板.SetActive(false);
  752. }
  753. IEnumerator 會議決議執行人個人刪除(string 人員)
  754. {
  755. string strcon = "會議決議執行人個人刪除";
  756. string se = Main.Global.預設伺服器路徑;
  757. string pa = 流水編號;
  758. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}", strcon, se, pa, 人員);
  759. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  760. yield return request.SendWebRequest();
  761. if (request.result == UnityWebRequest.Result.ConnectionError)
  762. {
  763. Debug.Log(request.error);
  764. yield break;
  765. }
  766. yield return StartCoroutine(會議決議執行人());
  767. }
  768. IEnumerator 會議記錄執行時間下拉()
  769. {
  770. 時間下拉.onValueChanged.RemoveListener(時間改變);
  771. string strcon = "會議記錄執行時間下拉";
  772. string se = Main.Global.預設伺服器路徑;
  773. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}", strcon, se);
  774. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  775. yield return request.SendWebRequest();
  776. if (request.result == UnityWebRequest.Result.ConnectionError)
  777. {
  778. Debug.Log(request.error);
  779. yield break;
  780. }
  781. JSONNode json = JSON.Parse(request.downloadHandler.text);
  782. 時間下拉.options.Clear();
  783. List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>();
  784. options.Add(new TMP_Dropdown.OptionData(""));
  785. for (int i = 0; i < json.Count; i++)
  786. {
  787. string str = json[i].ToString().Trim('"');
  788. options.Add(new TMP_Dropdown.OptionData(str));
  789. }
  790. 時間下拉.AddOptions(options);
  791. 時間下拉.onValueChanged.AddListener(時間改變);
  792. }
  793. private void 時間改變(int value)
  794. {
  795. 時間.text = 時間下拉.options[value].text;
  796. }
  797. IEnumerator 會議記錄預計完成下拉()
  798. {
  799. 完成下拉.onValueChanged.RemoveListener(完成改變);
  800. string strcon = "會議記錄預計完成下拉";
  801. string se = Main.Global.預設伺服器路徑;
  802. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}", strcon, se);
  803. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  804. yield return request.SendWebRequest();
  805. if (request.result == UnityWebRequest.Result.ConnectionError)
  806. {
  807. Debug.Log(request.error);
  808. yield break;
  809. }
  810. JSONNode json = JSON.Parse(request.downloadHandler.text);
  811. 完成下拉.options.Clear();
  812. List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>();
  813. options.Add(new TMP_Dropdown.OptionData(""));
  814. for (int i = 0; i < json.Count; i++)
  815. {
  816. string str = json[i].ToString().Trim('"');
  817. options.Add(new TMP_Dropdown.OptionData(str));
  818. }
  819. 完成下拉.AddOptions(options);
  820. 完成下拉.onValueChanged.AddListener(完成改變);
  821. }
  822. private void 完成改變(int value)
  823. {
  824. 完成.text = 完成下拉.options[value].text;
  825. }
  826. IEnumerator 會議記錄執行情況下拉()
  827. {
  828. 執行下拉.onValueChanged.RemoveListener(完成改變);
  829. string strcon = "會議記錄執行情況下拉";
  830. string se = Main.Global.預設伺服器路徑;
  831. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}", strcon, se);
  832. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  833. yield return request.SendWebRequest();
  834. if (request.result == UnityWebRequest.Result.ConnectionError)
  835. {
  836. Debug.Log(request.error);
  837. yield break;
  838. }
  839. JSONNode json = JSON.Parse(request.downloadHandler.text);
  840. 執行下拉.options.Clear();
  841. List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>();
  842. options.Add(new TMP_Dropdown.OptionData(""));
  843. for (int i = 0; i < json.Count; i++)
  844. {
  845. string str = json[i].ToString().Trim('"');
  846. options.Add(new TMP_Dropdown.OptionData(str));
  847. }
  848. 執行下拉.AddOptions(options);
  849. 執行下拉.onValueChanged.AddListener(執行改變);
  850. }
  851. private void 執行改變(int value)
  852. {
  853. 執行.text = 執行下拉.options[value].text;
  854. }
  855. IEnumerator 會議記錄姓名清單()
  856. {
  857. string strcon = "會議記錄姓名清單";
  858. string se = Main.Global.預設伺服器路徑;
  859. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}", strcon, se);
  860. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  861. yield return request.SendWebRequest();
  862. if (request.result == UnityWebRequest.Result.ConnectionError)
  863. {
  864. Debug.Log(request.error);
  865. yield break;
  866. }
  867. JSONNode json = JSON.Parse(request.downloadHandler.text);
  868. 人員下拉.options.Clear();
  869. List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>();
  870. options.Add(new TMP_Dropdown.OptionData(""));
  871. options.Add(new TMP_Dropdown.OptionData("全員"));
  872. for (int i = 0; i < json.Count; i++)
  873. {
  874. string str = json[i].ToString().Trim('"');
  875. options.Add(new TMP_Dropdown.OptionData(str));
  876. }
  877. 人員下拉.AddOptions(options);
  878. }
  879. public void tg改變()
  880. {
  881. StartCoroutine(會議記錄清單());
  882. }
  883. public void 返回()
  884. {
  885. if (新建)
  886. {
  887. if (項目.text != "" || 細項.text != "" || copy2.Count > 0)
  888. {
  889. 彈跳面板.SetActive(true);
  890. 彈跳文字.text = "有讀取到資料,是否進行儲存";
  891. 彈跳叉.gameObject.SetActive(true);
  892. 是.gameObject.SetActive(true);
  893. 否.gameObject.SetActive(true);
  894. 是.onClick.RemoveAllListeners();
  895. 否.onClick.RemoveAllListeners();
  896. 是.onClick.AddListener(存檔);
  897. 否.onClick.AddListener(刪除是);
  898. }
  899. else
  900. {
  901. 主頁.SetActive(true);
  902. 內容頁.SetActive(false);
  903. 審核.SetActive(false);
  904. 新增紐.gameObject.SetActive(true);
  905. 回首紐.gameObject.SetActive(true);
  906. 存檔紐.gameObject.SetActive(false);
  907. 刪除紐.gameObject.SetActive(false);
  908. 返回紐.gameObject.SetActive(false);
  909. 流水編號 = "";
  910. }
  911. }
  912. else
  913. {
  914. 主頁.SetActive(true);
  915. 內容頁.SetActive(false);
  916. 審核.SetActive(false);
  917. 新增紐.gameObject.SetActive(true);
  918. 回首紐.gameObject.SetActive(true);
  919. 存檔紐.gameObject.SetActive(false);
  920. 刪除紐.gameObject.SetActive(false);
  921. 返回紐.gameObject.SetActive(false);
  922. 流水編號 = "";
  923. }
  924. }
  925. public void 返回否()
  926. {
  927. 彈跳面板.SetActive(false);
  928. 主頁.SetActive(true);
  929. 內容頁.SetActive(false);
  930. 審核.SetActive(false);
  931. 新增紐.gameObject.SetActive(true);
  932. 回首紐.gameObject.SetActive(true);
  933. 存檔紐.gameObject.SetActive(false);
  934. 刪除紐.gameObject.SetActive(false);
  935. 返回紐.gameObject.SetActive(false);
  936. 流水編號 = "";
  937. }
  938. public void 新增()
  939. {
  940. 人員下拉.value = 0;
  941. 流水編號 = "";
  942. 主頁.SetActive(false);
  943. 內容頁.SetActive(true);
  944. 新增紐.gameObject.SetActive(false);
  945. 回首紐.gameObject.SetActive(false);
  946. 存檔紐.gameObject.SetActive(true);
  947. 刪除紐.gameObject.SetActive(false);
  948. 返回紐.gameObject.SetActive(true);
  949. 地點.text = 地點下拉.options[地點下拉.value].text;
  950. 項目.text = "";
  951. 細項.text = "";
  952. 時間.text = "";
  953. 完成.text = "";
  954. 執行.text = "";
  955. 備註.text = "";
  956. 新建 = true;
  957. DateTime currentDate = DateTime.Now;
  958. 日期.text = currentDate.ToString("yyyy/MM/dd");
  959. StartCoroutine(會議記錄單號查詢());
  960. if (copy2 != null)
  961. {
  962. DeleteCopies(copy2);
  963. }
  964. 初始位置();
  965. 審核.SetActive(false);
  966. buttonscroll2.vertical = false;
  967. if (Main.Global.螢幕格式 == "胖")
  968. {
  969. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  970. newSizeDelta.y = 1480;
  971. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  972. // 修改Y位置
  973. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  974. newPosition.y = -120;
  975. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  976. }
  977. else
  978. {
  979. Vector2 newSizeDelta = 視窗位置.GetComponent<RectTransform>().sizeDelta;
  980. newSizeDelta.y = 1720;
  981. 視窗位置.GetComponent<RectTransform>().sizeDelta = newSizeDelta;
  982. // 修改Y位置
  983. Vector2 newPosition = 視窗位置.GetComponent<RectTransform>().anchoredPosition;
  984. newPosition.y = -180;
  985. 視窗位置.GetComponent<RectTransform>().anchoredPosition = newPosition;
  986. }
  987. }
  988. IEnumerator 會議記錄單號查詢()
  989. {
  990. 讀取面板.SetActive(true);
  991. DateTime currentDate = DateTime.Now;
  992. for (int i = 1; i <= 999; i++)
  993. {
  994. if (i < 10)
  995. {
  996. 流水編號 = "MT-" + currentDate.ToString("yyyyMMdd") + "-00" + i.ToString();
  997. }
  998. else if (i > 9 && i < 100)
  999. {
  1000. 流水編號 = "MT-" + currentDate.ToString("yyyyMMdd") + "-0" + i.ToString();
  1001. }
  1002. else if (i > 99)
  1003. {
  1004. 流水編號 = "MT-" + currentDate.ToString("yyyyMMdd") + "-" + i.ToString();
  1005. }
  1006. string strcon = "會議記錄單號查詢";
  1007. string se = Main.Global.預設伺服器路徑;
  1008. string pa = 流水編號;
  1009. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se, pa);
  1010. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1011. yield return request.SendWebRequest();
  1012. if (request.result == UnityWebRequest.Result.ConnectionError)
  1013. {
  1014. Debug.Log(request.error);
  1015. yield break;
  1016. }
  1017. string num = request.downloadHandler.text.ToString();
  1018. Debug.Log(num);
  1019. if (num == "n")
  1020. {
  1021. break;
  1022. }
  1023. }
  1024. 讀取面板.SetActive(false);
  1025. }
  1026. public void 存檔()
  1027. {
  1028. if (流水編號 == "")
  1029. {
  1030. StartCoroutine(會議記錄單號查詢());
  1031. }
  1032. if (地點.text == "")
  1033. {
  1034. 彈跳面板.SetActive(true);
  1035. 彈跳文字.text = "會議地點不可空白!!!";
  1036. 彈跳叉.gameObject.SetActive(true);
  1037. 是.gameObject.SetActive(false);
  1038. 否.gameObject.SetActive(false);
  1039. }
  1040. else
  1041. {
  1042. if (項目.text == "")
  1043. {
  1044. 彈跳面板.SetActive(true);
  1045. 彈跳文字.text = "會議/專案項目不可空白!!!";
  1046. 彈跳叉.gameObject.SetActive(true);
  1047. 是.gameObject.SetActive(false);
  1048. 否.gameObject.SetActive(false);
  1049. }
  1050. else
  1051. {
  1052. if (時間.text == "")
  1053. {
  1054. 彈跳面板.SetActive(true);
  1055. 彈跳文字.text = "執行時間不可空白!!!";
  1056. 彈跳叉.gameObject.SetActive(true);
  1057. 是.gameObject.SetActive(false);
  1058. 否.gameObject.SetActive(false);
  1059. }
  1060. else
  1061. {
  1062. StartCoroutine(會議記錄單號查詢1());
  1063. }
  1064. }
  1065. }
  1066. }
  1067. public void 核准()
  1068. {
  1069. 彈跳面板.SetActive(true);
  1070. 彈跳文字.text = "是否核准?";
  1071. 彈跳叉.gameObject.SetActive(true);
  1072. 是.gameObject.SetActive(true);
  1073. 否.gameObject.SetActive(true);
  1074. 是.onClick.RemoveAllListeners();
  1075. 否.onClick.RemoveAllListeners();
  1076. 是.onClick.AddListener(核准是);
  1077. 否.onClick.AddListener(彈跳面板關閉);
  1078. }
  1079. public void 核准是()
  1080. {
  1081. string SDF = "";
  1082. if (執行人清單.Count == 0)
  1083. {
  1084. SDF = "全體同仁";
  1085. }
  1086. else
  1087. {
  1088. for (int i = 0; i < 執行人清單.Count; i++)
  1089. {
  1090. if (i == 0)
  1091. {
  1092. SDF = 執行人清單[i][1].ToString().Trim('"');
  1093. }
  1094. else
  1095. {
  1096. SDF = SDF + "、" + 執行人清單[i][1].ToString().Trim('"');
  1097. }
  1098. }
  1099. }
  1100. StartCoroutine(LINE_搜尋符合通知對象("CC206", "診所主管", 項目.text, SDF));
  1101. StartCoroutine(會議記錄修改1("1", "通過"));
  1102. }
  1103. public void 報廢()
  1104. {
  1105. 彈跳面板.SetActive(true);
  1106. 彈跳文字.text = "是否報廢?";
  1107. 彈跳叉.gameObject.SetActive(true);
  1108. 是.gameObject.SetActive(true);
  1109. 否.gameObject.SetActive(true);
  1110. 是.onClick.RemoveAllListeners();
  1111. 否.onClick.RemoveAllListeners();
  1112. 是.onClick.AddListener(報廢是);
  1113. 否.onClick.AddListener(彈跳面板關閉);
  1114. }
  1115. public void 報廢是()
  1116. {
  1117. StartCoroutine(會議記錄修改1("0", "取消"));
  1118. }
  1119. IEnumerator 會議記錄修改1(string a ,string a1)
  1120. {
  1121. string strcon = "會議記錄修改1";
  1122. string se = Main.Global.預設伺服器路徑;
  1123. string pa = 流水編號;
  1124. string pa1 = a;
  1125. string pa2 = 備註.text;
  1126. string pa3 = a1;
  1127. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}&PA2={4}&PA3={5}", strcon, se, pa, pa1, pa2, pa3);
  1128. Debug.Log(strUrl);
  1129. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1130. yield return request.SendWebRequest();
  1131. if (request.result == UnityWebRequest.Result.ConnectionError)
  1132. {
  1133. Debug.Log(request.error);
  1134. yield break;
  1135. }
  1136. yield return StartCoroutine(會議記錄清單1());
  1137. 主頁.SetActive(true);
  1138. 內容頁.SetActive(false);
  1139. 審核.SetActive(false);
  1140. 彈跳面板.SetActive(false);
  1141. 新增紐.gameObject.SetActive(true);
  1142. 回首紐.gameObject.SetActive(true);
  1143. 存檔紐.gameObject.SetActive(false);
  1144. 刪除紐.gameObject.SetActive(false);
  1145. 返回紐.gameObject.SetActive(false);
  1146. 流水編號 = "";
  1147. }
  1148. public void 已完成()
  1149. {
  1150. 彈跳面板.SetActive(true);
  1151. 彈跳文字.text = "是否完成?";
  1152. 彈跳叉.gameObject.SetActive(true);
  1153. 是.gameObject.SetActive(true);
  1154. 否.gameObject.SetActive(true);
  1155. 是.onClick.RemoveAllListeners();
  1156. 否.onClick.RemoveAllListeners();
  1157. 是.onClick.AddListener(已完成是);
  1158. 否.onClick.AddListener(彈跳面板關閉);
  1159. }
  1160. public void 已完成是()
  1161. {
  1162. 完成t = "1";
  1163. if (t4.isOn)
  1164. {
  1165. 長期 = "1";
  1166. }
  1167. else
  1168. {
  1169. 長期 = "0";
  1170. }
  1171. Debug.Log(長期);
  1172. StartCoroutine(會議記錄修改());
  1173. }
  1174. IEnumerator 會議記錄單號查詢1()
  1175. {
  1176. string strcon = "會議記錄單號查詢";
  1177. string se = Main.Global.預設伺服器路徑;
  1178. string pa = 流水編號;
  1179. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se, pa);
  1180. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1181. yield return request.SendWebRequest();
  1182. if (request.result == UnityWebRequest.Result.ConnectionError)
  1183. {
  1184. Debug.Log(request.error);
  1185. yield break;
  1186. }
  1187. string num = request.downloadHandler.text.ToString();
  1188. if (num != "n")
  1189. {
  1190. 彈跳面板.SetActive(true);
  1191. 彈跳文字.text = "存檔會覆蓋舊資料是否繼續執行?";
  1192. 彈跳叉.gameObject.SetActive(true);
  1193. 是.gameObject.SetActive(true);
  1194. 否.gameObject.SetActive(true);
  1195. 是.onClick.RemoveAllListeners();
  1196. 否.onClick.RemoveAllListeners();
  1197. 是.onClick.AddListener(存檔是);
  1198. 否.onClick.AddListener(彈跳面板關閉);
  1199. }
  1200. else
  1201. {
  1202. yield return StartCoroutine(會議記錄新增());
  1203. }
  1204. }
  1205. private void 存檔是()
  1206. {
  1207. if (t4.isOn)
  1208. {
  1209. 長期 = "1";
  1210. }
  1211. else
  1212. {
  1213. 長期 = "0";
  1214. }
  1215. Debug.Log(長期);
  1216. StartCoroutine(會議記錄修改());
  1217. }
  1218. IEnumerator 會議記錄修改()
  1219. {
  1220. string strcon = "會議記錄修改";
  1221. string se = Main.Global.預設伺服器路徑;
  1222. string pa = 流水編號;
  1223. string pa1 = 日期.text;
  1224. string pa2 = 地點.text;
  1225. string pa3 = 項目.text;
  1226. string pa4 = 細項.text;
  1227. string pa5 = 時間.text;
  1228. string pa6 = 執行.text;
  1229. string pa7 = 完成.text;
  1230. string pa8 = 備註.text;
  1231. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}&PA2={4}&PA3={5}&PA4={6}&PA5={7}&PA6={8}&PA7={9}&PA8={10}&PA9={11}&PA10={12}", strcon, se, pa, pa1, pa2, pa3, pa4, pa5, pa6, pa7, pa8, 完成t, 長期);
  1232. Debug.Log(strUrl);
  1233. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1234. yield return request.SendWebRequest();
  1235. if (request.result == UnityWebRequest.Result.ConnectionError)
  1236. {
  1237. Debug.Log(request.error);
  1238. yield break;
  1239. }
  1240. yield return StartCoroutine(會議記錄清單1());
  1241. 主頁.SetActive(true);
  1242. 內容頁.SetActive(false);
  1243. 審核.SetActive(false);
  1244. 彈跳面板.SetActive(false);
  1245. 新增紐.gameObject.SetActive(true);
  1246. 回首紐.gameObject.SetActive(true);
  1247. 存檔紐.gameObject.SetActive(false);
  1248. 刪除紐.gameObject.SetActive(false);
  1249. 返回紐.gameObject.SetActive(false);
  1250. 流水編號 = "";
  1251. }
  1252. IEnumerator 會議記錄新增()
  1253. {
  1254. 讀取面板.SetActive(true);
  1255. string strcon = "會議記錄新增";
  1256. string se = Main.Global.預設伺服器路徑;
  1257. string pa = 流水編號;
  1258. string pa1 = 日期.text;
  1259. string pa2 = 地點.text;
  1260. string pa3 = 項目.text;
  1261. string pa4 = 細項.text;
  1262. string pa5 = 時間.text;
  1263. string pa6 = 執行.text;
  1264. string pa7 = 完成.text;
  1265. string pa8 = 備註.text;
  1266. string pa9 = 圖片資料庫;
  1267. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}&PA2={4}&PA3={5}&PA4={6}&PA5={7}&PA6={8}&PA7={9}&PA8={10}&PA9={11}", strcon, se, pa, pa1, pa2, pa3, pa4, pa5, pa6, pa7, pa8, pa9);
  1268. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1269. //string baseUrl = Main.Global.阿帕契路徑;
  1270. //string comm = "會議記錄新增";
  1271. //string se = Main.Global.預設伺服器路徑;
  1272. //string url = baseUrl + "comm=" + comm + "&se=" + se + "&PA=" + pa + "&PA1=" + pa1 + "&PA2=" + pa2 + "&PA3=" + pa3 + "&PA4=" + pa4 + "&PA5=" + pa5 + "&PA6=" + pa6 + "&PA7=" + pa7 + "&PA8=" + pa8 ;
  1273. //UnityWebRequest request = UnityWebRequest.Get(url);
  1274. //Debug.Log(url);
  1275. yield return request.SendWebRequest();
  1276. if (request.result == UnityWebRequest.Result.ConnectionError)
  1277. {
  1278. Debug.Log(request.error);
  1279. yield break;
  1280. }
  1281. yield return StartCoroutine(LINE_搜尋符合通知對象("CC204", "李協叡", Main.Global.PA, pa3));
  1282. yield return StartCoroutine(LINE_搜尋符合通知對象("CC205", "診所主管", "", pa3));
  1283. 讀取面板.SetActive(false);
  1284. yield return StartCoroutine(會議記錄清單1());
  1285. 主頁.SetActive(true);
  1286. 內容頁.SetActive(false);
  1287. 審核.SetActive(false);
  1288. 新增紐.gameObject.SetActive(true);
  1289. 回首紐.gameObject.SetActive(true);
  1290. 存檔紐.gameObject.SetActive(false);
  1291. 刪除紐.gameObject.SetActive(false);
  1292. 返回紐.gameObject.SetActive(false);
  1293. 流水編號 = "";
  1294. }
  1295. public void 新增執行人()
  1296. {
  1297. if (人員下拉.options[人員下拉.value].text != "")
  1298. {
  1299. StartCoroutine(會議決議執行人單號查詢());
  1300. }
  1301. else
  1302. {
  1303. 彈跳面板.SetActive(true);
  1304. 彈跳文字.text = "請先選擇執行人!!";
  1305. 彈跳叉.gameObject.SetActive(true);
  1306. 是.gameObject.SetActive(false);
  1307. 否.gameObject.SetActive(false);
  1308. }
  1309. }
  1310. IEnumerator 會議決議執行人單號查詢()
  1311. {
  1312. string 項次 = "";
  1313. for (int i = 1; i <= 999; i++)
  1314. {
  1315. if (i < 10)
  1316. {
  1317. 項次 = "00" + i.ToString();
  1318. }
  1319. else if (i > 9 && i < 100)
  1320. {
  1321. 項次 = "0" + i.ToString();
  1322. }
  1323. else if (i > 99)
  1324. {
  1325. 項次 = i.ToString();
  1326. }
  1327. string strcon = "會議決議執行人單號查詢";
  1328. string se = Main.Global.預設伺服器路徑;
  1329. string pa = 流水編號;
  1330. string pa1 = 項次;
  1331. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}", strcon, se, pa, pa1);
  1332. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1333. yield return request.SendWebRequest();
  1334. if (request.result == UnityWebRequest.Result.ConnectionError)
  1335. {
  1336. Debug.Log(request.error);
  1337. yield break;
  1338. }
  1339. JSONNode json = JSON.Parse(request.downloadHandler.text);
  1340. if (json.Count < 1)
  1341. {
  1342. break;
  1343. }
  1344. }
  1345. yield return StartCoroutine(會議決議執行人新增(項次));
  1346. }
  1347. IEnumerator 會議決議執行人新增(string 項次)
  1348. {
  1349. string strcon = "會議決議執行人新增";
  1350. string se = Main.Global.預設伺服器路徑;
  1351. string pa = 流水編號;
  1352. string pa1 = 項次;
  1353. string pa2 = 人員下拉.options[人員下拉.value].text;
  1354. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}&PA2={4}", strcon, se, pa, pa1, pa2);
  1355. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1356. yield return request.SendWebRequest();
  1357. if (request.result == UnityWebRequest.Result.ConnectionError)
  1358. {
  1359. Debug.Log(request.error);
  1360. yield break;
  1361. }
  1362. yield return StartCoroutine(會議決議執行人());
  1363. }
  1364. public void 彈跳面板關閉()
  1365. {
  1366. 彈跳面板.SetActive(false);
  1367. 彈跳文字.text = "";
  1368. }
  1369. public void 刪除()
  1370. {
  1371. 彈跳面板.SetActive(true);
  1372. 彈跳文字.text = "是否刪除?";
  1373. 彈跳叉.gameObject.SetActive(true);
  1374. 是.gameObject.SetActive(true);
  1375. 否.gameObject.SetActive(true);
  1376. 是.onClick.RemoveAllListeners();
  1377. 否.onClick.RemoveAllListeners();
  1378. 是.onClick.AddListener(刪除是);
  1379. 否.onClick.AddListener(彈跳面板關閉);
  1380. }
  1381. public void 刪除是()
  1382. {
  1383. StartCoroutine(圖片資料庫刪除());
  1384. }
  1385. IEnumerator 圖片資料庫刪除()
  1386. {
  1387. string strcon = "圖片資料庫刪除";
  1388. string se = Main.Global.預設伺服器路徑;
  1389. string pa = 圖片資料庫;
  1390. string pa1 = 流水編號;
  1391. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}", strcon, se, pa, pa1);
  1392. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1393. yield return request.SendWebRequest();
  1394. if (request.result == UnityWebRequest.Result.ConnectionError)
  1395. {
  1396. Debug.Log(request.error);
  1397. yield break;
  1398. }
  1399. yield return StartCoroutine(會議決議執行人刪除());
  1400. }
  1401. IEnumerator 會議決議執行人刪除()
  1402. {
  1403. string strcon = "會議決議執行人刪除";
  1404. string se = Main.Global.預設伺服器路徑;
  1405. string pa = 流水編號;
  1406. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se, pa);
  1407. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1408. yield return request.SendWebRequest();
  1409. if (request.result == UnityWebRequest.Result.ConnectionError)
  1410. {
  1411. Debug.Log(request.error);
  1412. yield break;
  1413. }
  1414. yield return StartCoroutine(會議記錄刪除());
  1415. }
  1416. IEnumerator 會議記錄刪除()
  1417. {
  1418. string strcon = "會議記錄刪除";
  1419. string se = Main.Global.預設伺服器路徑;
  1420. string pa = 流水編號;
  1421. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se, pa);
  1422. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1423. yield return request.SendWebRequest();
  1424. if (request.result == UnityWebRequest.Result.ConnectionError)
  1425. {
  1426. Debug.Log(request.error);
  1427. yield break;
  1428. }
  1429. yield return StartCoroutine(會議記錄清單1());
  1430. 主頁.SetActive(true);
  1431. 內容頁.SetActive(false);
  1432. 審核.SetActive(false);
  1433. 彈跳面板.SetActive(false);
  1434. 新增紐.gameObject.SetActive(true);
  1435. 回首紐.gameObject.SetActive(true);
  1436. 存檔紐.gameObject.SetActive(false);
  1437. 刪除紐.gameObject.SetActive(false);
  1438. 返回紐.gameObject.SetActive(false);
  1439. 流水編號 = "";
  1440. }
  1441. private string SQL_LINE_RandomCode()
  1442. {
  1443. string rancode;
  1444. System.Random RndNum = new System.Random();
  1445. rancode = DateTime.Now.Year.ToString().Trim().PadLeft(4, '0') +
  1446. DateTime.Now.Month.ToString().Trim().PadLeft(2, '0') +
  1447. DateTime.Now.Day.ToString().Trim().PadLeft(2, '0') +
  1448. DateTime.Now.Hour.ToString().Trim().PadLeft(2, '0') +
  1449. DateTime.Now.Minute.ToString().Trim().PadLeft(2, '0') +
  1450. DateTime.Now.Second.ToString().Trim().PadLeft(2, '0') +
  1451. RndNum.Next(1000).ToString().Trim().PadLeft(4, '0');
  1452. return rancode;
  1453. }
  1454. IEnumerator LINE_搜尋符合通知對象(string 代號, string 姓名, string 變數1, string 變數2)
  1455. {
  1456. string strcon1 = "LINE_搜尋符合通知對象";
  1457. string se = Main.Global.預設伺服器路徑;
  1458. string strUrl1 = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}&PA1={3}", strcon1, se, 代號, 姓名);
  1459. UnityWebRequest request1 = UnityWebRequest.Get(strUrl1);
  1460. yield return request1.SendWebRequest();
  1461. if (request1.result == UnityWebRequest.Result.ConnectionError)
  1462. {
  1463. Debug.Log(request1.error);
  1464. yield break;
  1465. }
  1466. Debug.Log(request1.downloadHandler.text);
  1467. JSONNode json = JSON.Parse(request1.downloadHandler.text);
  1468. if (json != null)
  1469. {
  1470. string token = json[0].ToString().Trim('"');
  1471. string 語言 = json[1].ToString().Trim('"');
  1472. string strcon = "LINE_通知內容";
  1473. string strUrl = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA={2}", strcon, se, 代號);
  1474. UnityWebRequest request = UnityWebRequest.Get(strUrl);
  1475. yield return request.SendWebRequest();
  1476. if (request.result == UnityWebRequest.Result.ConnectionError)
  1477. {
  1478. Debug.Log(request.error);
  1479. yield break;
  1480. }
  1481. JSONNode json1 = JSON.Parse(request.downloadHandler.text);
  1482. string 內容 = "";
  1483. if (json1[1].ToString().Trim('"') == "A+X+B+Y+C")
  1484. {
  1485. 內容 = json1[2].ToString().Trim('"') + 變數1 + json1[3].ToString().Trim('"') + 變數2 + json1[4].ToString().Trim('"');
  1486. }
  1487. if (json[5] == 1)
  1488. {
  1489. L = true;
  1490. }
  1491. else
  1492. {
  1493. L = false;
  1494. }
  1495. if (json[6] == 1)
  1496. {
  1497. W = true;
  1498. }
  1499. else
  1500. {
  1501. W = false;
  1502. }
  1503. if (json[7] == 1)
  1504. {
  1505. M = true;
  1506. }
  1507. else
  1508. {
  1509. M = false;
  1510. }
  1511. if (L == true)
  1512. {
  1513. yield return StartCoroutine(LINE_發送內容(內容, token, 語言, "Line"));
  1514. }
  1515. string g1 = json[3].ToString().Trim('"');
  1516. string g2 = json[4].ToString().Trim('"');
  1517. string g3 = json[5].ToString().Trim('"');
  1518. if (W == true)
  1519. {
  1520. if (g1 != "")
  1521. {
  1522. yield return StartCoroutine(LINE_發送內容(內容, g1, 語言, "WhatsApp"));
  1523. }
  1524. if (g2 != "")
  1525. {
  1526. yield return StartCoroutine(LINE_發送內容(內容, g2, 語言, "WhatsApp"));
  1527. }
  1528. if (g3 != "")
  1529. {
  1530. yield return StartCoroutine(LINE_發送內容(內容, g3, 語言, "WhatsApp"));
  1531. }
  1532. }
  1533. if (M == true)
  1534. {
  1535. if (g1 != "")
  1536. {
  1537. yield return StartCoroutine(LINE_發送內容(內容, g1, 語言, "Message"));
  1538. }
  1539. if (g2 != "")
  1540. {
  1541. yield return StartCoroutine(LINE_發送內容(內容, g2, 語言, "Message"));
  1542. }
  1543. if (g3 != "")
  1544. {
  1545. yield return StartCoroutine(LINE_發送內容(內容, g3, 語言, "Message"));
  1546. }
  1547. }
  1548. }
  1549. }
  1550. IEnumerator LINE_發送內容(string a1, string a2, string a3, string a4)
  1551. {
  1552. string a = SQL_LINE_RandomCode();
  1553. string baseUrl = Main.Global.阿帕契路徑;
  1554. string comm = "LINE_發送內容";
  1555. string se = Main.Global.預設伺服器路徑;
  1556. string url = baseUrl + "comm=" + comm + "&se=" + se + "&PA=" + a2 + "&PA1=" + UnityWebRequest.EscapeURL(a1) + "&PA2=" + a + "&PA3=" + a3 + "&PA4=" + a4;
  1557. UnityWebRequest request = UnityWebRequest.Get(url);
  1558. //string strcon1 = "LINE_發送內容";
  1559. //string se = Main.Global.預設伺服器路徑;
  1560. //string strUrl1 = string.Format(Main.Global.阿帕契路徑 + "comm={0}&se={1}&PA4={2}&PA5={3}&PA6={4}&PA7={5}&PA8={6}", strcon1, se, a2, a1, a, a3, a4);
  1561. //Debug.Log(strUrl1);
  1562. //UnityWebRequest request1 = UnityWebRequest.Get(strUrl1);
  1563. yield return request.SendWebRequest();
  1564. if (request.result == UnityWebRequest.Result.ConnectionError)
  1565. {
  1566. Debug.Log(request.error);
  1567. yield break;
  1568. }
  1569. }
  1570. private void DeleteCopies(List<GameObject> copyList)
  1571. {
  1572. foreach (GameObject copy in copyList)
  1573. {
  1574. Destroy(copy);
  1575. }
  1576. copyList.Clear();
  1577. }
  1578. public void back()
  1579. {
  1580. change_Secen(2);
  1581. }
  1582. public void change_Secen(int _screenNum)
  1583. {
  1584. SceneManager.LoadScene(_screenNum);
  1585. }
  1586. }