panel_setting.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. {extend name="public/layout" /} {block name="title"}控制面板{/block} {block name="head"} {include file="public/head"}
  2. <link rel="stylesheet" href="__STATIC__/css/csspc.css">
  3. <style>
  4. html,body{background:#F0F4F7;min-width:1100px;}
  5. .team_name{overflow: hidden;}
  6. .team_name dd{float:left;padding:8px 20px;border-radius: 4px;margin:20px 20px 0 0;background: #D3E4EC;color:#555;font-size: 14px;cursor: pointer;}
  7. .team_number{overflow: hidden;width:680px;}
  8. .team_number li{float:left;width:70px;height: 44px;text-align: center;line-height: 44px;border-radius: 4px;margin:15px 15px 0 0;color:#fff;cursor: pointer;}
  9. .numberjia{background: #43D7B7;}
  10. .numberjian{background: #73BFF9;}
  11. .add_team_dd{background: #229FFB !important;color:#fff !important;}
  12. .littleTitle {
  13. display: flex;
  14. align-items: center;
  15. margin-bottom: 10px;
  16. }
  17. .dashedline {
  18. margin-left: 10px;
  19. flex: 1;
  20. border-top: 2px dashed #AEB1B8;
  21. margin-top: 2px;
  22. }
  23. .team_set{margin-top:30px;}
  24. .team_date{border:1px solid #AEB1B8;height: 40px;width:260px;}
  25. .team_bz{color: #D995A0;margin:8px 0 0 68px;}
  26. input{border:0 !important;}
  27. .team_btn{width:140px;height: 40px !important;}
  28. .datashow_dl{overflow: hidden;}
  29. .datashow_dl dd{float:left;padding:8px 20px;border: 1px solid #DCE1E5;color:#555;margin:15px 20px 0 0;border-radius: 4px;}
  30. .jf_li{float: left;width:380px;margin-top:30px;}
  31. .layui-card{box-shadow: none;}
  32. .flex-sub2{align-content:flex-end}
  33. .flex-sub2 a{text-decoration: underline;color:#535DFD;font-size:14px;}
  34. .header-nav {
  35. display: flex;
  36. align-items: center;
  37. background-color: #fff;
  38. padding: 15px 20px;
  39. }
  40. .justify-between {
  41. justify-content: space-between;
  42. }
  43. .flex {
  44. display: flex;
  45. }
  46. .justify-center {
  47. justify-content: center;
  48. }
  49. .align-center {
  50. align-items: center;
  51. }
  52. .flex-sub {
  53. flex: 1;
  54. }
  55. .circleBox {
  56. width: 20px;
  57. height: 20px;
  58. background-color: #000;
  59. border-radius: 50%;
  60. }
  61. .layui-tab-title,.layui-tab-title .layui-this:after{border: 0 !important;}
  62. .layui-fluid {
  63. display: block;
  64. box-shadow: 0 0 4px 0 #B6CADE;
  65. border-radius: 5px;
  66. margin: 15px;
  67. background-color: #ffffff;
  68. }
  69. .flex-sub a{color:#666;}
  70. .layui-this a{color:#1e9fff !important;}
  71. .mr10 {
  72. margin-right: 10px;
  73. }
  74. </style>
  75. {/block} {block name="body"}
  76. <body>
  77. <div class="layui-tab" style="margin-top: 0;">
  78. <div class="header-nav">
  79. <div class="mr10 circleBox flex align-center justify-center">
  80. <a href="index.html"><i class="layui-icon layui-icon-return"
  81. style="color: #fff;font-size: 14px;"></i></a>
  82. </div>
  83. <ul class="layui-tab-title flex-sub">
  84. <li><a href="setting.html?id={$activity.id}">规则设置</a></li>
  85. <li><a href="team.html?id={$activity.id}">团队设置</a></li>
  86. <li class="layui-this"><a href="panel_setting.html?id={$activity.id}">控制面板</a></li>
  87. </ul>
  88. {notempty name="activity.course"}
  89. <div class="flex-sub2">
  90. <a target="_blank" href="{$url}">打开大屏</a>
  91. <a style="margin-left:25px;cursor: pointer;" id="Copy" data-urls="{$url}">复制大屏链接</a>
  92. </div>
  93. {/notempty}
  94. </div>
  95. <div class="layui-tab-content" style="padding: 0;">
  96. <div class="layui-tab-item layui-show">
  97. <div class="layui-fluid">
  98. <div class="layui-card" style="padding: 15px;height: calc(100vh - 130px);">
  99. <div class="">
  100. <dl class="team_name">
  101. <!-- <dd class="add_team_dd">团队名称</dd> -->
  102. {volist name="teamlist" id="vo"}
  103. <dd data-id="{$vo.org_id}">{$vo.teamname}</dd>
  104. {/volist}
  105. </dl>
  106. </div>
  107. <div class="mdt10">
  108. <ul class="team_number">
  109. <li class="numberjia">+5</li>
  110. <li class="numberjia">+10</li>
  111. <li class="numberjia">+15</li>
  112. <li class="numberjia">+20</li>
  113. <li class="numberjia">+25</li>
  114. <li class="numberjia">+30</li>
  115. <li class="numberjia">+50</li>
  116. <li class="numberjia">+100</li>
  117. <li class="numberjian">-5</li>
  118. <li class="numberjian">-10</li>
  119. <li class="numberjian">-15</li>
  120. <li class="numberjian">-20</li>
  121. <li class="numberjian">-25</li>
  122. <li class="numberjian">-30</li>
  123. <li class="numberjian">-50</li>
  124. <li class="numberjian">-100</li>
  125. </ul>
  126. </div>
  127. <div class="team_set">
  128. <div class="littleTitle">
  129. <span class="borderleft">其它加/减分</span>
  130. <div class="dashedline"></div>
  131. </div>
  132. <div class="woverflow mdt30">
  133. <div class="wleft">
  134. <span class="font14 lh40">选择时间</span>
  135. <div class="wpsr ids team_date mdl06">
  136. <input type="text" name="date" id="select_date" placeholder="活动时间" autocomplete="off" class="layui-input">
  137. </div>
  138. </div>
  139. <div class="wleft mdl40">
  140. <span class="font14 lh40">输入积分</span>
  141. <div class="wpsr ids team_date mdl06">
  142. <input type="number" lay-verify="required" id="team_mj" placeholder="请输入分数" autocomplete="off" min="1" max="99999" class="layui-input">
  143. </div>
  144. <p class="font12 team_bz">*备注:输入正负整数,用以加减分</p>
  145. </div>
  146. <div class="wleft mdl40">
  147. <button type="button" class="layui-btn layui-btn-normal team_btn" id="addintl">确定</button>
  148. </div>
  149. </div>
  150. <div class="littleTitle mdt30">
  151. <span class="borderleft">倒计时警示设置</span>
  152. <div class="dashedline"></div>
  153. </div>
  154. <div class="mdt30 woverflow">
  155. <div class="wleft">
  156. <span class="font14 lh40">赛程结束前</span>
  157. <div class="wpsr ids team_date mdl06">
  158. <input type="number" lay-verify="required" id="countdown" placeholder="请输入分钟数" value="{$activity.countdown}" autocomplete="off" min="1" max="99999" class="layui-input">
  159. </div>
  160. <span>分钟进行时间警示提示</span>
  161. </div>
  162. <button type="button" class="layui-btn layui-btn-normal wleft mdl60 team_btn" id="daoset">确定设置</button>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. </div>
  168. </div>
  169. </div>
  170. </body>
  171. {/block} {block name="js"}
  172. <script>
  173. layui.config({
  174. base: '__LAYUI__/',
  175. urlbase: '/sys'
  176. }).extend({
  177. index: 'lib/index' //主入口模块
  178. }).use(['index', 'form', 'laydate'], function () {
  179. var form = layui.form;
  180. var laydate = layui.laydate;
  181. var layer = layui.layer;
  182. var $ = layui.$;
  183. //日期范围
  184. laydate.render({
  185. elem: '#select_date',
  186. type: 'datetime',
  187. trigger: 'click'
  188. });
  189. $("#Copy").on('click',function() {
  190. var flag = copyText($(this).attr('data-urls')); //传递文本
  191. alert(flag ? "复制成功!" : "复制失败!");
  192. })
  193. function copyText(text) {
  194. var textarea = document.createElement("input");//创建input对象
  195. var currentFocus = document.activeElement;//当前获得焦点的元素
  196. document.body.appendChild(textarea);//添加元素
  197. textarea.value = text;
  198. textarea.focus();
  199. if(textarea.setSelectionRange)
  200. textarea.setSelectionRange(0, textarea.value.length);//获取光标起始位置到结束位置
  201. else
  202. textarea.select();
  203. try {
  204. var flag = document.execCommand("copy");//执行复制
  205. } catch(eo) {
  206. var flag = false;
  207. }
  208. document.body.removeChild(textarea);//删除元素
  209. currentFocus.focus();
  210. return flag;
  211. }
  212. $('.team_name dd').click(function(){
  213. $(this).addClass('add_team_dd').siblings().removeClass('add_team_dd');
  214. })
  215. $('.team_number li').click(function(){
  216. var number_span = parseInt($(this).html());
  217. var number_input = $('#team_mj').val()?parseInt($('#team_mj').val()):0;
  218. $('#team_mj').val(number_span+number_input);
  219. // if((number_span+number_input)<0){
  220. // layer.msg('积分数不能为负数据!', {
  221. // anim: 6
  222. // });
  223. // }else{
  224. // $('#team_mj').val(number_span+number_input);
  225. // }
  226. })
  227. $('#addintl').click(function(){
  228. var integral = $('#team_mj').val();
  229. let addtime = $('#select_date').val();
  230. let aid = '{$activity.id}';
  231. let tid = $('.add_team_dd').attr('data-id');
  232. if(integral == '' || integral == null){
  233. layer.msg('积分不能空', {
  234. time: 1000,
  235. anim: 0
  236. });
  237. return false;
  238. }
  239. if(tid == null || tid == ''){
  240. layer.msg('请选择团队', {
  241. time: 1000,
  242. anim: 0
  243. });
  244. return false;
  245. }
  246. //console.log(tid);return false;
  247. $.ajax({
  248. url: '{:url("WechatActivity/team_addintegral")}',
  249. type: 'post',
  250. data: {integral:integral,tid:tid,aid:aid,addtime:addtime},
  251. success: function(res) {
  252. if(res.code === 0) {
  253. layer.msg(res.msg, {
  254. time: 300,
  255. anim: 0
  256. }, function() {
  257. parent.layer.close(index); //再执行关闭
  258. });
  259. } else {
  260. layer.msg(res.msg, {
  261. anim: 6
  262. ,time: 400
  263. });
  264. }
  265. }
  266. });
  267. });
  268. $('#daoset').click(function(){
  269. var countdown = $('#countdown').val();
  270. let aid = '{$activity.id}';
  271. $.ajax({
  272. url: '{:url("WechatActivity/panel_setting")}',
  273. type: 'post',
  274. data: {countdown:countdown,id:aid},
  275. success: function(res) {
  276. if(res.code === 0) {
  277. layer.msg(res.msg, {
  278. time: 1000,
  279. anim: 0
  280. }, function() {
  281. parent.layer.close(index); //再执行关闭
  282. });
  283. } else {
  284. layer.msg(res.msg, {
  285. anim: 6
  286. ,time: 400
  287. });
  288. }
  289. }
  290. });
  291. });
  292. });
  293. </script>
  294. {/block}