GongDanXQManager.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using FantomLib;
  5. using LitJson;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. using static BaoBiaoDetail;
  9. public class GongDanXQManager : MonoBehaviour
  10. {
  11. public GameObject buttongotobg;
  12. public BaoBiaoDetail XQData;
  13. public Text customerName;
  14. public Text contact;
  15. public Text mobilePhone;
  16. public Text phone;
  17. public Text email;
  18. public Text customerAddress;
  19. public Text demandNumber;
  20. public Text projectNumber;
  21. public Text projectManager;
  22. public Text deviceModel;
  23. public Text deviceNumber;
  24. public Text manufacturingTime;
  25. public Text number;
  26. public Text woKind;
  27. public Text taskName;
  28. public Text kind;
  29. public Text serviceType;
  30. public Text acceptedBy;
  31. public Text description;
  32. public Text planStartTime;
  33. public Text planEndTime;
  34. public Text dispatch;
  35. public Text dispatchTime;
  36. public Text numberF;
  37. public Text kindF;
  38. public Text customerNameF;
  39. public Text contactF;
  40. public Text mobilePhoneF;
  41. public Text customerAddressF;
  42. public Text deviceModelF;
  43. public Text serviceTypeF;
  44. public Text createTime;
  45. public Text descriptionF;
  46. public Text results;
  47. public Text unresolved;
  48. public Text followup;
  49. public Text suggestion;
  50. public Text isAdequatelyPrepared;
  51. public Text appraiselist;
  52. public Text isResolved;
  53. public Slider attitudeScores;
  54. public Text attitudeScoresT;
  55. public Slider responseScores;
  56. public Text responseScoresT;
  57. public Slider engineerSkillScores;
  58. public Text engineerSkillScoresT;
  59. public Text situation;
  60. public Text customerSuggestion;
  61. public QianZiItem customerSignature;
  62. public QianZiItem solverSignature;
  63. public ItemChooseView itemview;
  64. public List<ItemChooseView> itemviewList = new List<ItemChooseView>();
  65. public static GongDanXQManager Instance { get;set; }
  66. public Text cancelReason;
  67. public GameObject cancelgo;
  68. public GameObject zhizhigo;
  69. public GameObject dianzigo;
  70. void Awake()
  71. {
  72. Instance = this;
  73. }
  74. void OnEnable()
  75. {
  76. for (int i = 0;i<itemviewList.Count;i++)
  77. {
  78. Destroy(itemviewList[i].gameObject);
  79. }
  80. itemviewList.Clear();
  81. JsonData jsonData =new JsonData();
  82. jsonData["id"] = int.Parse(ChuLiItemManager.ChooseData["id"].ToString());
  83. if(ChuLiItemManager.ChooseData["status"].ToString()=="3")
  84. {
  85. buttongotobg.SetActive(true);
  86. }
  87. else
  88. {
  89. buttongotobg.SetActive(false);
  90. }
  91. DataManager.Instance.GetBaoGaoItem(jsonData,(str)=>{
  92. JsonData d = JsonMapper.ToObject(str);
  93. XQData= JsonMapper.ToObject<BaoBiaoDetail>(d["data"].ToJson());
  94. customerName.text = XQData.demand.customerName;
  95. contact.text = XQData.demand.contact;
  96. mobilePhone.text = XQData.demand.mobilePhone;
  97. phone.text = XQData.demand.phone;
  98. email.text = XQData.demand.email;
  99. customerAddress.text = XQData.demand.customerAddress;
  100. demandNumber.text = XQData.demand.demandNumber;
  101. projectNumber.text = XQData.demand.projectNumber;
  102. projectManager.text = XQData.demand.projectManager;
  103. deviceModel.text = XQData.demand.deviceModel;
  104. deviceNumber.text = XQData.demand.deviceNumber;
  105. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  106. long timestamp = XQData.demand.manufacturingTime;
  107. // 转换为 DateTime
  108. DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  109. // 格式化为 "2025-1-28 12:02" 这样的格式
  110. manufacturingTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  111. number.text = XQData.workOrder.number;
  112. woKind.text = XQData.workOrder.woKind==1?"内部":"第三方";
  113. taskName.text = XQData.workOrder.taskName;
  114. List<string> list= TianJiWindowManager.getConfigServerTypestr( XQData.demand.kind,XQData.workOrder.serviceType);
  115. kind.text = list[0];
  116. serviceType.text =list[1];
  117. acceptedBy.text = XQData.workOrder.acceptedBy;
  118. description.text = XQData.workOrder.description;
  119. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  120. timestamp = XQData.workOrder.planStartTime;
  121. // 转换为 DateTime
  122. dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  123. planStartTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  124. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  125. timestamp = XQData.workOrder.planEndTime;
  126. // 转换为 DateTime
  127. dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  128. planEndTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  129. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  130. timestamp = XQData.workOrder.dispatchTime;
  131. // 转换为 DateTime
  132. dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  133. dispatchTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  134. EReports ereports = new EReports();
  135. Reports reports = new Reports();
  136. if(XQData.workOrder.reports!=null)
  137. {
  138. reports =XQData.workOrder.reports;
  139. }
  140. if(ChuLiItemManager.ChooseData["status"].ToString()=="3")
  141. {
  142. cancelgo.SetActive(false);
  143. zhizhigo.SetActive(false);
  144. dianzigo.SetActive(false);
  145. return;
  146. }
  147. if(XQData.workOrder.status == 99)
  148. {
  149. cancelReason.text = XQData.workOrder.cancelReason;
  150. cancelgo.SetActive(true);
  151. zhizhigo.SetActive(false);
  152. dianzigo.SetActive(false);
  153. }
  154. else if(reports.reportsType==1)
  155. {
  156. cancelgo.SetActive(false);
  157. zhizhigo.SetActive(true);
  158. dianzigo.SetActive(false);
  159. }
  160. else
  161. {
  162. cancelgo.SetActive(false);
  163. zhizhigo.SetActive(false);
  164. dianzigo.SetActive(true);
  165. numberF.text =XQData.workOrder.number;
  166. kindF.text = TianJiWindowManager.getConfigstr(XQData.demand.kind,0,0)[0].ToString();
  167. customerNameF.text = XQData.demand.customerName;
  168. contactF.text = XQData.demand.contact;
  169. mobilePhoneF.text = XQData.demand.mobilePhone;
  170. customerAddressF.text = XQData.demand.customerAddress;
  171. if(reports.reportsType==2)
  172. {
  173. ereports = XQData.workOrder.reports.eReports;
  174. }
  175. deviceModelF.text = TianJiWindowManager.Instance.dtdlist.strings[ereports.deviceType];
  176. serviceType.text = TianJiWindowManager.getConfigServerTypestr(XQData.demand.kind,XQData.workOrder.serviceType)[1].ToString();
  177. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  178. timestamp = XQData.workOrder.createTime;
  179. // 转换为 DateTime
  180. dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  181. // 格式化为 "2025-1-28 12:02" 这样的格式
  182. createTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  183. description.text = XQData.workOrder.description;
  184. if(ereports.serviceTimeDetail!=null)
  185. {
  186. for (int i=0;i<ereports.serviceTimeDetail.Count;i++)
  187. {
  188. addItem(ereports.serviceTimeDetail[i].date,ereports.serviceTimeDetail[i].startTime,ereports.serviceTimeDetail[i].endTime,ereports.serviceTimeDetail[i].restDuration,ereports.serviceTimeDetail[i].waitingDuration);
  189. }
  190. }
  191. results.text = ereports.results;
  192. unresolved.text = ereports.unresolved;
  193. followup.text = ereports.followup;
  194. suggestion.text = ereports.suggestion;
  195. switch (ereports.appraise)
  196. {
  197. case 1:
  198. appraiselist.text= "满意";
  199. break;
  200. case 2:
  201. appraiselist.text= "一般";
  202. break;
  203. default:
  204. appraiselist.text= "不满意";
  205. break;
  206. }
  207. isAdequatelyPrepared.text = ereports.isAdequatelyPrepared?"是":"否";
  208. isResolved.text = ereports.isResolved?"是":"否";
  209. attitudeScores.value = ereports.attitudeScores;
  210. attitudeScoresT.text = ereports.attitudeScores+"分";
  211. responseScores.value = ereports.responseScores;
  212. responseScoresT.text = ereports.responseScores+"分";
  213. engineerSkillScores.value = ereports.engineerSkillScores;
  214. engineerSkillScoresT.text = ereports.engineerSkillScores+"分";
  215. situation.text = ereports.situation;
  216. customerSuggestion.text = ereports.customerSuggestion;
  217. if(ereports.customerSignature!="")
  218. {
  219. customerSignature.downloadimg(ereports.customerSignature);
  220. }
  221. if(ereports.solverSignature!="")
  222. {
  223. solverSignature.downloadimg(ereports.solverSignature);
  224. }
  225. customerSignature.GetComponent<RawImage>().texture = customerSignature.defaultTexture;
  226. solverSignature.GetComponent<RawImage>().texture = solverSignature.defaultTexture;
  227. }
  228. });
  229. }
  230. public void GotoXQGD()
  231. {
  232. XQGongdanManager.id = XQData.demand.id;
  233. QuanJuBackManager.Instance.nowWindow = GongDanWindowManager.Instance.XQXQ;
  234. QuanJuBackManager.Instance.setStack(GongDanWindowManager.Instance.XQGo);
  235. TopWindowManager.Instance.showTitle(TianJiWindowManager.Instance.GetTextByKey("110009"));
  236. GongDanWindowManager.Instance.gotoXQXQ();
  237. }
  238. public void GotoShangchuanbaogao()
  239. {
  240. QuanJuBackManager.Instance.nowWindow = GongDanWindowManager.Instance.BaoGaogo;
  241. QuanJuBackManager.Instance.setStack(GongDanWindowManager.Instance.MainGo);
  242. TopWindowManager.Instance.showTitle(TianJiWindowManager.Instance.GetTextByKey("110009"));
  243. GongDanWindowManager.Instance.gotoBaoGao();
  244. }
  245. public void addItem(string a,string b, string c,string d,string e)
  246. {
  247. ItemChooseView newitem = GameObject.Instantiate(itemview,itemview.transform.parent);
  248. newitem.init(a,b,c,d,e);
  249. newitem.gameObject.SetActive(true);
  250. newitem.transform.SetSiblingIndex(1);
  251. itemviewList.Add(newitem);
  252. }
  253. }