BaoGaoInputManager.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using BestHTTP.JSON;
  5. using LitJson;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. using static BaoBiaoDetail;
  9. using static DeMaTJConfig;
  10. public class BaoGaoInputManager : MonoBehaviour
  11. {
  12. public static BaoGaoInputManager Instance;
  13. public List<ItemChooseView> itemviewList = new List<ItemChooseView>();
  14. public ItemChooseView itemview;
  15. public Text number;
  16. public Text kind;
  17. public Text customerName;
  18. public Text contact;
  19. public Text mobilePhone;
  20. public Text customerAddress;
  21. public Dropdown deviceModel;
  22. public Text serviceType;
  23. public Text createTime;
  24. public Text description;
  25. public InputField results;
  26. public InputField unresolved;
  27. public InputField followup;
  28. public InputField suggestion;
  29. public Toggle isAdequatelyPrepared;
  30. public List<Toggle> appraiselist;
  31. public Toggle isResolved;
  32. public Slider attitudeScores;
  33. public Text attitudeScoresT;
  34. public Slider responseScores;
  35. public Text responseScoresT;
  36. public Slider engineerSkillScores;
  37. public Text engineerSkillScoresT;
  38. public InputField situation;
  39. public InputField customerSuggestion;
  40. public QianZiItem customerSignature;
  41. public QianZiItem solverSignature;
  42. public void addItem()
  43. {
  44. ItemChooseView newitem = GameObject.Instantiate(itemview,itemview.transform.parent);
  45. newitem.gameObject.SetActive(true);
  46. newitem.transform.SetSiblingIndex(1);
  47. itemviewList.Add(newitem);
  48. }
  49. public void addItem(string a,string b, string c,string d,string e)
  50. {
  51. ItemChooseView newitem = GameObject.Instantiate(itemview,itemview.transform.parent);
  52. newitem.init(a,b,c,d,e);
  53. newitem.gameObject.SetActive(true);
  54. newitem.transform.SetSiblingIndex(1);
  55. itemviewList.Add(newitem);
  56. }
  57. private void Awake() {
  58. attitudeScores.onValueChanged.AddListener((str)=>{
  59. attitudeScoresT.text =str+"分";
  60. });
  61. responseScores.onValueChanged.AddListener((str)=>{
  62. responseScoresT.text =str+"分";
  63. });
  64. engineerSkillScores.onValueChanged.AddListener((str)=>{
  65. engineerSkillScoresT.text =str+"分";
  66. });
  67. Instance=this;
  68. }
  69. EReports ereports = new EReports();
  70. Reports reports = new Reports();
  71. public JsonData serviceTimeDetail;
  72. void OnEnable()
  73. {
  74. StartCoroutine(getData());
  75. }
  76. void OnDisable()
  77. {
  78. BaoGaoWindowManager.Instance.XQData=null;
  79. }
  80. public IEnumerator getData()
  81. {
  82. while(BaoGaoWindowManager.Instance==null)
  83. {
  84. yield return null;
  85. }
  86. while(BaoGaoWindowManager.Instance.XQData==null)
  87. {
  88. yield return null;
  89. }
  90. number.text =BaoGaoWindowManager.Instance.XQData.workOrder.number;
  91. kind.text = TianJiWindowManager.getConfigstr(BaoGaoWindowManager.Instance.XQData.demand.kind,0,0)[0].ToString();
  92. customerName.text = BaoGaoWindowManager.Instance.XQData.demand.customerName;
  93. contact.text = BaoGaoWindowManager.Instance.XQData.demand.contact;
  94. mobilePhone.text = BaoGaoWindowManager.Instance.XQData.demand.mobilePhone;
  95. customerAddress.text = BaoGaoWindowManager.Instance.XQData.demand.customerAddress;
  96. ereports = new EReports();
  97. reports = new Reports();
  98. if(BaoGaoWindowManager.Instance.XQData.workOrder.reports!=null)
  99. {
  100. reports = BaoGaoWindowManager.Instance.XQData.workOrder.reports;
  101. }
  102. if(reports.reportsType==2)
  103. {
  104. ereports =BaoGaoWindowManager.Instance.XQData.workOrder.reports.eReports;
  105. }
  106. deviceModel.options = new List<Dropdown.OptionData>();
  107. for (int i=0;i<TianJiWindowManager.Instance.dtdlist.strings.Count;i++)
  108. {
  109. deviceModel.options.Add(new Dropdown.OptionData(TianJiWindowManager.Instance.GetTextByKey(TianJiWindowManager.Instance.dtdlist.strings[i])));
  110. }
  111. deviceModel.value = ereports.deviceType;
  112. deviceModel.captionText.text = deviceModel.options[deviceModel.value].text;
  113. serviceType.text = TianJiWindowManager.getConfigServerTypestr(BaoGaoWindowManager.Instance.XQData.demand.kind,BaoGaoWindowManager.Instance.XQData.workOrder.serviceType)[1].ToString();
  114. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  115. long timestamp = BaoGaoWindowManager.Instance.XQData.workOrder.createTime;
  116. // 转换为 DateTime
  117. DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  118. // 格式化为 "2025-1-28 12:02" 这样的格式
  119. createTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  120. description.text =BaoGaoWindowManager.Instance.XQData.workOrder.description;
  121. if(ereports.serviceTimeDetail!=null)
  122. {
  123. for (int i=0;i<ereports.serviceTimeDetail.Count;i++)
  124. {
  125. addItem(ereports.serviceTimeDetail[i].date,ereports.serviceTimeDetail[i].startTime,ereports.serviceTimeDetail[i].endTime,ereports.serviceTimeDetail[i].restDuration,ereports.serviceTimeDetail[i].waitingDuration);
  126. }
  127. }
  128. results.text = ereports.results;
  129. unresolved.text = ereports.unresolved;
  130. followup.text = ereports.followup;
  131. suggestion.text = ereports.suggestion;
  132. if(ereports.appraise==0)
  133. {
  134. ereports.appraise=1;
  135. }
  136. appraiselist[ereports.appraise-1].isOn =true;
  137. isAdequatelyPrepared.isOn = ereports.isAdequatelyPrepared;
  138. isResolved.isOn = ereports.isResolved;
  139. attitudeScores.value = ereports.attitudeScores;
  140. attitudeScoresT.text = ereports.attitudeScores+"分";
  141. responseScores.value = ereports.responseScores;
  142. responseScoresT.text = ereports.responseScores+"分";
  143. engineerSkillScores.value = ereports.engineerSkillScores;
  144. engineerSkillScoresT.text = ereports.engineerSkillScores+"分";
  145. situation.text = ereports.situation;
  146. customerSuggestion.text = ereports.customerSuggestion;
  147. customerSignature.downloadimg(ereports.customerSignature);
  148. solverSignature.downloadimg(ereports.solverSignature);
  149. customerSignature.GetComponent<RawImage>().texture = customerSignature.defaultTexture;
  150. solverSignature.GetComponent<RawImage>().texture = solverSignature.defaultTexture;
  151. }
  152. public void gotocompleteGongdan(bool isDraft)
  153. {
  154. JsonData data= new JsonData();
  155. data["workOrderId"] = BaoGaoWindowManager.Instance.XQData.workOrder.id;
  156. data["reportsType"] = 2;
  157. data["isDraft"] = isDraft;
  158. ereports.deviceType = deviceModel.value ;
  159. ereports.serviceTimeDetail=new List<ServiceTimeDetail>();
  160. for(int i = 0;i<itemviewList.Count;i++)
  161. {
  162. string s = itemviewList[i].getJson();
  163. if(s!="")
  164. {
  165. ereports.serviceTimeDetail.Add(JsonMapper.ToObject<ServiceTimeDetail>(s));
  166. }
  167. }
  168. ereports.results=results.text ;
  169. ereports.unresolved = unresolved.text ;
  170. ereports.followup = followup.text;
  171. ereports.suggestion=suggestion.text;
  172. for(int i = 0;i<appraiselist.Count;i++)
  173. {
  174. if(appraiselist[i].isOn)
  175. {
  176. ereports.appraise=i+1;
  177. }
  178. }
  179. ereports.isAdequatelyPrepared = isAdequatelyPrepared.isOn;
  180. ereports.isResolved=isResolved.isOn;
  181. ereports.attitudeScores=(int)attitudeScores.value;
  182. ereports.responseScores=(int)responseScores.value ;
  183. ereports.engineerSkillScores=(int)engineerSkillScores.value ;
  184. ereports.situation=situation.text;
  185. ereports.customerSuggestion=customerSuggestion.text ;
  186. ereports.customerSignature = customerSignature.scpath;
  187. ereports.solverSignature = solverSignature.scpath;
  188. if(!isDraft)
  189. {
  190. if(ereports.customerSignature ==""||ereports.customerSignature ==null||ereports.solverSignature ==null||ereports.solverSignature =="")
  191. {
  192. TianJiWindowManager.Instance.showPop(4,"请完成签字");
  193. Debug.Log("请完成签字");
  194. return;
  195. }
  196. }
  197. string str = JsonMapper.ToJson(ereports);
  198. data["eReports"] = JsonMapper.ToObject(str);
  199. DataManager.Instance.completeGongdan(data,(str)=>{
  200. Debug.Log("completeGongdancompleteGongdan====>"+str);
  201. QuanJuBackManager.Instance.back();
  202. });
  203. }
  204. }