BaoGaoInputManager.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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. }
  75. public void initBG()
  76. {
  77. StartCoroutine(getData());
  78. }
  79. void OnDisable()
  80. {
  81. // BaoGaoWindowManager.Instance.XQData=null;
  82. }
  83. public IEnumerator getData()
  84. {
  85. while(BaoGaoWindowManager.Instance==null)
  86. {
  87. yield return null;
  88. }
  89. while(BaoGaoWindowManager.Instance.XQData==null)
  90. {
  91. yield return null;
  92. }
  93. number.text =BaoGaoWindowManager.Instance.XQData.workOrder.number;
  94. kind.text = TianJiWindowManager.getConfigstr(BaoGaoWindowManager.Instance.XQData.demand.kind,0,0)[0].ToString();
  95. customerName.text = BaoGaoWindowManager.Instance.XQData.demand.customerName;
  96. contact.text = BaoGaoWindowManager.Instance.XQData.demand.contact;
  97. mobilePhone.text = BaoGaoWindowManager.Instance.XQData.demand.mobilePhone;
  98. customerAddress.text = BaoGaoWindowManager.Instance.XQData.demand.customerAddress;
  99. ereports = new EReports();
  100. reports = new Reports();
  101. if(BaoGaoWindowManager.Instance.XQData.workOrder.reports!=null)
  102. {
  103. reports = BaoGaoWindowManager.Instance.XQData.workOrder.reports;
  104. }
  105. if(reports.reportsType==2)
  106. {
  107. ereports =BaoGaoWindowManager.Instance.XQData.workOrder.reports.eReports;
  108. }
  109. deviceModel.options = new List<Dropdown.OptionData>();
  110. for (int i=0;i<TianJiWindowManager.Instance.dtdlist.strings.Count;i++)
  111. {
  112. deviceModel.options.Add(new Dropdown.OptionData(TianJiWindowManager.Instance.GetTextByKey(TianJiWindowManager.Instance.dtdlist.strings[i])));
  113. }
  114. deviceModel.value = ereports.deviceType;
  115. deviceModel.captionText.text = deviceModel.options[deviceModel.value].text;
  116. serviceType.text = TianJiWindowManager.getConfigServerTypestr(BaoGaoWindowManager.Instance.XQData.demand.kind,BaoGaoWindowManager.Instance.XQData.workOrder.serviceType)[1].ToString();
  117. // 假设你有一个秒级时间戳(例如:1738036920 对应 2025-1-28 12:02)
  118. long timestamp = BaoGaoWindowManager.Instance.XQData.workOrder.createTime;
  119. // 转换为 DateTime
  120. DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
  121. // 格式化为 "2025-1-28 12:02" 这样的格式
  122. createTime.text = dateTime.ToString("yyyy-M-d HH:mm");
  123. description.text =BaoGaoWindowManager.Instance.XQData.workOrder.description;
  124. if(ereports.serviceTimeDetail!=null)
  125. {
  126. for (int i=0;i<ereports.serviceTimeDetail.Count;i++)
  127. {
  128. addItem(ereports.serviceTimeDetail[i].date,ereports.serviceTimeDetail[i].startTime,ereports.serviceTimeDetail[i].endTime,ereports.serviceTimeDetail[i].restDuration,ereports.serviceTimeDetail[i].waitingDuration);
  129. }
  130. }
  131. results.text = ereports.results;
  132. unresolved.text = ereports.unresolved;
  133. followup.text = ereports.followup;
  134. suggestion.text = ereports.suggestion;
  135. if(ereports.appraise==0)
  136. {
  137. ereports.appraise=1;
  138. }
  139. appraiselist[ereports.appraise-1].isOn =true;
  140. isAdequatelyPrepared.isOn = ereports.isAdequatelyPrepared;
  141. isResolved.isOn = ereports.isResolved;
  142. attitudeScores.value = ereports.attitudeScores;
  143. attitudeScoresT.text = ereports.attitudeScores+"分";
  144. responseScores.value = ereports.responseScores;
  145. responseScoresT.text = ereports.responseScores+"分";
  146. engineerSkillScores.value = ereports.engineerSkillScores;
  147. engineerSkillScoresT.text = ereports.engineerSkillScores+"分";
  148. situation.text = ereports.situation;
  149. customerSuggestion.text = ereports.customerSuggestion;
  150. customerSignature.downloadimg(ereports.customerSignature);
  151. solverSignature.downloadimg(ereports.solverSignature);
  152. customerSignature.GetComponent<RawImage>().texture = customerSignature.defaultTexture;
  153. solverSignature.GetComponent<RawImage>().texture = solverSignature.defaultTexture;
  154. }
  155. public void gotocompleteGongdan(bool isDraft)
  156. {
  157. JsonData data= new JsonData();
  158. data["workOrderId"] = int.Parse(ChuLiItemManager.ChooseData["id"].ToString()) ;
  159. data["reportsType"] = 2;
  160. data["isDraft"] = isDraft;
  161. ereports.deviceType = deviceModel.value ;
  162. ereports.serviceTimeDetail=new List<ServiceTimeDetail>();
  163. for(int i = 0;i<itemviewList.Count;i++)
  164. {
  165. string s = itemviewList[i].getJson();
  166. if(s!="")
  167. {
  168. ereports.serviceTimeDetail.Add(JsonMapper.ToObject<ServiceTimeDetail>(s));
  169. }
  170. }
  171. ereports.results=results.text ;
  172. ereports.unresolved = unresolved.text ;
  173. ereports.followup = followup.text;
  174. ereports.suggestion=suggestion.text;
  175. for(int i = 0;i<appraiselist.Count;i++)
  176. {
  177. if(appraiselist[i].isOn)
  178. {
  179. ereports.appraise=i+1;
  180. }
  181. }
  182. ereports.isAdequatelyPrepared = isAdequatelyPrepared.isOn;
  183. ereports.isResolved=isResolved.isOn;
  184. ereports.attitudeScores=(int)attitudeScores.value;
  185. ereports.responseScores=(int)responseScores.value ;
  186. ereports.engineerSkillScores=(int)engineerSkillScores.value ;
  187. ereports.situation=situation.text;
  188. ereports.customerSuggestion=customerSuggestion.text ;
  189. ereports.customerSignature = customerSignature.scpath;
  190. ereports.solverSignature = solverSignature.scpath;
  191. if(!isDraft)
  192. {
  193. if(ereports.customerSignature ==""||ereports.customerSignature ==null||ereports.solverSignature ==null||ereports.solverSignature =="")
  194. {
  195. TianJiWindowManager.Instance.showPop(4,"请完成签字");
  196. Debug.Log("请完成签字");
  197. return;
  198. }
  199. }
  200. string str = JsonMapper.ToJson(ereports);
  201. data["eReports"] = JsonMapper.ToObject(str);
  202. DataManager.Instance.completeGongdan(data,(str)=>{
  203. Debug.Log("completeGongdancompleteGongdan====>"+str);
  204. QuanJuBackManager.Instance.back();
  205. });
  206. }
  207. }