setting.html 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915
  1. {extend name="public/layout" /} {block name="title"}规则设置{/block} {block name="body"}
  2. <style type="text/css">
  3. html {
  4. background:#F0F4F7;
  5. }
  6. body {
  7. min-width: 1100px;
  8. }
  9. .layui-fluid {
  10. display: block;
  11. box-shadow: 0 0 4px 0 #B6CADE;
  12. border-radius: 5px;
  13. margin: 15px;
  14. background-color: #ffffff;
  15. }
  16. @media screen and (max-width: 450px) {
  17. .layui-form-item {
  18. width: 100%;
  19. }
  20. }
  21. #layuiadmin-app-form-list {
  22. padding: 1% 1%;
  23. }
  24. .layui-form-label {
  25. width: 8%;
  26. }
  27. .layui-input {
  28. border: none;
  29. outline: none;
  30. }
  31. .layui-input-inline {
  32. border: 1px solid #D4E4ED;
  33. }
  34. .flex-center {
  35. display: flex;
  36. align-items: center;
  37. }
  38. .border {
  39. border: 1px solid #D4E4ED;
  40. padding-right: 10px;
  41. border-radius: 5px;
  42. }
  43. .layui-form-radio>i:hover,
  44. .layui-form-radioed>i {
  45. color: #249EFB;
  46. }
  47. .layui-form-radioed {
  48. color: #249EFB;
  49. }
  50. .layui-tab-card>.layui-tab-title {
  51. background-color: #fff;
  52. }
  53. .layui-tab-card {
  54. border-radius: 10px;
  55. box-shadow: none;
  56. border: none;
  57. }
  58. .layui-form-label {
  59. color: #8A9AAA;
  60. }
  61. .layui-input::placeholder {
  62. color: #9DB6CF;
  63. }
  64. .layui-tab-title .layui-this {
  65. color: #249EFB;
  66. }
  67. .layui-tab-title .layui-this:after {
  68. border-bottom: none;
  69. border: none;
  70. }
  71. .layui-tab-title{border: 0 !important;}
  72. .layui-tab-title li {
  73. /* background-color: #F2F2F2; */
  74. margin: 0px 5px;
  75. }
  76. .layui-anim.layui-icon {
  77. font-size: 18px;
  78. }
  79. .header-nav {
  80. display: flex;
  81. align-items: center;
  82. background-color: #fff;
  83. padding: 15px 20px;
  84. }
  85. .mr10 {
  86. margin-right: 10px;
  87. }
  88. .ml10 {
  89. margin-left: 10px;
  90. }
  91. .mt10 {
  92. margin-top: 10px;
  93. }
  94. .fontw700 {
  95. font-weight: 700;
  96. }
  97. .justify-between {
  98. justify-content: space-between;
  99. }
  100. .secondTab {
  101. margin: 20px 0px;
  102. background-color: #fff;
  103. }
  104. .littleTitle {
  105. display: flex;
  106. align-items: center;
  107. margin-bottom: 10px;
  108. }
  109. .borderleft {
  110. border-left: 5px solid #384855;
  111. padding-left: 10px;
  112. }
  113. .dashedline {
  114. margin-left: 10px;
  115. flex: 1;
  116. border-top: 2px dashed #9DB6CF;
  117. margin-top: 2px;
  118. }
  119. .flex {
  120. display: flex;
  121. }
  122. .align-center {
  123. align-items: center;
  124. }
  125. .settingBox {
  126. background-color: #F0F4F7;
  127. padding: 20px;
  128. border-radius: 4px;
  129. }
  130. .settingBoxTask {
  131. width: 100%;
  132. border-top: 1px solid #B6CADE;
  133. }
  134. .settingTaskItem {
  135. background-color: #D4E4ED;
  136. padding: 10px;
  137. margin-top: 10px;
  138. }
  139. .settingBoxTime {
  140. width: 100%;
  141. display: flex;
  142. flex-wrap: wrap;
  143. padding-bottom: 10px;
  144. }
  145. .addPlay {
  146. width: 81px;
  147. height: 86px;
  148. background-color: #B6CADE;
  149. display: flex;
  150. flex-direction: column;
  151. justify-content: center;
  152. align-items: center;
  153. color: #fff;
  154. cursor: pointer;
  155. }
  156. .settingTime {
  157. display: flex;
  158. align-items: center;
  159. flex-wrap: wrap;
  160. }
  161. .settingTimeItem {
  162. width: 200px;
  163. height: 86px;
  164. background-color: #fff;
  165. margin-right: 15px;
  166. display: flex;
  167. flex-direction: column;
  168. justify-content: center;
  169. align-items: center;
  170. position: relative;
  171. color: #9DB6CF;
  172. margin-bottom: 10px;
  173. }
  174. .settingTimeItembtn {
  175. padding: 5px 10px;
  176. background-color: #71C4FF;
  177. color: #fff;
  178. cursor: pointer;
  179. }
  180. .font12 {
  181. font-size: 12px !important;
  182. }
  183. .close {
  184. width: 20px;
  185. height: 20px;
  186. background-color: #B6CADE;
  187. display: flex;
  188. align-items: center;
  189. justify-content: center;
  190. position: absolute;
  191. top: -10px;
  192. right: -10px;
  193. border-radius: 50%;
  194. cursor: pointer;
  195. }
  196. .mask {
  197. width: 100%;
  198. height: 100vh;
  199. position: fixed;
  200. top: 0px;
  201. left: 0px;
  202. z-index: 9999;
  203. background-color: rgba(0, 0, 0, 0.5);
  204. display: flex;
  205. align-items: center;
  206. justify-content: center;
  207. }
  208. .dialog {
  209. width: 30%;
  210. height: 300px;
  211. background-color: #fff;
  212. display: flex;
  213. flex-direction: column;
  214. }
  215. .dialog-title {
  216. width: 100%;
  217. display: flex;
  218. justify-content: space-between;
  219. align-items: center;
  220. height: 48px;
  221. background-color: #9DB6CF;
  222. box-sizing: border-box;
  223. padding: 0px 20px;
  224. color: #fff;
  225. }
  226. .dialog-content {
  227. flex: 1;
  228. display: flex;
  229. flex-direction: column;
  230. justify-content: center;
  231. align-items: center;
  232. }
  233. .dialog-footer {
  234. display: flex;
  235. justify-content: flex-end;
  236. box-sizing: border-box;
  237. padding: 0px 20px;
  238. height: 48px;
  239. }
  240. .dialog-close {
  241. width: 20px;
  242. height: 20px;
  243. background-color: #fff;
  244. border-radius: 50%;
  245. display: flex;
  246. align-items: center;
  247. justify-content: center;
  248. cursor: pointer;
  249. }
  250. .mt20 {
  251. margin-top: 20px;
  252. }
  253. .hideEle {
  254. display: none;
  255. }
  256. .footer-text {
  257. margin-top: 30px;
  258. font-size: 14px !important;
  259. color: #384855;
  260. }
  261. .flex-sub {
  262. flex: 1;
  263. }
  264. .circleBox {
  265. width: 20px;
  266. height: 20px;
  267. background-color: #000;
  268. border-radius: 50%;
  269. text-align: center;
  270. }
  271. .justify-center {
  272. justify-content: center;
  273. }
  274. .bgfff {
  275. background-color: #fff;
  276. }
  277. .datashow_dl{overflow: hidden;}
  278. .datashow_dl dd{float:left;padding:8px 20px;border: 1px solid #DCE1E5;color:#555;margin:15px 20px 0 0;border-radius: 4px;}
  279. .jf_li{float: left;width:380px;margin-top:30px;}
  280. .layui-card{box-shadow: none;}
  281. .flex-sub2{align-content:flex-end}
  282. .flex-sub2 a{text-decoration: underline;color:#535DFD;font-size:14px;}
  283. .layui-this a{color:#1e9fff !important;}
  284. </style>
  285. <body>
  286. <div class="">
  287. <div class="">
  288. <div class="layui-tab layui-tab-card" style="margin-top: 0;">
  289. <div class="header-nav">
  290. <div class="mr10 circleBox flex align-center justify-center">
  291. <a href="index.html"><i class="layui-icon layui-icon-return"
  292. style="color: #fff;font-size: 14px;"></i></a>
  293. </div>
  294. <ul class="layui-tab-title flex-sub">
  295. <li class="layui-this" style="margin-left: 0px;"><a href="setting.html?id={$activity.id}">规则设置</a></li>
  296. <li><a href="team.html?id={$activity.id}">团队设置</a></li>
  297. <li><a href="panel_setting.html?id={$activity.id}">控制面板</a></li>
  298. </ul>
  299. {notempty name="activity.course"}
  300. <div class="flex-sub2">
  301. <a target="_blank" href="{$url}">打开大屏</a>
  302. <a style="margin-left:25px;cursor: pointer;" id="Copy" data-urls="{$url}">复制大屏链接</a>
  303. </div>
  304. {/notempty}
  305. </div>
  306. <div class="layui-tab-content" style="padding: 0;">
  307. <div class="layui-tab-item layui-show">
  308. <div class="layui-fluid">
  309. <div class="layui-card">
  310. <form class="layui-form" id="admin" enctype="multipart/form-data">
  311. <div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list">
  312. <div class="layui-form-item">
  313. <div class="layui-tab layui-tab-card">
  314. <div class="layui-tab-content">
  315. <div class="layui-tab-item layui-show">
  316. <div class="littleTitle">
  317. <span class="borderleft">积分设置</span>
  318. <div class="dashedline"></div>
  319. </div>
  320. <div class="layui-form-item align-center" style="overflow: hidden;">
  321. <div class="jf_li">
  322. <span>加微得分</span>
  323. <div class="layui-input-inline ml10"
  324. style="width: 200px;float: none;display: inline-block;">
  325. <input type="number" id="activiteTitle" name="one_jv_integral"
  326. lay-verify="required" placeholder="请输入"
  327. value="{$activity.one_jv_integral}" autocomplete="off"
  328. min="1" max="99999" class="layui-input"
  329. style="max-width: 500px;">
  330. </div>
  331. <span class="ml10">分/个</span>
  332. </div>
  333. <div class="jf_li">
  334. <span>到店得分</span>
  335. <div class="layui-input-inline ml10"
  336. style="width: 200px;float: none;display: inline-block;">
  337. <input type="number" id="activiteTitle"
  338. name="one_dd_integral" lay-verify="required"
  339. placeholder="请输入" autocomplete="off"
  340. value="{$activity.one_dd_integral}" min="1" max="99999"
  341. class="layui-input" style="max-width: 500px;">
  342. </div>
  343. <span class="ml10">分/个</span>
  344. </div>
  345. <div style="clear: both;"></div>
  346. <div class="jf_li">
  347. <span>到场得分</span>
  348. <div class="layui-input-inline ml10"
  349. style="width: 200px;float: none;display: inline-block;">
  350. <input type="number" id="activiteTitle"
  351. name="one_dc_integral" lay-verify="required"
  352. placeholder="请输入" autocomplete="off"
  353. value="{$activity.one_dc_integral}" min="1" max="99999"
  354. class="layui-input" style="max-width: 500px;">
  355. </div>
  356. <span class="ml10">分/个</span>
  357. </div>
  358. <div class="jf_li">
  359. <span>量房得分</span>
  360. <div class="layui-input-inline ml10"
  361. style="width: 200px;float: none;display: inline-block;">
  362. <input type="number" id="activiteTitle"
  363. name="one_lf_integral" lay-verify="required"
  364. placeholder="请输入" autocomplete="off"
  365. value="{$activity.one_lf_integral}" min="1"
  366. max="99999" class="layui-input" style="max-width: 500px;">
  367. </div>
  368. <span class="ml10">分/个</span>
  369. </div>
  370. <div style="clear: both;"></div>
  371. <div class="jf_li">
  372. <span>定金得分</span>
  373. <div class="layui-input-inline ml10"
  374. style="width: 200px;float: none;display: inline-block;">
  375. <input type="number" id="activiteTitle"
  376. name="one_qd_integral" lay-verify="required"
  377. placeholder="请输入" autocomplete="off"
  378. value="{$activity.one_qd_integral}" min="1"
  379. max="99999" class="layui-input" style="max-width: 500px;">
  380. </div>
  381. <span class="ml10">分/个</span>
  382. </div>
  383. <div class="jf_li">
  384. <span>合同得分</span>
  385. <div class="layui-input-inline ml10"
  386. style="width: 200px;float: none;display: inline-block;">
  387. <input type="number" id="activiteTitle"
  388. name="one_zd_integral" lay-verify="required"
  389. placeholder="请输入" autocomplete="off"
  390. value="{$activity.one_zd_integral}" min="1"
  391. max="99999" class="layui-input" style="max-width: 500px;">
  392. </div>
  393. <span class="ml10">分/个</span>
  394. </div>
  395. </div>
  396. <div class="settingBox" style="margin-top: 30px;">
  397. <div class="settingBoxTime">
  398. <div class="settingTime">
  399. </div>
  400. <div class="addPlay">
  401. <i class="layui-icon layui-icon-date"></i>
  402. <span class="font12">+ 添加赛程</span>
  403. </div>
  404. </div>
  405. <div class="settingBoxTask">
  406. <div class="mt10 fontw700">赛程任务设置</div>
  407. <div class="settingTaskItem flex align-center">
  408. <span>加微</span>
  409. <div class="layui-input-inline ml10"
  410. style="width: 80px;float: none;">
  411. <input type="number" id="activiteTitle"
  412. name="schedule_jiav_num" lay-verify="required"
  413. placeholder="请输入" autocomplete="off" min="1"
  414. max="100" value="{$activity.schedule_jiav_num}"
  415. class="layui-input" style="max-width: 500px;">
  416. </div>
  417. <span>个/轮,</span>
  418. <span>见面</span>
  419. <div class="layui-input-inline ml10"
  420. style="width: 80px;float: none;">
  421. <input type="number" id="activiteTitle"
  422. name="schedule_meet_num" lay-verify="required"
  423. placeholder="请输入" autocomplete="off" min="1"
  424. max="100" value="{$activity.schedule_meet_num}"
  425. class="layui-input" style="max-width: 500px;">
  426. </div>
  427. <span>个/轮,</span>
  428. <span>交定</span>
  429. <div class="layui-input-inline ml10"
  430. style="width: 80px;float: none;">
  431. <input type="number" id="activiteTitle"
  432. name="schedule_deposit_num" lay-verify="required"
  433. placeholder="请输入" autocomplete="off" min="1"
  434. max="100" value="{$activity.schedule_deposit_num}"
  435. class="layui-input" style="max-width: 500px;">
  436. </div>
  437. <span>个/轮,</span>
  438. <span>合同</span>
  439. <div class="layui-input-inline ml10"
  440. style="width: 80px;float: none;">
  441. <input type="number" id="activiteTitle"
  442. name="schedule_zd_num" lay-verify="required"
  443. placeholder="请输入" autocomplete="off" min="1"
  444. max="100" value="{$activity.schedule_zd_num}"
  445. class="layui-input" style="max-width: 500px;">
  446. </div>
  447. <span>个/轮</span>
  448. </div>
  449. </div>
  450. <div class="xqDataBox">
  451. <div class="mt10" style="color: #333;font-size: 16px; font-weight: bold;">数据查看设置</div>
  452. <div class="layui-form mt10">
  453. {volist name="show" id="vo"}
  454. <input lay-filter="switchTest" type="checkbox" name="show" {if $vo['checked'] }
  455. checked {/if} title="{$vo['name']}" value="{$vo['value']}">
  456. {/volist}
  457. </div>
  458. </div>
  459. <input type="hidden" name="id" value="{$activity.id}">
  460. <input type="button"
  461. style="margin-left:0%;height:38px;margin-top: 30px;" lay-submit
  462. class="layui-btn layui-btn-normal" lay-filter="activity-submit"
  463. id="activity-submit" value="确认添加">
  464. </div>
  465. </div>
  466. </div>
  467. </div>
  468. </div>
  469. </form>
  470. </div>
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. </div>
  476. </div>
  477. <div class="mask hideEle">
  478. <div class="dialog">
  479. <div class="dialog-title">
  480. <span>添加赛程</span>
  481. <div class="dialog-close"><i class="layui-icon layui-icon-close" style="color: #9DB6CF;"></i></div>
  482. </div>
  483. <div class="dialog-content">
  484. <div class="flex align-center">
  485. <span><i style="color: red;">*</i>开始时间</span>
  486. <div class="layui-input-inline ml10" style="width: 260px;float: none;">
  487. <input type="text" class="layui-input" placeholder="请选择开始时间" id="test1">
  488. </div>
  489. </div>
  490. <div class="flex align-center mt20">
  491. <span><i style="color: red;">*</i>结束时间</span>
  492. <div class="layui-input-inline ml10" style="width: 260px;float: none;">
  493. <input type="text" class="layui-input" placeholder="请选择结束时间" id="test2">
  494. </div>
  495. </div>
  496. </div>
  497. <div class="dialog-footer">
  498. <button type="button" class="layui-btn selectDate">确定</button>
  499. </div>
  500. </div>
  501. </div>
  502. </body>
  503. {/block} {block name="js"}
  504. <script type="text/html" id="table-user-bind">
  505. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">
  506. 编辑
  507. </a>
  508. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="pk">
  509. PK设置
  510. </a>
  511. <!-- <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="invite">
  512. 邀请码
  513. </a> -->
  514. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="player">
  515. 队员
  516. </a>
  517. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">
  518. 删除
  519. </a>
  520. </script>
  521. <script>
  522. layui.config({
  523. base: '__LAYUI__/',
  524. urlbase: '/sys'
  525. }).extend({
  526. index: 'lib/index' //主入口模块
  527. }).use(['index', 'form', 'upload', 'table', 'layedit', 'laydate'], function () {
  528. var form = layui.form,
  529. upload = layui.upload,
  530. laydate = layui.laydate,
  531. $ = layui.jquery,
  532. table = layui.table,
  533. schedule = [],
  534. editIndex = 0,
  535. isEdit = false;
  536. form.render();
  537. /* 监听提交 */
  538. form.on('submit(activity-submit)', function (obj) {
  539. var formData = new FormData(obj.form);
  540. var value = [];
  541. $("input:checkbox[name='show']:checked").each(function () {
  542. value.push($(this).val());
  543. });
  544. formData.set("show", value.join(","))
  545. $.ajax({
  546. url: '{:url("wechatActivity/setting")}',
  547. type: 'post',
  548. data: formData,
  549. dataType: 'json',
  550. processData: false,
  551. contentType: false,
  552. success: function (res) {
  553. if (res.code === 0) {
  554. layer.msg(res.msg, {
  555. anim: 0
  556. , time: 2000
  557. });
  558. location.reload();
  559. } else {
  560. layer.msg(res.msg, {
  561. anim: 6
  562. , time: 2000
  563. });
  564. }
  565. }
  566. });
  567. return false;
  568. });
  569. $("#Copy").on('click',function() {
  570. var flag = copyText($(this).attr('data-urls')); //传递文本
  571. alert(flag ? "复制成功!" : "复制失败!");
  572. })
  573. function copyText(text) {
  574. var textarea = document.createElement("input");//创建input对象
  575. var currentFocus = document.activeElement;//当前获得焦点的元素
  576. document.body.appendChild(textarea);//添加元素
  577. textarea.value = text;
  578. textarea.focus();
  579. if(textarea.setSelectionRange)
  580. textarea.setSelectionRange(0, textarea.value.length);//获取光标起始位置到结束位置
  581. else
  582. textarea.select();
  583. try {
  584. var flag = document.execCommand("copy");//执行复制
  585. } catch(eo) {
  586. var flag = false;
  587. }
  588. document.body.removeChild(textarea);//删除元素
  589. currentFocus.focus();
  590. return flag;
  591. }
  592. //监听搜索
  593. form.on('submit(LAY-user-front-search)', function (data) {
  594. var field = data.field;
  595. //执行重载
  596. table.reload('company-activity', {
  597. where: field
  598. });
  599. });
  600. //活动列表
  601. table.render({
  602. elem: '#company-activity',
  603. url: "{:url('wechatActivity/team', ['id'=>$activity.id])}",
  604. height: 'full-160',
  605. cols: [
  606. [
  607. { align: 'center', field: 'team_name', title: '队伍名称', width: '15%', templet: '#titletpl' },
  608. { align: 'center', field: 'team_count', title: '人数', width: '10%', templet: '#activitype' },
  609. { align: 'center', field: 'team_logo', title: '团队logo', width: '10%', templet: '#cover' },
  610. { align: 'center', field: 'captain', title: '队长', width: '16.8%', templet: '#start_datetpl' },
  611. { align: 'center', field: 'pt_team', title: 'PK团队', width: '15%', templet: '#end_datetpl' },
  612. { align: 'center', title: '操作', width: '30%', align: 'center', toolbar: '#table-user-bind',fixed:'right' }
  613. ]
  614. ],
  615. text: '对不起,加载出现异常!'
  616. });
  617. //监听审核
  618. table.on('tool(company-activity)', function (obj) {
  619. var data = obj.data;
  620. if (obj.event === 'invite') {
  621. layer.open({
  622. type: 1,
  623. title: ['邀请码', 'color:#333333;background-color:#D8E6F1;'],
  624. content: '<img border="0" src="' + 'https://img01.yzcdn.cn/vant/cat.jpeg' + '" alt="点击下载">',
  625. btn: ['下载', '关闭'],
  626. yes: function (index, layero) {
  627. window.open(obj.data.qrcode);
  628. //按钮【按钮一】的回调
  629. },
  630. btn2: function (index, layero) {
  631. //按钮【按钮二】的回调
  632. }
  633. })
  634. } else if (obj.event === 'pk') {
  635. layer.open({
  636. type: 2,
  637. title: ['PK设置', 'color:#333333;background-color:#D8E6F1;'],
  638. content: "{:url('wechatActivity/pkSetting')}?team_id=" + data.team_id,
  639. // content: layui.setter.urlbase + "/activity/edit/id/" + data.id,
  640. resize: false,
  641. area: ['50%', '40%'],
  642. // btn: ['确定', '取消'],
  643. yes: function (index, layero) {
  644. //点击确认触发 iframe 内容中的按钮提交
  645. // var submit = layero.find('iframe').contents().find("#activity-submit");
  646. // submit.click();
  647. }
  648. });
  649. } else if (obj.event === 'edit') {
  650. layer.open({
  651. type: 2,
  652. title: ['队伍修改', 'color:#333333;background-color:#D8E6F1;'],
  653. content: "{:url('wechatActivity/editTeam')}?team_id=" + data.team_id,
  654. // content: layui.setter.urlbase + "/activity/edit/id/" + data.id,
  655. resize: false,
  656. area: ['80%', '80%'],
  657. // btn: ['确定', '取消'],
  658. yes: function (index, layero) {
  659. //点击确认触发 iframe 内容中的按钮提交
  660. // var submit = layero.find('iframe').contents().find("#activity-submit");
  661. // submit.click();
  662. }
  663. });
  664. } else if (obj.event === 'player') {
  665. layer.open({
  666. type: 2,
  667. title: ['我的队员', 'color:#333333;background-color:#D8E6F1;'],
  668. content: "{:url('wechatActivity/member')}?team_id=" + data.team_id,
  669. // content: layui.setter.urlbase + "/activity/edit/id/" + data.id,
  670. resize: false,
  671. area: ['80%', '80%'],
  672. // btn: ['确定', '取消'],
  673. yes: function (index, layero) {
  674. //点击确认触发 iframe 内容中的按钮提交
  675. // var submit = layero.find('iframe').contents().find("#activity-submit");
  676. // submit.click();
  677. }
  678. });
  679. } else if (obj.event === 'del') {
  680. layer.confirm('确定删除此队伍么?', { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  681. $.ajax({
  682. type: 'post',
  683. // url: layui.setter.urlbase + "/activity/del",
  684. url: "{:url('wechatActivity/deleteTeam')}",
  685. data: {
  686. team_id: data.team_id
  687. },
  688. success: function (res) {
  689. if (res.code == 0) {
  690. layer.msg(res.msg, {
  691. anim: 0
  692. }, function () {
  693. //执行重载
  694. table.reload('company-activity');
  695. // obj.del();
  696. layer.close(index);
  697. });
  698. } else {
  699. layer.msg(res.msg, {
  700. anim: 6
  701. });
  702. }
  703. }
  704. });
  705. });
  706. }
  707. });
  708. $('.dialog-close').click(() => {
  709. $('#test1').val('');
  710. $('#test2').val('');
  711. $('.mask').prop('className', 'mask hideEle');
  712. })
  713. $('.addPlay').click(() => {
  714. isEdit = false;
  715. if (schedule.length) {
  716. $('#test1').val(schedule[schedule.length - 1].endDate);
  717. $('#test1').prop('disabled', true)
  718. } else {
  719. $('#test1').prop('disabled', false)
  720. }
  721. $('.mask').prop('className', 'mask')
  722. })
  723. $('.selectDate').click(() => {
  724. let startDate = $('#test1').val();
  725. let endDate = $('#test2').val();
  726. if (!startDate) {
  727. layer.msg('请选择开始时间', {
  728. anim: 6
  729. });
  730. return false;
  731. }
  732. if (!endDate) {
  733. layer.msg('请选择结束时间', {
  734. anim: 6
  735. });
  736. return false;
  737. }
  738. if(endDate < startDate){
  739. layer.msg('结束时间不能小于开始时间', {
  740. anim: 6
  741. });
  742. return false;
  743. }
  744. if (isEdit) {
  745. schedule[editIndex].startDate = startDate;
  746. schedule[editIndex].endDate = endDate;
  747. } else {
  748. schedule.push({
  749. startDate: startDate,
  750. endDate: endDate
  751. });
  752. }
  753. setHtml(schedule);
  754. $('.mask').prop('className', 'mask hideEle');
  755. $('#test1').val('');
  756. $('#test2').val('');
  757. })
  758. function setHtml(data) {
  759. let htmls = data.map((v, i) => {
  760. return `<div class="settingTimeItem">
  761. <span class="font12">开始时间:${v.startDate}</span>
  762. <span class="font12 mt10">结束时间:${v.endDate}</span>
  763. <div class="mt10">
  764. <span class="font12 settingTimeItembtn" data-start="${v.startDate}" data-end="${v.endDate}" data-index="${i}">修改</span>
  765. </div>
  766. <input type="hidden" name="schedule_start_date[]" value="${v.startDate}"></input>
  767. <input type="hidden" name="schedule_end_date[]" value="${v.endDate}"></input>
  768. <div class="close" data-index="${i}">
  769. <i data-index="${i}" class="layui-icon layui-icon-close" style="color: #fff;"></i>
  770. </div>
  771. </div>`;
  772. }).join('');
  773. $('.settingTime')[0].innerHTML = htmls;
  774. setTimeout(() => {
  775. $('.close').click((e) => {
  776. let index = parseInt(e.target.dataset.index);
  777. schedule.splice(index, 1);
  778. setHtml(schedule);
  779. })
  780. $('.settingTimeItembtn').click((e) => {
  781. isEdit = true;
  782. let index = parseInt(e.target.dataset.index);
  783. let start = e.target.dataset.start;
  784. let end = e.target.dataset.end;
  785. editIndex = index;
  786. $('#test1').val(start);
  787. $('#test2').val(end);
  788. $('.mask').prop('className', 'mask');
  789. })
  790. }, 100)
  791. }
  792. //日期范围
  793. laydate.render({
  794. elem: '#test1',
  795. trigger: 'click',//呼出事件改成click
  796. type: 'datetime',
  797. format: 'yyyy-MM-dd HH:mm:ss'
  798. });
  799. laydate.render({
  800. elem: '#test2',
  801. trigger: 'click',//呼出事件改成click
  802. type: 'datetime',
  803. format: 'yyyy-MM-dd HH:mm:ss'
  804. });
  805. form.on('radio(play)', function (data) {
  806. if (data.value == 1) {
  807. $('.settingBox').removeClass('layui-hide');
  808. } else {
  809. $('.settingBox').addClass('layui-hide');
  810. }
  811. });
  812. $('.layui-btn.layuiadmin-btn-course').on('click', function () {
  813. var type = $(this).data('type');
  814. if (type == 'add') {
  815. layer.open({
  816. type: 2,
  817. title: ['添加队伍', 'color:#333333;background-color:#D8E6F1;'],
  818. content: "{:url('wechatActivity/addTeam', ['id'=>$activity->id])}",
  819. resize: false,
  820. area: ['80%', '80%'],
  821. // btn: ['确定', '取消'],
  822. yes: function (index, layero) {
  823. //点击确认触发 iframe 内容中的按钮提交
  824. // var submit = layero.find('iframe').contents().find("#activity-submit");
  825. // submit.click();
  826. }
  827. });
  828. }
  829. });
  830. $.get('{:url("wechatActivity/schedule", ["id"=>$activity->id])}', function (res) {
  831. if (res.code == 0) {
  832. schedule = res.data;
  833. setHtml(res.data);
  834. }
  835. })
  836. });
  837. </script>
  838. {/block}