Leader - 复制.cshtml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. @using WeApp.Configuration
  2. @using WeApp.TrainingCampGroup.Dto
  3. @{
  4. Layout = "~/Views/Shared/Layout/_Layout.Stu.cshtml";
  5. CampGroupDto group = ViewBag.Group;
  6. ViewBag.Title = "指挥长屏(" + group.Name + ")";
  7. string id = group.Id,
  8. groupName = group.Name,
  9. campNo = group.CampNo;
  10. }
  11. @section css{
  12. <link href="~/Content/Css/Exercise/student.min.css" rel="stylesheet" />
  13. }
  14. <div class="stu-box">
  15. <div class="box-h">
  16. <div class="title">
  17. <h3 class="">@(groupName)指挥部 —— 指挥长</h3>
  18. <button type="button" class="btn btn-dl" onclick="SubmitNextScene()" title="所有指令提交完点击此按钮进入到下一阶段情景">进入下一阶段情景</button>
  19. </div>
  20. </div>
  21. <div id="box-body" class="box-b">
  22. @*<div class="handle-box leader has-send">
  23. <div class="handle-content">
  24. <span class="role-text">消防局</span><span class="text">:</span> <span class="content-text">xxxxxxxxxxxxxxx</span>
  25. </div>
  26. <div class="handle-button"><button type="button" class="btn btn-danger btn-block" style="min-width: 84px;" disabled>已下达</button></div>
  27. </div>
  28. <div class="handle-box leader">
  29. <div class="handle-content">
  30. <span class="role-text">消防局</span><span class="text">:</span> <span class="content-text">xx儿童Eyre与人谈话人体和和二给 xx阿达分为氛围发多少个上的如果俄国额额xxx 二五他个人提高人体xxx 二个人 xxx微软维特割让给肉体和xx</span>
  31. </div>
  32. <div class="handle-button"><button type="button" class="btn btn-danger btn-block" style="min-width: 84px;" disabled>已下达</button></div>
  33. </div>*@
  34. </div>
  35. </div>
  36. @section scripts
  37. {
  38. <script>
  39. $(function() {
  40. GetLog();
  41. });
  42. var dBtn = '<button type="button" class="btn btn-danger btn-block complete" style="" disabled>已下达</button>';
  43. function RoleHandle(that) {
  44. MsgConfirm("您确认下达这条指令吗?","下达指令",
  45. function() {
  46. var $that = $(that).closest('.handle-box');
  47. var id = $that.data('id');
  48. $.iwbAjax4({
  49. url: abp.appUrl + "Eval/OperationScene?id="+id,
  50. success: function() {
  51. $(that).parent().html(dBtn);
  52. $that.addClass('has-send');
  53. }
  54. });
  55. });
  56. }
  57. function SubmitNextScene() {
  58. MsgConfirm("您确认进入到下一情景吗?",
  59. "情景流转",
  60. function() {
  61. var log = $("#box-body button.complete");
  62. if (!log || log.length <= 0) {
  63. abp.message.warn("请至少下达一条指令后再进入到下一情景!");
  64. return;
  65. }
  66. $.iwbAjax4({
  67. url: abp.appUrl + "Eval/NextFlowNode?groupNo=@(id)&campNo=none",
  68. success: function(res) {
  69. $("#box-body").html("");
  70. }
  71. });
  72. });
  73. }
  74. function GetLog() {
  75. $.iwbAjax5({
  76. url: abp.appUrl + "Query/GetCurrentSceneLog?no=@(id)",
  77. success: function(res) {
  78. if (res) {
  79. $("#box-body").empty();
  80. var str = '';
  81. for (var i = 0; i < res.length; i++) {
  82. var item = res[i];
  83. str += FormatLog(item);
  84. }
  85. if (str) {
  86. $("#box-body").html(str);
  87. }
  88. }
  89. }
  90. });
  91. }
  92. function FormatLog(data) {
  93. var str = "";
  94. if (data) {
  95. var msg = data.word ? data.word : "",
  96. btn = data.logState == '@(LogStateDefinition.New)'
  97. ? '<button type="button" class="btn btn-dl btn-block" style="" onclick="RoleHandle(this)">下达指令</button>'
  98. : dBtn,
  99. style = data.logState == '@(LogStateDefinition.New)' ? '' : 'has-send';
  100. str =
  101. '<div class="handle-box leader {4}" data-id="{0}"> <div class="handle-content"><span class="role-text">{1}</span><span class="text">:</span><span class="content-text">{2}</span></div><div class="handle-button">{3}</div></div>'
  102. .format(data.id, data.role, msg, btn, style);
  103. }
  104. return str;
  105. }
  106. </script>
  107. <script>
  108. abp.signalr.connect(['@(id)', '@(campNo)']);
  109. iwbHub.client.getReloadAll = function(msg) {
  110. console.log('getReloadAll: ', msg);
  111. if (msg) {
  112. try {
  113. var data = JSON.parse(msg);
  114. if (data) {
  115. if (data.no == '@(id)' || data.no == '@(campNo)') {
  116. window.location.reload();
  117. }
  118. }
  119. } catch (e) {
  120. console.log('getReloadAll: ', e);
  121. }
  122. }
  123. };
  124. iwbHub.client.getReloadLeader = function(msg) {
  125. console.log('getReloadLeader: ', msg);
  126. if (msg) {
  127. try {
  128. var data = JSON.parse(msg);
  129. if (data) {
  130. if (data.no == '@(id)' || data.no == '@(campNo)') {
  131. window.location.reload();
  132. }
  133. }
  134. } catch (e) {
  135. console.log('getReloadLeader: ', e);
  136. }
  137. }
  138. };
  139. iwbHub.client.getOperationLog = function(msg) {
  140. console.log('getOperationLog: ', msg);
  141. if (msg) {
  142. try {
  143. var data = JSON.parse(msg);
  144. if (data) {
  145. if (data.no == '@(id)') {
  146. var str = FormatLog(data);
  147. $('#box-body').prepend(str);
  148. }
  149. }
  150. } catch (e) {
  151. console.log('getOperationLog: ', e);
  152. }
  153. }
  154. };
  155. </script>
  156. }