course_edit.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. {extend name="public/layout"}
  2. {block name="body"}
  3. <style>
  4. .goback {
  5. float: right;
  6. }
  7. .goback a {
  8. color: #269efb;
  9. }
  10. .goback i {
  11. position: relative !important;
  12. }
  13. .layui-form-item .layui-input-inline {
  14. float: left;
  15. width: 190px;
  16. margin-right: 10px;
  17. }
  18. .layui-input-inline {
  19. display: inline-block;
  20. vertical-align: middle;
  21. }
  22. .upload-img {
  23. border: 1px dashed #e2e2e2;
  24. height: 100px;
  25. width: 100px;
  26. }
  27. .upload-img .area {
  28. margin-top: 40px;
  29. text-align: center;
  30. }
  31. .upload-img .area i {
  32. font-size: 50px;
  33. color: #009688;
  34. }
  35. .layui-btn,.layui-btn:hover {
  36. background-color: #fff;
  37. border: 1px solid #269efb;
  38. color: #269efb;
  39. }
  40. </style>
  41. <body>
  42. <div class="layui-fluid">
  43. <div class="layui-row layui-col-space15">
  44. <div class="layui-col-md12">
  45. <div class="layui-card">
  46. <div class="layui-card-header">
  47. 活动编辑
  48. <div class="goback">
  49. <a href="{:url('broad/build')}"><i class="layui-icon layui-icon-return"></i>
  50. <span>返回列表</span>
  51. </a>
  52. </div>
  53. </div>
  54. <div class="layui-card-body">
  55. <form class="layui-form" enctype="multipart/form-data">
  56. <div class="layui-form-item">
  57. <label class="layui-form-label" for="title">活动主题:</label>
  58. <div class="layui-col-md6">
  59. <input type="text" name="title" id="title" placeholder="请输入本次活动主题" autocomplete="off"
  60. class="layui-input" value="{$data.title}">
  61. </div>
  62. </div>
  63. <div class="layui-form-item">
  64. <label class="layui-form-label">直播封面:</label>
  65. <div class="layui-input-inline">
  66. <div class="upload-img" id="img" style="width: 150px;height: 90px;">
  67. <img src="{$data.cover}?x-oss-process=image/resize,m_lfit,h_100,w_100"
  68. style="width: 150px;height: 90px;">
  69. </div>
  70. </div>
  71. <div class="layui-form-mid layui-word-aux" style="margin-top: 40px;margin-left: 80px;">
  72. 封面图尺寸【750*450】<br />
  73. jpg,png,bmp,jpeg格式,大小1M</div>
  74. </div>
  75. <div class="layui-form-item">
  76. <label class="layui-form-label" for="addr">活动描述:</label>
  77. <div class="layui-col-md6">
  78. <textarea placeholder="此处填写的是分享到微信后的链接描述,请用15-30个文字正常阐述本次活动内容,禁止填写诱导转发类文字。" name="description"
  79. class="layui-textarea">{$data.description}</textarea>
  80. </div>
  81. </div>
  82. <div class="layui-form-item">
  83. <label class="layui-form-label">直播时间:</label>
  84. <div class="layui-col-md2">
  85. <input type="text" name="date" class="layui-input" lay-verify="datetime" autocomplete="off" id="date"
  86. placeholder="选择日期" value="{$data.start_time}">
  87. </div>
  88. <div class="layui-col-md2">
  89. <select id="hour" name="hour" lay-verify="required">
  90. <option value="">直播时长</option>
  91. {for start="0.5" end="5.5" step="0.5" name="h"}
  92. {if condition="$h eq $data.hour"}
  93. <option value="{$h}" selected>{$h}小时</option>
  94. {else/}
  95. <option value="{$h}">{$h}小时</option>
  96. {/if}
  97. {/for}
  98. </select>
  99. </div>
  100. <!-- <div class="layui-col-md2">
  101. <input type="text" name="time" class="layui-input" autocomplete="off" id="time" placeholder="选择时间" value="{$data.time}">
  102. </div> -->
  103. </div>
  104. <div class="layui-form-item">
  105. <label class="layui-form-label">主持人:</label>
  106. <div class="layui-col-md4">
  107. <select name="tid" id="teacher" lay-filter="teacher">
  108. {volist name="teacher" id="vo"}
  109. <option value="{$key}">{$vo}</option>
  110. {/volist}
  111. <option value="addteacherselect">新增主持人>></option>
  112. </select>
  113. </div>
  114. {empty name="teacherCount"}
  115. <div class="layui-form-mid layui-word-aux" style="margin-left: 20px;">
  116. <a id="addteacher" href="javascript:void(0)" title="添加主持人">添加主持人</a>
  117. </div>
  118. {/empty}
  119. </div>
  120. <div class="layui-form-item">
  121. <label class="layui-form-label">活动内容:</label>
  122. <div class="layui-col-md6">
  123. <textarea placeholder="请输入活动内容" name="content" id="content" rows=15
  124. class="layui-textarea">{$data.content}</textarea>
  125. </div>
  126. </div>
  127. <div class="layui-form-item">
  128. {eq name="data.template" value="1"}<input type="hidden" name="template" value="1">{/eq}
  129. {eq name="data.template" value="0"}<input type="hidden" name="template" value="0">{/eq}
  130. <!-- <label class="layui-form-label">直播模版:</label>-->
  131. <!-- <div class="layui-col-md3">-->
  132. <!-- <input type="radio" name="template" value="1" title="家装收定" {eq name="data.template" value="1"}checked{/eq}{eq name="hasgifts" value="1"} disabled="disabled"{/eq} >-->
  133. <!-- <input type="radio" name="template" value="0" title="建材爆单" {eq name="data.template" value="0"}checked{/eq}{eq name="hasgifts" value="1"} disabled="disabled"{/eq} >-->
  134. <!-- </div>-->
  135. <!-- <div class="layui-col-md4">-->
  136. <!-- <p style="margin-top:8px; color:lightgray">[直播开始使用后,模版将不可更改。]</p>-->
  137. <!-- </div>-->
  138. </div>
  139. <!-- <div class="layui-form-item">
  140. <label class="layui-form-label">手机获取:</label>
  141. <div class="layui-col-md3">
  142. <input type="radio" name="need_mobile" value="1" title="获取" {eq name="data.need_mobile" value="1"}checked{/eq}>
  143. <input type="radio" name="need_mobile" value="0" title="不获取" {eq name="data.need_mobile" value="0"}checked{/eq}>
  144. </div>
  145. </div> -->
  146. <div class="layui-form-item">
  147. <label class="layui-form-label">是否录播:</label>
  148. <div class="layui-col-md3">
  149. <input type="radio" name="record" value="1" title="是" {eq name="data.record" value="1" }checked{/eq}>
  150. <input type="radio" name="record" value="0" title="否" {eq name="data.record" value="0" }checked{/eq}>
  151. </div>
  152. </div>
  153. <div class="layui-form-item">
  154. <label class="layui-form-label">进入方式:</label>
  155. <div class="layui-input-inline" style="width: 260px;">
  156. <input type="radio" name="open_key" value="3" title="正常" lay-filter="key" {if
  157. condition="($data.key eq '') && ($data.price eq 0.00)" }checked{/if}>
  158. <input type="radio" name="open_key" value="2" title="密码" lay-filter="key" {if
  159. condition="$data.key neq ''" }checked{/if}>
  160. <input type="radio" name="open_key" value="1" title="付费" lay-filter="key" {if
  161. condition="$data.price > 0" }checked{/if}>
  162. </div>
  163. <div class="layui-form-mid layui-word-aux">*设置观看直播方式 ( 密码 / 付费 ),客户通过输入密码或支付设置费用才可观看。</div>
  164. </div>
  165. <div {if condition="$data.key eq ''" }class="layui-form-item layui-hide" {else/}class="layui-form-item"
  166. {/if} id="key">
  167. <label class="layui-form-label"></label>
  168. <div class="layui-input-inline">
  169. <input type="text" name="key" placeholder="输入密码(4-6位数字或字母)" autocomplete="off" class="layui-input"
  170. value="{$data.key}">
  171. </div>
  172. </div>
  173. <div {if condition="$data.price eq 0.00" }class="layui-form-item layui-hide"
  174. {else/}class="layui-form-item" {/if} id="price">
  175. <label class="layui-form-label"></label>
  176. <div class="layui-input-inline">
  177. <input type="text" name="price" placeholder="输入金额(0.01-3000元区间)" autocomplete="off"
  178. class="layui-input" value="{$data.price}">
  179. </div>
  180. </div>
  181. <input name="id" type="hidden" value="{$data.cid}">
  182. <div class="layui-form-item">
  183. <div class="layui-input-block">
  184. <button class="layui-btn" lay-submit lay-filter="admin">立即提交</button>
  185. </div>
  186. </div>
  187. </form>
  188. </div>
  189. </div>
  190. </div>
  191. {/block}
  192. {block name="js"}
  193. <script src="__STATIC__/js/jquery.min.js"></script>
  194. <script>
  195. var addTeacherUrl = '{:url("broad/teacher_add")}';
  196. var teacher = $('#teacher');
  197. layui.use(['form', 'laydate', 'layedit', 'upload'], function () {
  198. var $ = layui.jquery
  199. , form = layui.form
  200. , layedit = layui.layedit
  201. , upload = layui.upload
  202. , laydate = layui.laydate;
  203. laydate.render({
  204. elem: '#date'
  205. , type: 'datetime'
  206. });
  207. // laydate.render({
  208. // elem: '#time'
  209. // ,type: 'time'
  210. // ,format: 'HH:mm'
  211. // ,range: true
  212. // });
  213. layedit.set({
  214. uploadImage: {
  215. url: '{:url("course/imgUpload")}'
  216. }
  217. });
  218. var textarea = layedit.build('content');
  219. upload.render({
  220. elem: '#img',
  221. accept: 'images',
  222. exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
  223. auto: false,
  224. field: 'cover',
  225. size: 1 * 1024,
  226. choose: function (obj) {
  227. file = obj.pushFile();
  228. obj.preview(function (index, file, result) {
  229. $('#img').html('<img src="' + result + '" style="height: 100%;width:100%;">');
  230. });
  231. }
  232. });
  233. form.on("submit(admin)", function (obj) {
  234. if ($(obj.elem).hasClass('layui-btn-disabled')) return false;
  235. $(obj.elem).addClass('layui-btn-disabled');
  236. var formData = new FormData(obj.form);
  237. formData.set('content', layedit.getContent(textarea));
  238. var loading = layer.load(0, { shade: 0.3 });
  239. $.ajax({
  240. url: '{:url("broad/course_save")}',
  241. type: 'POST',
  242. data: formData,
  243. dataType: 'json',
  244. processData: false,
  245. contentType: false,
  246. success: function (res) {
  247. if (res.code === 0) {
  248. layer.msg(res.msg, { anim: 0 }, function () {
  249. location.href = '{:url("broad/build")}';
  250. });
  251. } else {
  252. layer.msg(res.msg, { anim: 6 });
  253. $(obj.elem).removeClass('layui-btn-disabled');
  254. layer.close(loading);
  255. }
  256. }
  257. });
  258. return false;
  259. });
  260. $('#addteacher').click(function () {
  261. layer.open({
  262. title: ['添加', 'color:#333333;background-color:#D8E6F1;'],
  263. type: 2,
  264. content: addTeacherUrl,
  265. resize: false,
  266. area: ['80%', '80%'],
  267. });
  268. });
  269. form.on('select(teacher)', function (data) {
  270. var data = data.value;
  271. if (data == 'addteacherselect') {
  272. layer.open({
  273. title: ['添加', 'color:#333333;background-color:#D8E6F1;'],
  274. type: 2,
  275. content: addTeacherUrl,
  276. resize: false,
  277. area: ['80%', '80%'],
  278. cancel: function () {
  279. // 右上角关闭事件的逻辑
  280. $("#teacher").find("option:selected").attr("selected", false);
  281. $("#teacher").find("option").first().attr("selected", true);
  282. form.render('select');//重新渲染 固定写法
  283. }
  284. });
  285. }
  286. });
  287. form.on('radio(key)', function (data) {
  288. if (data.value == 2) {
  289. $('#key').removeClass('layui-hide');
  290. $('#price').addClass('layui-hide');
  291. } else if (data.value == 1) {
  292. $('#key').addClass('layui-hide');
  293. $('#price').removeClass('layui-hide');
  294. } else {
  295. $('#key').addClass('layui-hide');
  296. $('#price').addClass('layui-hide');
  297. }
  298. });
  299. });
  300. </script>
  301. {/block}