Commit 18bc32a0d6d566f5deb618ed85a6baaf4d255cce

Authored by 徐近程
1 parent 5358d41f

音频数据详情页

src/main/java/com/cnlive/shenhe/api/AudioControllerApi.java
... ... @@ -50,14 +50,13 @@ public class AudioControllerApi {
50 50 * @bucketName 存储空间名
51 51 * @bucketType 金山或七牛
52 52 * @duration 时长
53   - * @uploader 上传人
54 53 * @contactInfo 联系方式
55 54 * @extendField 扩展字段
56 55 */
57 56 @PostMapping("/import")
58 57 @ResponseBody
59 58 public ResponseBean importAudio(String param) {
60   - logger.info("点播音频入库,param=====" + param);
  59 + logger.info("音频入库,param=====" + param);
61 60 try {
62 61 ShyAudio shyAudio = JSONObject.parseObject(param, ShyAudio.class);
63 62 ShyAudio audioMsg = audioService.getAudioMsg(shyAudio.getAudioId());
... ...
src/main/java/com/cnlive/shenhe/controller/AudioController.java
1 1 package com.cnlive.shenhe.controller;
2 2  
  3 +import com.alibaba.fastjson.JSON;
3 4 import com.cnlive.shenhe.bean.ErrorEnum;
4 5 import com.cnlive.shenhe.bean.ResponseBean;
5 6 import com.cnlive.shenhe.bean.SessionUser;
... ... @@ -16,6 +17,7 @@ import com.github.pagehelper.PageInfo;
16 17 import org.slf4j.Logger;
17 18 import org.slf4j.LoggerFactory;
18 19 import org.springframework.beans.factory.annotation.Autowired;
  20 +import org.springframework.beans.factory.annotation.Value;
19 21 import org.springframework.stereotype.Controller;
20 22 import org.springframework.ui.Model;
21 23 import org.springframework.web.bind.annotation.GetMapping;
... ... @@ -45,6 +47,12 @@ public class AudioController extends BaseController {
45 47 @Autowired
46 48 UsersServiceImpl usersService;
47 49  
  50 + @Value("${qn_domain}")
  51 + String qn_domain;
  52 +
  53 + @Value("${ks_domain}")
  54 + String ks_domain;
  55 +
48 56 /**
49 57 * 音频数据分页获取
50 58 *
... ... @@ -215,4 +223,31 @@ public class AudioController extends BaseController {
215 223 }
216 224 return responseBean;
217 225 }
  226 +
  227 +
  228 + /**
  229 + * 音频详情页
  230 + *
  231 + * @param model
  232 + * @param id
  233 + * @return
  234 + */
  235 + @GetMapping("/details")
  236 + public Object getDetailsVideo(Model model, Integer id) {
  237 + ShyAudio detailsContent = audioService.getDetailsContent(id);
  238 + Object images = JSON.parse(detailsContent.getAudioCoverUrl());
  239 + String yuming = "";
  240 + Integer plat = detailsContent.getBucketType();
  241 + if (plat == CommonConst.QINIU_PLAT) {
  242 + yuming = qn_domain + "/";
  243 + } else if (plat == CommonConst.KS_PLAT) {
  244 + yuming = ks_domain + "/";
  245 + }
  246 + detailsContent.setAttr_tags(CommonUtils.isEmpty(detailsContent.getAttr_tags())?"":detailsContent.getAttr_tags());
  247 + model.addAttribute("images", images);
  248 + model.addAttribute("audio", detailsContent);
  249 + model.addAttribute("yuming", yuming);
  250 +
  251 + return "page/audioDetail.html";
  252 + }
218 253 }
... ...
src/main/java/com/cnlive/shenhe/entity/ShyAudio.java
... ... @@ -103,12 +103,12 @@ public class ShyAudio {
103 103 private Integer duration;
104 104  
105 105 /**
106   - * 上传人
  106 + * 审核员名称
107 107 */
108 108 private String uploader;
109 109  
110 110 /**
111   - * 联系方式
  111 + * 音频上传人联系方式
112 112 */
113 113 @Column(name="contactInfo")
114 114 private String contactInfo;
... ... @@ -140,7 +140,7 @@ public class ShyAudio {
140 140 private Integer shenhe_type;
141 141  
142 142 /**
143   - * 0.未审核,1:已审核,2.拒绝
  143 + * 审核状态:0-未审核 1-已通过 2-拒绝 3-自动审核失败
144 144 */
145 145 private Integer state;
146 146  
... ... @@ -157,7 +157,7 @@ public class ShyAudio {
157 157 private Date updateTime;
158 158  
159 159 /**
160   - * :未领取;1:已领取
  160 + * 领取状态:0-未领取 1-已领取
161 161 */
162 162 private Integer receive;
163 163  
... ... @@ -488,7 +488,7 @@ public class ShyAudio {
488 488 /**
489 489 * 获取上传人
490 490 *
491   - * @return uploader - 上传人
  491 + * @return uploader - 审核员名称
492 492 */
493 493 public String getUploader() {
494 494 return uploader;
... ... @@ -497,25 +497,25 @@ public class ShyAudio {
497 497 /**
498 498 * 设置上传人
499 499 *
500   - * @param uploader 上传人
  500 + * @param uploader 审核员名称
501 501 */
502 502 public void setUploader(String uploader) {
503 503 this.uploader = uploader;
504 504 }
505 505  
506 506 /**
507   - * 获取联系方式
  507 + * 获取音频上传人联系方式
508 508 *
509   - * @return contactInfo - 联系方式
  509 + * @return contactInfo - 音频上传人联系方式
510 510 */
511 511 public String getContactInfo() {
512 512 return contactInfo;
513 513 }
514 514  
515 515 /**
516   - * 设置联系方式
  516 + * 设置音频上传人联系方式
517 517 *
518   - * @param contactInfo 联系方式
  518 + * @param contactInfo 音频上传人联系方式
519 519 */
520 520 public void setContactInfo(String contactInfo) {
521 521 this.contactInfo = contactInfo;
... ... @@ -612,18 +612,18 @@ public class ShyAudio {
612 612 }
613 613  
614 614 /**
615   - * 获取0.未审核,1:已审核,2.拒绝
  615 + * 获取审核状态:0-未审核 1-已通过 2-拒绝 3-自动审核失败
616 616 *
617   - * @return state - 0.未审核,1:已审核,2.拒绝
  617 + * @return state - 审核状态:0-未审核 1-已通过 2-拒绝 3-自动审核失败
618 618 */
619 619 public Integer getState() {
620 620 return state;
621 621 }
622 622  
623 623 /**
624   - * 设置0.未审核,1:已审核,2.拒绝
  624 + * 设置审核状态:0-未审核 1-已通过 2-拒绝 3-自动审核失败
625 625 *
626   - * @param state 0.未审核,1:已审核,2.拒绝
  626 + * @param state 审核状态:0-未审核 1-已通过 2-拒绝 3-自动审核失败
627 627 */
628 628 public void setState(Integer state) {
629 629 this.state = state;
... ... @@ -666,18 +666,18 @@ public class ShyAudio {
666 666 }
667 667  
668 668 /**
669   - * 获取:未领取;1:已领取
  669 + * 获取领取状态:0-未领取 1-已领取
670 670 *
671   - * @return receive - :未领取;1:已领取
  671 + * @return receive - 领取状态:0-未领取 1-已领取
672 672 */
673 673 public Integer getReceive() {
674 674 return receive;
675 675 }
676 676  
677 677 /**
678   - * 设置:未领取;1:已领取
  678 + * 设置领取状态:0-未领取 1-已领取
679 679 *
680   - * @param receive :未领取;1:已领取
  680 + * @param receive 领取状态:0-未领取 1-已领取
681 681 */
682 682 public void setReceive(Integer receive) {
683 683 this.receive = receive;
... ...
src/main/java/com/cnlive/shenhe/serviceImpl/AudioServiceImpl.java
... ... @@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSONObject;
4 4 import com.cnlive.shenhe.bean.ErrorEnum;
5 5 import com.cnlive.shenhe.bean.ResponseBean;
6 6 import com.cnlive.shenhe.entity.ShyAudio;
  7 +import com.cnlive.shenhe.entity.ShyUsers;
  8 +import com.cnlive.shenhe.entity.ShyVideos;
7 9 import com.cnlive.shenhe.mapper.ShyAudioMapper;
  10 +import com.cnlive.shenhe.mapper.ShyUsersMapper;
8 11 import com.cnlive.shenhe.utils.AuditPass;
9 12 import com.cnlive.shenhe.utils.CommonConst;
10 13 import com.cnlive.shenhe.utils.CommonUtils;
... ... @@ -36,6 +39,9 @@ public class AudioServiceImpl {
36 39 @Autowired
37 40 AuditPass Pass;
38 41  
  42 + @Autowired
  43 + ShyUsersMapper shyUsersMapper;
  44 +
39 45 public ShyAudio getAudioMsg(String audioId) {
40 46 return shyAudioMapper.getAudioMsg(audioId);
41 47 }
... ... @@ -214,4 +220,23 @@ public class AudioServiceImpl {
214 220 PageInfo<ShyAudio> pageInfo = new PageInfo<>(shyAudioList);
215 221 return pageInfo;
216 222 }
  223 +
  224 +
  225 + public ShyAudio getDetailsContent(Integer id) {
  226 + ShyAudio shyAudio = shyAudioMapper.selectByPrimaryKey(id);
  227 + if (shyAudio.getState() != CommonConst.AUDIT_INTT) {
  228 + String updater = CommonUtils.isEmpty(shyAudio.getUploader()) || "null".equals(shyAudio.getUploader())? "白名单":shyAudio.getUploader();
  229 + String auditor_id = shyAudio.getAuditor_id();
  230 + if (CommonUtils.isNotEmpty(auditor_id)) {
  231 + ShyUsers user = new ShyUsers();
  232 + user.setUser_id(auditor_id);
  233 + user = shyUsersMapper.selectOne(user);
  234 + String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail())? "" : user.getEmail();
  235 + String userName = CommonUtils.isEmpty(user.getUsername()) ? email: user.getUsername();
  236 + updater = userName;
  237 + }
  238 + shyAudio.setUploader(updater);
  239 + }
  240 + return shyAudio;
  241 + }
217 242 }
... ...
src/main/resources/templates/page/audioDetail.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org">
  3 +<head th:replace="../templates/common/head::head"></head>
  4 +<body class="skin-blue sidebar-mini">
  5 +
  6 +<div class="wrapper">
  7 + <div th:replace="../templates/common/frame::frame"></div>
  8 +
  9 + <div class="content-wrapper" style="min-height: 788px;">
  10 + <section class="content-header">
  11 + <h1>
  12 + 音频详情
  13 + </h1>
  14 + <ol class="breadcrumb">
  15 + <li>首页</li>
  16 + <li class="active">音频审核</li>
  17 + </ol>
  18 + </section>
  19 + <section class="content">
  20 + <div class="row">
  21 + <!-- right column -->
  22 + <div class="col-xs-12">
  23 + <div class="box box-info">
  24 + <div class="box-body form-horizontal">
  25 + <div class="col-sm-12">
  26 + <div class="form-group" style="margin-bottom: 6px;">
  27 + <div style=" margin-left: -5%;">
  28 + <label for="activity_id" class="control-label col-sm-2">音频id:</label>
  29 + <div class="col-sm-2">
  30 + <h5 id="activity_id" th:text="${audio.audioId}">
  31 + 82_7d92ef8192364d4891820426329801bd</h5>
  32 + </div>
  33 + </div>
  34 + <div style="margin-left: -14%;">
  35 + <label for="spid" class="control-label col-sm-2">spId:</label>
  36 + <div class="col-sm-2">
  37 + <h5 th:text="${audio.spId}">视讯中国</h5>
  38 + </div>
  39 + </div>
  40 + <div>
  41 + <label for="createTime" class="control-label col-sm-2"
  42 + style="margin-left: -5%">音频上传时间:</label>
  43 + <div class="col-sm-2">
  44 + <h5 th:text="${#dates.format(audio.uploadTime, 'yyyy-MM-dd HH:mm:ss')}">
  45 + 2017-07-12 10:16:50</h5>
  46 + </div>
  47 + </div>
  48 + </div>
  49 + <hr>
  50 + </div>
  51 + <div id="tabContents" class="tab-content">
  52 + <div id="tabHome" class="tab-pane fade in active padding-t-15">
  53 + <div class="col-sm-5">
  54 + <div class="form-group">
  55 + <div>
  56 + <label for="video_cover_img" class="control-label col-sm-4"
  57 + style="margin-left: -3%">封面图:</label>
  58 + </div>
  59 + <div style="height:110px; margin-left: 17%;">
  60 + <div class="col-sm-4 popover-options " th:style="${imgsStat.index==0}? 'float:left;margin-right: 43px;margin-left: -18px;':''" th:if="${imgsStat.index<2}"
  61 + th:each="imgs :${images}">
  62 + <a href="#">
  63 + <img th:src="@{${imgs.value}}" height="100px" alt="封面图">
  64 + </a>
  65 + <b th:text="${imgs.key}"></b>
  66 + </div>
  67 + </div>
  68 + <div style="height: 110px;margin-top: 15px;">
  69 + <label for="" class="control-label col-sm-4"
  70 + style="width: 26.3%;"></label>
  71 + <div class="col-sm-4 popover-options " th:style="${imgsStat.index==2}?'float:left;margin-right: 15px;':'float:left;'"
  72 + th:if="${imgsStat.index>=2&&imgsStat.index<4}"
  73 + th:each="imgs :${images}">
  74 + <a href="#">
  75 + <img th:src="@{${imgs.value}}" height="100px" alt="封面图">
  76 + </a>
  77 + <b th:text="${imgs.key}"></b>
  78 + </div>
  79 + </div>
  80 + <div style="height: 110px;margin-top: 15px;">
  81 + <label for="" class="control-label col-sm-4"
  82 + style="width: 26.3%;"></label>
  83 + <div class="col-sm-4 popover-options" th:style="${imgsStat.index==4}?'float:left;margin-right: 15px;':'float:left;'"
  84 + th:if="${imgsStat.index>=4}"
  85 + th:each="imgs :${images}">
  86 + <a href="#">
  87 + <img th:src="@{${imgs.value}}" height="100px" alt="封面图">
  88 + </a>
  89 + <b th:text="${imgs.key}"></b>
  90 + </div>
  91 + </div>
  92 + </div>
  93 + <div class="form-group" style="margin-bottom: 6px;">
  94 + <label for="audioTitle" class="control-label col-sm-4">音频标题:</label>
  95 + <div class="col-sm-8">
  96 + <h5 style="font-size:1.5em; font-weight: bold;"
  97 + th:text="${audio.audioTitle}">标题</h5>
  98 + </div>
  99 + </div>
  100 + <div class="form-group intro" style="margin-bottom: 6px;">
  101 + <label for="audioIntro" class="control-label col-sm-4">音频简介:</label>
  102 + <div class="col-sm-8">
  103 + <h5 style="font-size:1.5em; font-weight: bold; width:100%"
  104 + th:text="${audio.audioIntro}">简介</h5>
  105 + </div>
  106 + </div>
  107 + <div class="form-group">
  108 + <label for="audioTag" class="control-label col-sm-4">音频标签:</label>
  109 + <div class="col-sm-8">
  110 + <h5 style="font-size:1.5em; font-weight: bold;" id="audioTag"
  111 + th:text="${audio.audioTag}">音频标签</h5>
  112 + </div>
  113 + </div>
  114 + <div class="form-group">
  115 + <label for="audioKeyword" class="control-label col-sm-4">音频关键字:</label>
  116 + <div class="col-sm-8">
  117 + <h5 style="font-size:1.5em; font-weight: bold;"
  118 + th:text="${audio.audioKeyword}">关键字</h5>
  119 + </div>
  120 + </div>
  121 + <hr>
  122 +
  123 + <div class="form-group">
  124 + <div class="col-sm-12">
  125 + <div class="modal-body" id="videoBox" style="height:450px">
  126 + <script type="text/javascript"
  127 + src="//resweb.cnliveimg.com/sites/common/cnlive_video.min.js"></script>
  128 + <script th:inline="javascript">
  129 + var audioUrl = [[${audio.audioUrl}]];
  130 + cnliveVideo.init({
  131 + "eleId": "videoBox",
  132 + "width": 800,//指定放入指定ID元素内
  133 + "height": 450,
  134 + "model": 3,
  135 + "autoplay": 1,
  136 + "currRate": 3,
  137 + "cover": "http://wjjtest.ys2.cnliveimg.com/802/img/2020/0608/ff80808171053574017292e3053d77a3/000001.jpg",
  138 + "videoUrl_3": audioUrl
  139 + });
  140 + </script>
  141 +
  142 + </div>
  143 + </div>
  144 + </div>
  145 + <br>
  146 + <hr>
  147 +
  148 + <div class="form-group">
  149 + <label for="state" class="control-label col-sm-3">审核状态:</label>
  150 + <div class="col-sm-9">
  151 + <h5 th:if="${audio.state==0}">未审核</h5>
  152 + <h5 th:if="${audio.state==1}">已审 通过</h5>
  153 + <h5 th:if="${audio.state==2}">拒绝</h5>
  154 + <h5 th:if="${audio.state==3}">自动审核失败</h5>
  155 + </div>
  156 + </div>
  157 +
  158 + <!--<div class="form-group ">-->
  159 + <!--<label for="state" class="control-label col-sm-3">审核日志:</label>-->
  160 + <!--<div class="col-sm-9 ">-->
  161 + <!--<h5 id="state">1:系统审核;2017-07-12 11:54:01;点播审核可信,系统自动审核-->
  162 + <!--<br></h5>-->
  163 + <!--</div>-->
  164 + <!--</div>-->
  165 +
  166 +
  167 + <div class="form-group ">
  168 + <label for="auditor_id" class="control-label col-sm-3">审核员:</label>
  169 + <div class="col-sm-9 ">
  170 + <h5 id="auditor_id" th:text="${audio.uploader}">系统审核 </h5>
  171 + </div>
  172 + </div>
  173 +
  174 +
  175 + <div class="form-group file">
  176 + <label class="control-label col-sm-3" for="attr_tags">常用审核意见:</label>
  177 +
  178 + <div class="col-sm-9">
  179 + <select class="form-control select2 select2-hidden-accessible"
  180 + onchange="change()" multiple="" data-placeholder="选择常用审核意见,可多选"
  181 + name="attr_tags[]" id="attr_tags" style="width: 100%;"
  182 + tabindex="-1" aria-hidden="true">
  183 + <option value="其他" th:selected="${audio.attr_tags.indexOf('其他')!=-1}">其他</option>
  184 + <option value="不符" th:selected="${audio.attr_tags.indexOf('不符')!=-1}">不符</option>
  185 + <option value="规范" th:selected="${audio.attr_tags.indexOf('规范')!=-1}">规范</option>
  186 + <option value="建议" th:selected="${audio.attr_tags.indexOf('建议')!=-1}">建议</option>
  187 + <option value="错字" th:selected="${audio.attr_tags.indexOf('错字')!=-1}">错字</option>
  188 + <option value="要求" th:selected="${audio.attr_tags.indexOf('要求')!=-1}">要求</option>
  189 + <option value="图片" th:selected="${audio.attr_tags.indexOf('图片')!=-1}">图片</option>
  190 + <option value="敏感" th:selected="${audio.attr_tags.indexOf('敏感')!=-1}">敏感</option>
  191 + <option value="视频" th:selected="${audio.attr_tags.indexOf('视频')!=-1}">视频</option>
  192 + <option value="提交" th:selected="${audio.attr_tags.indexOf('提交')!=-1}">提交</option>
  193 + </select>
  194 + </div>
  195 + </div>
  196 + <div class="form-group">
  197 + <label for="msg" class="control-label col-sm-3">审核备注</label>
  198 + <div class="col-sm-9">
  199 + <textarea name="msg" id="msg" cols="5" rows="5" class="form-control"
  200 + th:text="${audio.msg}"></textarea>
  201 + </div>
  202 + </div>
  203 + </div>
  204 + </div>
  205 +
  206 + <!--不能删,此处已隐藏,起一个格式作用,使通过,拒绝,返回列表能顶到底部-->
  207 + <div class="form-group">
  208 + <input type="text" hidden="hidden" id="video_id" value="">
  209 + </div>
  210 +
  211 + <div class="box-footer">
  212 + <div class="col-sm-5">
  213 + <button type="button" class="btn btn-danger pull-right" id="reject">拒 绝</button>
  214 + </div>
  215 +
  216 + <div class="col-sm-1" style="margin-right:26px;">
  217 + <button type="button" class="btn btn-primary pull-right" id="pass">通 过</button>
  218 + </div>
  219 +
  220 + <div class="col-sm-1">
  221 + <button type="submit" class="btn btn-info pull-right" id="back">返回列表</button>
  222 + </div>
  223 + </div>
  224 +
  225 + <!-- 拒绝确认弹出框 -->
  226 + <div class="modal" id="action_note" role="dialog" aria-labelledby="myModalLabel">
  227 + <div class="modal-dialog">
  228 + <div class="modal-content">
  229 + <div class="modal-header">
  230 + <button type="button" class="close" data-dismiss="modal"> ×</button>
  231 + <h4 class="modal-title">温馨提示</h4>
  232 + </div>
  233 + <div class="modal-body" id="msg2"></div>
  234 + <div class="modal-footer">
  235 + <button type="button" class="btn btn-default " data-dismiss="modal"
  236 + id="action_note_no">取消
  237 + </button>
  238 + <button type="button" class="btn btn-primary" id="action_note_yes">确认
  239 + </button>
  240 + <input type="hidden" name="action_note_type" id="action_note_type"
  241 + value="">
  242 + <input type="hidden" name="action_note_id" id="action_note_id" value="">
  243 + </div>
  244 + </div>
  245 + </div>
  246 + </div>
  247 + <script th:inline="javascript">
  248 + //使常用审核意见回显到下方的备注中
  249 + function change() {
  250 +// $("#msg").val($("#attr_tags").val());
  251 + }
  252 +
  253 + /*拒绝*/
  254 + $("#reject").click(function () {
  255 + var attr_tags = $('#attr_tags').val();//获取标签属性信息
  256 + var msg = $('#msg').val(); //获取审核msg
  257 + if (attr_tags == null && msg == '') { //两个都为空 不行
  258 + alert('请输入审核备注或者常用审核意见!');
  259 + return false;
  260 + }
  261 + //拒绝弹出框
  262 + $('#msg2').html('您确认拒绝此条点播吗?');
  263 + $('#action_note').show();
  264 + $("#action_note_type").val('reject');
  265 + $("#action_note_id").val();
  266 + });
  267 +
  268 + //弹出框取消
  269 + $("#action_note_no, .close").click(function () {
  270 + $("#action_note").hide();
  271 + });
  272 + //弹出框确认
  273 + $("#action_note_yes").click(function () {
  274 + var id = [[${audio.id}]];
  275 + var activity_id = [[${audio.audioId}]];
  276 + var state = 4;
  277 + var row_id = $("#video_id").val();
  278 + var attr_tags = $('#attr_tags').val();//获取标签属性信息
  279 + var msg = $('#msg').val(); //获取审核msg
  280 + var callback = [[${audio.callback}]];
  281 + if (attr_tags == null && msg == '') { //两个都为空 不行
  282 + alert('请输入审核备注或者常用审核意见!');
  283 + return false;
  284 + }
  285 + if (typeof(row_id) == "undefined") {
  286 + return false;
  287 + }
  288 + //拒绝
  289 + $("#action_note").hide();//隐藏弹出框
  290 + var action_note_type = $("#action_note_type").val();
  291 + if (action_note_type == 'reject') {
  292 + $.post("/videos/shenheVideo", {
  293 + id: id,
  294 + activity_id: activity_id,
  295 + state: state,
  296 + attr_tags: attr_tags+"",
  297 + msg: msg,
  298 + callback: callback
  299 + },
  300 + function (data) {
  301 + if (data.errorCode == 0) {
  302 + alert(data.errorMessage);
  303 + self.location = document.referrer;
  304 + } else {
  305 + alert(data.errorMessage);
  306 + }
  307 + })
  308 + }
  309 + });
  310 +
  311 + /*通过*/
  312 + $("#pass").click(function () {
  313 + var id = [[${audio.id}]];
  314 + var state = 3;
  315 + var activity_id = [[${audio.audioId}]];
  316 + var attr_tags = $('#attr_tags').val();//获取标签属性信息
  317 + var msg = $('#msg').val(); //获取审核msg
  318 + var callback = [[${audio.callback}]];
  319 + if (typeof(activity_id) == "undefined") {
  320 + return false;
  321 + }
  322 + if (confirm("您确认通过此条点播吗?")) {
  323 + $.post("/videos/shenheVideo", {
  324 + id: id,
  325 + activity_id: activity_id,
  326 + state: state,
  327 + attr_tags: attr_tags+"",
  328 + msg: msg,
  329 + callback: callback
  330 + },
  331 + function (data) {
  332 + if (data.errorCode == 0) {
  333 + alert(data.errorMessage);
  334 + self.location = document.referrer;
  335 + } else {
  336 + alert(data.errorMessage);
  337 + }
  338 + });
  339 + }
  340 + });
  341 +
  342 + /*返回列表 */
  343 +
  344 + $("#back").click(function () {
  345 + // window.location.href = '/videos/page';
  346 + self.location = document.referrer;
  347 + });
  348 +
  349 + </script>
  350 + <!-- Select2 todo xiaohu -->
  351 + <script src="../../static/js/select2.full.min.js"></script>
  352 + <!-- Select2 todo xiaohu -->
  353 + <link rel="stylesheet" href="../../static/css/select2.min.css">
  354 + <link rel="stylesheet" href="../../static/css/AdminLTE.min.css">
  355 + <script>
  356 + $(function () {
  357 + $(".select2").select2();
  358 + });
  359 + </script>
  360 + </div>
  361 + </div>
  362 + </div>
  363 + </div>
  364 + </div>
  365 + </section>
  366 + </div>
  367 + <footer th:replace="../templates/common/foot::foot"></footer>
  368 + <div class="control-sidebar-bg" style="position: fixed; height: auto;"></div>
  369 +</div>
  370 +<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
  371 +<script type="text/javascript">
  372 + $('div.alert').not('.alert-danger').delay(3000).slideUp(300);
  373 +</script>
  374 +
  375 +<!-- AdminLTE App -->
  376 +<script src="../../static/js/app.min.js"></script>
  377 +<!-- AdminLTE for demo purposes -->
  378 +<script src="../../static/js/sidebar.js"></script>
  379 +
  380 +</body>
  381 +</html>
0 382 \ No newline at end of file
... ...