442 lines
20 KiB
Plaintext
442 lines
20 KiB
Plaintext
@using Core.Web.WebHelper
|
||
@using CRM.Core.Model.Entity
|
||
@{
|
||
ViewBag.Title = "Index";
|
||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||
}
|
||
|
||
<div class="layui-form">
|
||
<div class="x-body">
|
||
<form class="layui-form">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">类型:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="NewsTypeShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">标题:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="TitleShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">链接:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="ContentShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">附件:</label>
|
||
<div class="layui-input-inline">
|
||
<a href="#" id="atturl" target="_blank" class="layui-form-mid" style="color:blue">下载</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">内容:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="RemarkShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">渠道:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="ChannelsShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">作者:</label>
|
||
<div class="layui-input-block">
|
||
<span class="layui-form-mid" id="AuthorShow"></span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">审核:</label>
|
||
<div class="layui-input-block">
|
||
<select name="Status" id="Status" lay-verify="required" lay-filter="select_status">
|
||
<option value="0">未审核</option>
|
||
<option value="1">通过</option>
|
||
<option value="-1">未通过</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-form-text" id="txt_Reason" style="display: none;">
|
||
<label class="layui-form-label">驳回理由:</label>
|
||
<div class="layui-input-block">
|
||
<div id="selectReason"></div>
|
||
@*<select name="Reason" id="Reason" lay-verify="required">
|
||
<option value="0">-- 请选择 --</option>
|
||
@foreach (var item in ViewBag.reasons as Dictionary<int, string>)
|
||
{
|
||
<option value="@item.Key">@item.Value</option>
|
||
}
|
||
</select>*@
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item layui-form-text">
|
||
<label class="layui-form-label">备注:</label>
|
||
<div class="layui-input-block">
|
||
<textarea class="layui-textarea" name="AuditRemark" id="AuditRemark"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
@*<div class="layui-inline">
|
||
<label class="layui-form-label">图片说明:</label>
|
||
<div class="layui-input-inline">
|
||
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal" id="uploadAuditImg">上传图片</button> 顶多6张图片
|
||
<input type="hidden" name="ImgListValue" id="ImgListValue" value="" />
|
||
<ul class="imglist" id="imglist"></ul>
|
||
</div>
|
||
</div>*@
|
||
<label class="layui-form-label">审核附件:</label>
|
||
<div class="layui-upload">
|
||
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="uploadAtt">
|
||
<i class="layui-icon layui-icon-upload-drag layui-font-12"></i> 上传附件
|
||
</button>
|
||
<div class="layui-upload-list" style="max-width: 1000px;">
|
||
<table class="layui-table">
|
||
<colgroup>
|
||
<col width="100">
|
||
<col width="100">
|
||
<col width="200">
|
||
<col width="50">
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>文件名</th>
|
||
<th>大小</th>
|
||
<th>上传进度</th>
|
||
<th>操作</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="demoList"></tbody>
|
||
</table>
|
||
</div>
|
||
<input type="hidden" name="ATTACHMENT" id="ATTACHMENT" />
|
||
<br /><span>备注:上传文件支持扩展名:rar .zip .doc .docx .pdf .jpg .png.excel.mp3...</span>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block" style="float: right">
|
||
<input type="hidden" name="Id" id="Id" value="@ViewBag.Id" />
|
||
<button class="layui-btn" lay-submit="" id="audit" lay-filter="audit">提交</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script src="~/Scripts/layui_ext/xm-select/xm-select.js"></script>
|
||
<script>
|
||
var selectRow = {};
|
||
var layer;
|
||
var flow;
|
||
var accessories = [];
|
||
var token;
|
||
var selectRow = @Html.Raw(ViewBag.Model);
|
||
layui.use(['table', 'form', 'layer', 'upload', 'laydate', 'flow', 'element'], function () {
|
||
flow = layui.flow;
|
||
|
||
var table = layui.table;
|
||
var form = layui.form;
|
||
form.render('select');
|
||
layer = layui.layer;
|
||
var upload = layui.upload;
|
||
var laydate = layui.laydate;
|
||
var element = layui.element;
|
||
var File_Server = '@ViewBag.File_Server';
|
||
|
||
var newsTypeTet = "未知";
|
||
if (selectRow.NewsType == "activity") {
|
||
newsTypeTet = "活动";
|
||
}
|
||
else if (selectRow.NewsType == "plan") {
|
||
newsTypeTet = "策划";
|
||
}
|
||
else if (selectRow.NewsType == "ad") {
|
||
newsTypeTet = "推广";
|
||
} else if (selectRow.NewsType == "service") {
|
||
newsTypeTet = "客户服务内容";
|
||
}
|
||
selectReset();
|
||
if (selectRow.Status == -1) {
|
||
$("#txt_Reason").attr('style', 'display:block');
|
||
} else {
|
||
$("#txt_Reason").attr('style', 'display:none');
|
||
}
|
||
$("#TitleShow").html(selectRow.Title);
|
||
$("#NewsTypeShow").html(newsTypeTet);
|
||
$("#TitleShow").html(selectRow.Title);
|
||
$("#ContentShow").html(selectRow.Content);
|
||
if (selectRow.Remark)
|
||
$("#RemarkShow").html(SetKeyWords(selectRow.Remark));
|
||
else
|
||
$("#RemarkShow").html("");
|
||
$("#ChannelsShow").html(selectRow.Channels);
|
||
$("#AuthorShow").html(selectRow.Author);
|
||
if (selectRow.Att != null) {
|
||
$("#atturl").attr("href", selectRow.Att).show();
|
||
}
|
||
else {
|
||
$("#atturl").hide();
|
||
}
|
||
$("#AudtiId").val(selectRow.Id);
|
||
$("#Status").val(selectRow.Status);
|
||
$("#AuditRemark").val(selectRow.AuditRemark);
|
||
form.render();
|
||
form.on('select(select_status)', function (data) {
|
||
if (data.value == -1) {
|
||
$("#txt_Reason").attr('style', 'display:block');
|
||
selectChannel.update({ layVerify:'required'});
|
||
} else {
|
||
$("#txt_Reason").attr('style', 'display:none');
|
||
selectChannel.update({ layVerify: '' });
|
||
}
|
||
})
|
||
form.on('submit(audit)', function (data) {
|
||
//console.log(data.field);
|
||
data.field.ATTACHMENT = JSON.stringify(accessories);
|
||
var imgls = $("#imglist img");
|
||
console.log(imgls);
|
||
var nvalue = "";
|
||
$(imgls).each(function (d, a) {
|
||
if (d == 0)
|
||
nvalue += $(a).attr("src");
|
||
else
|
||
nvalue += "|" + $(a).attr("src");
|
||
});
|
||
console.log(nvalue);
|
||
$("#ImgListValue").val(nvalue);
|
||
data.field.ImgListValue = nvalue;
|
||
if (data.field.Status == -1 && data.field.Reason == "0") {
|
||
layer.msg('请选择驳回理由!', { icon: 2 });
|
||
return false;
|
||
}
|
||
$.r_post('/News/Set', data.field, function (res) {
|
||
if (res.result) {
|
||
layer.msg('操作成功!', { icon: 1 }, function () {
|
||
parent.layer.closeAll();
|
||
parent.TableReload();
|
||
|
||
});
|
||
}
|
||
else {
|
||
layer.msg('操作失败!' + result.retmsg, { icon: 2 });
|
||
}
|
||
});
|
||
return false;
|
||
});
|
||
|
||
//自定义验证规则
|
||
form.verify({
|
||
len: function (value) {
|
||
if (value.length > 200) {
|
||
return '字数太多了!';
|
||
}
|
||
}
|
||
});
|
||
var loading;
|
||
$.ajax({
|
||
type: "GET",
|
||
url: File_Server + "/api/Token?key=7AC51A5F0DE9A13D5FC9960AD45CC8D5",
|
||
success: function (da) {
|
||
token = "Bearer " + da;
|
||
var uploadListIns = upload.render({
|
||
elem: '#uploadAtt'
|
||
, elemList: $('#demoList') //列表元素对象
|
||
//, url: 'https://httpbin.org/post' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
|
||
, url: File_Server + '/Streaming/UploadLargeFile'
|
||
, accept: 'file'
|
||
, headers: { Authorization: token }
|
||
, multiple: true
|
||
, number: 15
|
||
, auto: true
|
||
//, bindAction: '#testListAction'
|
||
, choose: function (obj) {
|
||
var that = this;
|
||
if (accessories && accessories.length > 14) {
|
||
layer.msg('不能上传超过15个文件!', { icon: 2 });
|
||
return;
|
||
}
|
||
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
|
||
|
||
//读取本地文件
|
||
obj.preview(function (index, file, result) {
|
||
if (file.size > 1024 * 1024 * 500) {
|
||
layer.msg('不能上传超过500M的文件!', { icon: 2 });
|
||
delete files[index];
|
||
return;
|
||
}
|
||
var fileSize = (file.size / (1024)) > 1024 ? (file.size / (1024 * 1024)).toFixed(2) + 'MB' :
|
||
(file.size / (1024)).toFixed(1) + 'KB';
|
||
var tr = $(['<tr id="upload-' + index + '">'
|
||
, '<td>' + file.name + '</td>'
|
||
, '<td>' + fileSize + '</td>'
|
||
, '<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
|
||
, '<td>'
|
||
, '<button class="layui-btn layui-btn-xs demo-reload layui-hide" type="button">重传</button>'
|
||
, '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" type="button">删除</button>'
|
||
, '</td>'
|
||
, '</tr>'].join(''));
|
||
|
||
//单个重传
|
||
tr.find('.demo-reload').on('click', function () {
|
||
obj.upload(index, file);
|
||
});
|
||
|
||
//删除
|
||
tr.find('.demo-delete').on('click', function () {
|
||
delete files[index]; //删除对应的文件
|
||
tr.remove();
|
||
var fileIndex = accessories.findIndex(x => x.fileName == file.name);
|
||
accessories.splice(fileIndex, 1);
|
||
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
|
||
});
|
||
|
||
that.elemList.append(tr);
|
||
element.render('progress'); //渲染新加的进度条组件
|
||
});
|
||
}
|
||
, done: function (res, index, upload) { //成功的回调
|
||
var that = this;
|
||
//if(res.code == 0){ //上传成功
|
||
var tr = that.elemList.find('tr#upload-' + index)
|
||
, tds = tr.children();
|
||
//tds.eq(3).html(''); //清空操作
|
||
var file = this.files[index];
|
||
var fileSize = (file.size / (1024)) > 1024 ? (file.size / (1024 * 1024)).toFixed(2) + 'MB' :
|
||
(file.size / (1024)).toFixed(1) + 'KB';
|
||
var data = {
|
||
fileName: file.name,
|
||
fileSize: fileSize,
|
||
fileUrl: res.url,
|
||
uploader: '@Html.Raw(ViewBag.UserName)',
|
||
uploadTime: getNowDate()
|
||
}
|
||
accessories.push(data);
|
||
delete this.files[index]; //删除文件队列已经上传成功的文件
|
||
return;
|
||
//}
|
||
this.error(index, upload);
|
||
}
|
||
, allDone: function (obj) { //多文件上传完毕后的状态回调
|
||
//var data = JSON.stringify(accessories);
|
||
//document.getElementById("ATTACHMENT").value = data;
|
||
}
|
||
, error: function (index, upload) { //错误回调
|
||
var that = this;
|
||
var tr = that.elemList.find('tr#upload-' + index)
|
||
, tds = tr.children();
|
||
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
|
||
}
|
||
, progress: function (n, elem, e, index) { //注意:index 参数为 layui 2.6.6 新增
|
||
element.progress('progress-demo-' + index, n + '%'); //执行进度条。n 即为返回的进度百分比
|
||
}
|
||
});
|
||
}
|
||
})
|
||
});
|
||
function initAccessory() {
|
||
layui.use('element', function () {
|
||
document.getElementById("Accessories").value = JSON.stringify(accessories);
|
||
var element = layui.element;
|
||
var $ = layui.jquery;
|
||
$('#demoList').html("");
|
||
for (var i = 0; i < accessories.length; i++) {
|
||
var accessory = accessories[i];
|
||
if (!accessory) return;
|
||
var tr = $(['<tr id="upload-old-' + accessory.id + '">'
|
||
, '<td>' + accessory.fileName + '</td>'
|
||
, '<td>' + accessory.fileSize + '</td>'
|
||
, '<td><div class="layui-progress" lay-filter="progress-old-' + accessory.id + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
|
||
, '<td>'
|
||
, '<button class="layui-btn layui-btn-xs layui-btn-danger" type="button" onclick="deleteFile(' + accessory.id + ',\'' + accessory.fileName + '\')">删除</button>'
|
||
, '</td>'
|
||
, '</tr>'].join(''));
|
||
$('#demoList').append(tr);
|
||
element.progress('progress-old-' + accessory.id, '100%');
|
||
}
|
||
});
|
||
}
|
||
var keywords = '@ViewBag.KeyWords';
|
||
var HgWords = keywords.split(';');
|
||
var alnn = 0;
|
||
function SetKeyWords(content) {
|
||
$(HgWords).each(function (i, key) {
|
||
if (key) {
|
||
alnn++;
|
||
content = content.replace(key, "<span class='hgguanjianci' id='hgwords_" + alnn + "'>" + key + "</span>");
|
||
}
|
||
});
|
||
return content;
|
||
}
|
||
|
||
function deleteFile(id, fileName) {
|
||
winindex = layer.confirm('是否确认删除【' + fileName + '】?', { icon: 3, title: '提示' }, function (index) {
|
||
var index = accessories.findIndex(x => x.id == id);
|
||
accessories.splice(index, 1);
|
||
Closed();
|
||
initAccessory();
|
||
});
|
||
return false;
|
||
}
|
||
function selectReset() {
|
||
selectRow.SelectReason = !selectRow.SelectReason ? [] : selectRow.SelectReason.split(',');
|
||
initSelectReason(selectRow.SelectReason);
|
||
}
|
||
function initSelectReason(value) {
|
||
console.log(value);
|
||
var allChannel = @Html.Raw(ViewBag.AllReasons);
|
||
var optionsReason = {
|
||
el: '#selectReason',
|
||
name: 'SelectReason',//表单的name属性
|
||
//layVerify: 'required',//必填项
|
||
//layVerType: 'tips',//提示类型 同layui
|
||
tips: '请选择驳回理由',
|
||
toolbar: {//工具条,全选,清空,反选,自定义
|
||
show: true,
|
||
list: [
|
||
'ALL',
|
||
'CLEAR'
|
||
]
|
||
},
|
||
data: allChannel,
|
||
initValue: value
|
||
};
|
||
var selectChannel = xmSelect.render(optionsReason);
|
||
|
||
}
|
||
|
||
const getNowDate = () => {
|
||
var date = new Date();
|
||
var sign2 = ":";
|
||
var year = date.getFullYear() // 年
|
||
var month = date.getMonth() + 1; // 月
|
||
var day = date.getDate(); // 日
|
||
var hour = date.getHours(); // 时
|
||
var minutes = date.getMinutes(); // 分
|
||
var seconds = date.getSeconds() //秒
|
||
var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];
|
||
var week = weekArr[date.getDay()];
|
||
// 给一位数的数据前面加 “0”
|
||
if (month >= 1 && month <= 9) {
|
||
month = "0" + month;
|
||
}
|
||
if (day >= 0 && day <= 9) {
|
||
day = "0" + day;
|
||
}
|
||
if (hour >= 0 && hour <= 9) {
|
||
hour = "0" + hour;
|
||
}
|
||
if (minutes >= 0 && minutes <= 9) {
|
||
minutes = "0" + minutes;
|
||
}
|
||
if (seconds >= 0 && seconds <= 9) {
|
||
seconds = "0" + seconds;
|
||
}
|
||
return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;
|
||
}
|
||
|
||
</script> |