451 lines
17 KiB
Plaintext
451 lines
17 KiB
Plaintext
@using CRM.Core.Model.Entity
|
||
@model CRM.Core.DTO.LivePlan.LivePlanInfoDto
|
||
@using Core.Web.WebHelper
|
||
@{
|
||
ViewBag.Title = "Index";
|
||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||
}
|
||
<style>
|
||
.layui-form-label {
|
||
width: 10%
|
||
}
|
||
|
||
.layui-input-block {
|
||
margin-left: 0;
|
||
}
|
||
|
||
.layui-laydate-content > .layui-laydate-list {
|
||
padding-bottom: 0px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.layui-laydate-content > .layui-laydate-list > li {
|
||
width: 50%
|
||
}
|
||
|
||
.merge-box .scrollbox .merge-list {
|
||
padding-bottom: 5px;
|
||
}
|
||
|
||
.layui-input-inline {
|
||
padding: 9px 0px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.layui-form-label {
|
||
color: #ff6a00;
|
||
}
|
||
|
||
.dashitem {
|
||
border-bottom: dashed 1px #999999;
|
||
}
|
||
|
||
.x-body {
|
||
display: flex;
|
||
justify-content: space-between
|
||
}
|
||
|
||
.addlog {
|
||
width: 60%;
|
||
}
|
||
|
||
.listbtn {
|
||
display: inline-block;
|
||
height: 32px;
|
||
line-height: 32px;
|
||
white-space: nowrap;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
cursor: pointer;
|
||
padding: 0px 15px;
|
||
border-width: initial;
|
||
border-style: none;
|
||
border-color: initial;
|
||
border-image: initial;
|
||
border-radius: 2px;
|
||
border-width: 1px;
|
||
border-style: solid;
|
||
border-color: #7ac4ea;
|
||
margin: 2px;
|
||
}
|
||
|
||
.logcontent {
|
||
width: 30%;
|
||
background: #fff;
|
||
display: block;
|
||
background: #f7f5f5;
|
||
}
|
||
|
||
.layui-form-label {
|
||
width: 100px;
|
||
}
|
||
|
||
.layui-input-inline {
|
||
width: 80% !important;
|
||
}
|
||
</style>
|
||
<script type="text/javascript" charset="gbk" src="~/ueditor/ueditor.config.js"></script>
|
||
<script type="text/javascript" charset="gbk" src="~/ueditor/ueditor.all.js"></script>
|
||
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
|
||
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
|
||
@*
|
||
<script type="text/javascript" charset="gbk" src="~/Scripts/ueditor/lang/zh-cn/zh-cn.js"></script>*@
|
||
<div class="x-body">
|
||
<div class="addlog">
|
||
<form class="layui-form" action="" lay-filter="formTest">
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播主题:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.title
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播用途:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.usetypeStr
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">授权部门:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.deptments
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">业务部:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.DeptName
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播场景:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.scene
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">类型:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.scenetypeStr
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播号:</label>
|
||
<div class="layui-input-inline">
|
||
@Html.Raw(Model.sceneidStr)
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播时间:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.zbtime
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播时长:</label>
|
||
<div class="layui-input-inline">
|
||
@(Model.duration/60)分钟
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">留痕文件:</label>
|
||
<div class="layui-input-inline">
|
||
@{
|
||
if (string.IsNullOrEmpty(Model.files))
|
||
{
|
||
|
||
<span class="red">文件为空</span>
|
||
}
|
||
else
|
||
{
|
||
var arr = Model.files.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
||
for (var i = 0; i < arr.Length; i++)
|
||
{
|
||
<div>@(i)、@Html.Raw((arr[i]))</div>
|
||
|
||
}
|
||
}
|
||
}
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">主播:</label>
|
||
<div class="layui-input-inline">
|
||
@Model.lecturer
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播内容:</label>
|
||
<div class="layui-input-inline">
|
||
@Html.Raw(Model.content)
|
||
</div>
|
||
</div>
|
||
@if (!string.IsNullOrEmpty(Model.zhiboLink))
|
||
{
|
||
<div class="layui-form-item dashitem">
|
||
<label class="layui-form-label">直播间链接:</label>
|
||
<div class="layui-input-inline">
|
||
@Html.Raw(Model.zhiboLink)
|
||
</div>
|
||
</div>
|
||
}
|
||
@if (ViewBag.checktype == 1)
|
||
{
|
||
if (Model.beforeStatus == (int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.提审)
|
||
{
|
||
<div class="wrap3">
|
||
|
||
<div style="padding:10px;">
|
||
<script id="container" name="memo" type="text/plain" style="width: 100%; height: 170px;"></script>
|
||
<div id="selectChannel" style="margin-top: 18px;"></div>
|
||
<div style="padding-top:10px;">
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.beforeStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.通过))">通过</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.beforeStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.驳回))">驳回</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
var ue = UE.getEditor('container', {
|
||
toolbars: [['source', 'link', 'bold', 'forecolor', 'simpleupload', 'insertimage', 'undo', 'removeformat']], autoHeightEnabled: false, autoFloatEnabled: false, retainOnlyLabelPasted: true, filterTxtRules: true, uploadUrl: '/File/UploadFile'
|
||
});
|
||
</script>
|
||
}
|
||
}
|
||
else if (ViewBag.checktype == 2)
|
||
{
|
||
if (Model.beforeStatus == (int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.通过 && (Model.duringStatus == null || Model.duringStatus == (int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.未检))
|
||
{
|
||
<div class="wrap3">
|
||
<div style="padding:10px;">
|
||
<script id="container" name="memo" type="text/plain" style="width: 100%; height: 170px;"></script>
|
||
<div id="selectChannel" style="margin-top: 18px;"></div>
|
||
<div style="padding-top:10px;">
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.duringStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.正常))">正常</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.duringStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.瑕疵))">瑕疵</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.duringStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.未直播))">未直播</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
var ue = UE.getEditor('container', {
|
||
toolbars: [['source', 'link', 'bold', 'forecolor', 'simpleupload', 'insertimage', 'undo', 'removeformat']], autoHeightEnabled: false, autoFloatEnabled: false, retainOnlyLabelPasted: true, filterTxtRules: true, uploadUrl: '/File/UploadFile'
|
||
});
|
||
</script>
|
||
}
|
||
}
|
||
else if (ViewBag.checktype == 3)
|
||
{
|
||
if (Model.beforeStatus == (int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.通过 && (Model.afterStatus == null || Model.afterStatus == (int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.提审))
|
||
{
|
||
<div class="wrap3">
|
||
<div style="padding:10px;">
|
||
<script id="container" name="memo" type="text/plain" style="width: 100%; height: 170px;"></script>
|
||
<div id="selectChannel" style="margin-top: 18px;"></div>
|
||
<div style="padding-top:10px;">
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.afterStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.通过))">通过</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.afterStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.瑕疵))">瑕疵</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.afterStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.违规))">违规</a>
|
||
<a class="listbtn" onclick="ComplianceStatusSubmit(@ViewBag.checktype,@Model.id,@Model.afterStatus,@((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.驳回))">驳回</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
var ue = UE.getEditor('container', {
|
||
toolbars: [['source', 'link', 'bold', 'forecolor', 'simpleupload', 'insertimage', 'undo', 'removeformat']], autoHeightEnabled: false, autoFloatEnabled: false, retainOnlyLabelPasted: true, filterTxtRules: true, uploadUrl: '/File/UploadFile'
|
||
});
|
||
</script>
|
||
}
|
||
}
|
||
</form>
|
||
</div>
|
||
<div class="logcontent">
|
||
<table class="layui-table">
|
||
<tr class="header">
|
||
<td style="width:40px;">id</td>
|
||
<td>时间</td>
|
||
<td>操作人</td>
|
||
<td>操作</td>
|
||
<td>说明</td>
|
||
</tr>
|
||
<tbody class="Rptlist">
|
||
@{
|
||
var datalist = ViewBag.LogList as List
|
||
<CRM.Core.DTO.LivePlan.LiveSystemPlanLogDto>
|
||
;
|
||
}
|
||
@if (datalist != null && datalist.Count > 0)
|
||
{
|
||
foreach (var d in datalist)
|
||
{
|
||
<tr class="trbg" onmouseover="this.className='trbgOver';" onmouseout="this.className='trbg';">
|
||
<td>@d.id</td>
|
||
<td>@d.ctime</td>
|
||
<td>@d.operatorname</td>
|
||
<td>@d.operation</td>
|
||
<td>
|
||
@if (!string.IsNullOrEmpty(d.memo))
|
||
{
|
||
<div id="memo_@d.id" style="display:none">
|
||
<div style="background:#fff; padding:10px; line-height:27px; font-size:14px; ">
|
||
@Html.Raw(d.memo)
|
||
</div>
|
||
</div>
|
||
<a class="red" href="javascript:showmemo(@d.id);" style="color:red">查看</a>
|
||
}
|
||
</td>
|
||
</tr>
|
||
}
|
||
}
|
||
</tbody>
|
||
</table>
|
||
<script type="text/javascript">
|
||
function showmemo(id) {
|
||
layer.open({
|
||
title: '详细',
|
||
type: 1,
|
||
area: ['80%', '80%'],
|
||
content: $('#memo_' + id).html()
|
||
});
|
||
}
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<script src="~/Scripts/layui_ext/xm-select/xm-select.js"></script>
|
||
<script>
|
||
var optionsChannel = {
|
||
el: '#selectChannel',
|
||
name: 'txt_channel',//表单的name属性
|
||
layVerify: '',
|
||
tips: '请选择驳回理由',
|
||
toolbar: {//工具条,全选,清空,反选,自定义
|
||
show: true,
|
||
list: [
|
||
'CLEAR'
|
||
]
|
||
}, on: function (data) {
|
||
let mydeptid = "";
|
||
for (var i = 0; i < data.arr.length; i++) {
|
||
mydeptid += data.arr[i].value + ",";
|
||
}
|
||
mydeptid = mydeptid.substring(0, mydeptid.length - 1);
|
||
var editor = UE.getEditor("container");
|
||
editor.ready(function () {
|
||
editor.setContent(mydeptid);
|
||
});
|
||
},
|
||
data: []
|
||
};
|
||
var selectChannel = xmSelect.render(optionsChannel);
|
||
var allChannel = @Html.Raw(ViewBag.AllChannel);
|
||
selectChannel.update({ data: allChannel });
|
||
function showmemo(id) {
|
||
layer.open({
|
||
title: '详细',
|
||
type: 1,
|
||
area: ['80%', '80%'],
|
||
content: $('#memo_' + id).html()
|
||
});
|
||
}
|
||
function ComplianceStatusSubmit(checktype, id, status, tostatus) {
|
||
var memo = UE.getEditor('container').getContent();
|
||
var content = "通过?";
|
||
|
||
if (checktype == 1) {
|
||
if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckBeforeStatus.驳回)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("驳回原因不能为空");
|
||
return false;
|
||
}
|
||
|
||
content = "要驳回?";
|
||
};
|
||
}else if (checktype == 2) {
|
||
if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.瑕疵)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("瑕疵原因不能为空");
|
||
return false;
|
||
}
|
||
content = "瑕疵?";
|
||
} else if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckDuringStatus.未直播)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("原因不能为空");
|
||
return false;
|
||
}
|
||
content = "未直播?";
|
||
}
|
||
|
||
}
|
||
else if (checktype == 3) {
|
||
if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.瑕疵)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("瑕疵原因不能为空");
|
||
return false;
|
||
}
|
||
content = "瑕疵?";
|
||
} else if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.违规)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("违规原因不能为空");
|
||
return false;
|
||
}
|
||
content = "违规?";
|
||
}else if (tostatus == @((int)CRM.Core.DTO.LivePlan.ComplianceCheckAfterStatus.驳回)) {
|
||
|
||
if (memo == "" || container == null) {
|
||
layer.alert("驳回原因不能为空");
|
||
return false;
|
||
}
|
||
content = "驳回?";
|
||
}
|
||
|
||
}
|
||
layer.open({
|
||
title: '操作',
|
||
content: content,
|
||
btn: ['确定', '取消'],
|
||
yes: function (index, layero) {
|
||
layer.load();
|
||
layer.close(index);
|
||
$.ajax({
|
||
type: "POST",
|
||
cache: false,
|
||
url: '/LivePlan/ComplianceStatusSubmit',
|
||
data: { checktype: checktype, id: id, status: status, tostatus: tostatus, memo: memo },
|
||
success: function (e) {
|
||
debugger
|
||
console.log(e);
|
||
if (e != null) {
|
||
if (e.result) {
|
||
layer.closeAll('loading');
|
||
layer.msg('成功');
|
||
location.reload();
|
||
parent.TableReload();
|
||
}
|
||
else {
|
||
layer.closeAll('loading');
|
||
layer.msg(e.msg);
|
||
}
|
||
}
|
||
},
|
||
error: function (e) {
|
||
layer.closeAll('loading');
|
||
layer.msg('接口异常');
|
||
}
|
||
})
|
||
},
|
||
no: function (index, layero) {
|
||
layer.closeAll('loading');
|
||
},
|
||
cancel: function () {
|
||
layer.closeAll('loading');
|
||
}
|
||
});
|
||
};
|
||
</script> |