280 lines
11 KiB
Plaintext
280 lines
11 KiB
Plaintext
|
|
@{
|
|
ViewBag.Title = "客户黑名单列表";
|
|
Layout = "~/Views/Shared/_MainLayout.cshtml";
|
|
var pageObj = new
|
|
{
|
|
canEdit = CurUser.客户管理.黑名单客户管理,
|
|
ViewTagPermission = CurUser.客户管理.客户标签查看权限,
|
|
};
|
|
}
|
|
|
|
@section CSS{
|
|
<link href="~/Style/Css/clientsettag.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
|
|
<style>
|
|
.tag-item {
|
|
height: 17px;
|
|
line-height: 14px;
|
|
}
|
|
|
|
.tag-add {
|
|
height: 17px;
|
|
line-height: 14px;
|
|
}
|
|
|
|
.tag-context {
|
|
padding: 0px;
|
|
}
|
|
</style>
|
|
}
|
|
|
|
@section JS{
|
|
|
|
<script type="text/javascript">
|
|
var page = @Json.Serialize(pageObj);
|
|
var g_grid = {};
|
|
$(function () {
|
|
var PostData = {};
|
|
@Html.Raw(JqGridSimple.OutGrid("/clientblack/clientblacklistQuery",true));
|
|
g_grid = jQuery('#listGrid');
|
|
function keyEnter(event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
(e.keyCode == 13) &&SearchClick(true);
|
|
} catch (e) {}
|
|
}
|
|
|
|
document.onkeydown = keyEnter;
|
|
//SetAceDropDown();
|
|
});
|
|
|
|
var colModelGrid = [{
|
|
name: 'id', label: 'id', index: 'id', width: 0, hidden: true, optionHide: true
|
|
}, {
|
|
name: 'opt', label: '操作', index: 'opt', width: 150, align: 'left', hidden: !page.canEdit, optionHide: !page.canEdit, sortable: false,
|
|
formatter: function (cellValue, options, rowObject) {
|
|
if (page.canEdit) {
|
|
var html = ("<input type=\"button\" class=\"wentiEdit\" onclick=\"startAddclientblack('{0}');return false;\" value=\"设置\" /><input type=\"button\" class=\"wentiEdit\" onclick=\"ClientBlackDeleteRow('{0}');return false;\" value=\"删除\" />")
|
|
.template(rowObject.id);
|
|
return html;
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
}, {
|
|
name: 'Name', label: '客户名称', index: 'Name', width: 260
|
|
}, {
|
|
name: 'Remarks', label: '备注', index: 'Remarks', width: 500
|
|
}, {
|
|
name: 'OptName', label: '操作人', index: 'OptName', width: 150
|
|
}, {
|
|
name: 'OptDate', label: '操作时间', index: 'OptDate', width: 200
|
|
},];
|
|
|
|
if (page.ViewTagPermission) {
|
|
colModelGrid.push({
|
|
name: 'Tags',
|
|
label: '标签值',
|
|
index: 'Tags',
|
|
width: 400,
|
|
formatter:tagformat,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OutputTags',
|
|
label: 'OutputTags',
|
|
index: 'OutputTags',
|
|
width: 70,
|
|
align: 'center',
|
|
hidden: true,
|
|
optionHide: true
|
|
});
|
|
}
|
|
|
|
function tagformat(cellvalue, options, rowObject) {
|
|
var html = '<div class="tag-context">';
|
|
var tagNames = "";
|
|
if (rowObject.Tags != null && rowObject.Tags.length > 0) {
|
|
for (var i = 0; i < rowObject.Tags.length; i++) {
|
|
if (i == rowObject.Tags.length - 1) {
|
|
tagNames += "[" + rowObject.Tags[i].Name + "]";
|
|
} else {
|
|
tagNames += "[" + rowObject.Tags[i].Name + "],";
|
|
}
|
|
}
|
|
if (rowObject.Tags.length > 4) {
|
|
for (var i = 0; i < 4; i++) {
|
|
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
|
|
}
|
|
html += '<span class="tag-add" title="' + tagNames + '">...</span>';
|
|
} else {
|
|
for (var i = 0; i < rowObject.Tags.length; i++) {
|
|
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
|
|
}
|
|
}
|
|
}
|
|
html += '</div>';
|
|
return html;
|
|
}
|
|
function reloadclient_black() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
/*导出点击事件*/
|
|
function ExportClientBlack() {
|
|
let ggrid = $('#listGrid');
|
|
let postData = { ids: main.GetGridIds(ggrid), ...ggrid.getPostData() };
|
|
|
|
var $form = $('#exportForm').html('');
|
|
$form.attr("action", '/clientblack/ExportClientBlack')
|
|
_.each(postData, (val, key) => {
|
|
if (!val) {
|
|
val = '';
|
|
} else if (_.isArray(val)) {
|
|
_.each(val, x => {
|
|
$form.append(`<input type="hidden" name="${key}" value="${x}">`);
|
|
});
|
|
return;
|
|
}
|
|
$form.append(`<input type="hidden" name="${key}" value="${val}">`);
|
|
});
|
|
$form.submit();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
listGrid.appendPostData({ Name: $("#Name").val() });
|
|
listGrid.appendPostData({ OptName: $("#OptName").val() });
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', {page: 1});
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function startAddclientblack(id) {
|
|
var addurl = "/clientblack/clientblackAdd?id="+id;
|
|
main.infopage(id?"修改信息": "新增客户", addurl, { area: ['500px', '300px'] });
|
|
}
|
|
|
|
function uploadSettlementBill() {
|
|
layer.open({
|
|
type: 1,
|
|
title: '黑名单客户导入',
|
|
content: $('#uploadTpl').html(),
|
|
area: ["500px", "200px"]
|
|
});
|
|
}
|
|
|
|
function importDatas() {
|
|
if (!checkSubmitData()) return;
|
|
var formData = new FormData($('#formImport')[0]);
|
|
main.post('/clientblack/UploadSettlementBill?checkStatus=true', formData, {
|
|
success: function (res) {
|
|
if (!res.success) {
|
|
if (res.msg.indexOf("备注已存在") >= 0) {
|
|
main.confirm(res.msg, function () {
|
|
main.post("/clientblack/UploadSettlementBill?checkStatus=false", formData).done(function (res) {
|
|
SearchClick();
|
|
layer.closeAll();
|
|
})
|
|
});
|
|
} else {
|
|
main.alert(res.msg);
|
|
}
|
|
}
|
|
else {
|
|
main.message("导入成功");
|
|
SearchClick();
|
|
layer.closeAll();
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
function checkSubmitData() {
|
|
//非xlsx文件不允许用户导入
|
|
var fileName = $('#openFile').val();
|
|
if (fileName == "") {
|
|
main.message("请选择文件!");
|
|
return false;
|
|
}
|
|
var arr = "xlsx";
|
|
var index = fileName.lastIndexOf(".");
|
|
var ext = fileName.substr(index + 1);
|
|
if (ext == arr) {
|
|
|
|
return true;
|
|
}
|
|
else {
|
|
parent.main.message("请导入xlsx格式文件!");
|
|
}
|
|
return true;
|
|
}
|
|
function ClientBlackDelete() {
|
|
var ggrid = jQuery('#listGrid');
|
|
var ors = main.GetGridIds(ggrid);
|
|
if (ors.length <= 0) {
|
|
main.message("请选择要移除的数据!");
|
|
return;
|
|
}
|
|
main.confirm("确认删除吗?", function () {
|
|
var ids = ors.toString();
|
|
main.post('/clientblack/DeleteClientBlack', { ids: ids }, {
|
|
}).done(function (data) {
|
|
SearchClick();
|
|
layer.closeAll();
|
|
});
|
|
})
|
|
}
|
|
function ClientBlackDeleteRow(id) {
|
|
main.confirm("确认删除吗?", function () {
|
|
main.post('/clientblack/DeleteClientBlack', { ids: id }, {
|
|
}).done(function (data) {
|
|
SearchClick();
|
|
layer.closeAll();
|
|
});
|
|
})
|
|
}
|
|
|
|
</script>
|
|
}
|
|
<form target="_blank" method="post" id="exportForm" action="">
|
|
<input type="hidden" name="" value="" />
|
|
</form>
|
|
<script type="text/html" id="uploadTpl">
|
|
<div class="container" style="overflow:hidden;padding:20px;">
|
|
<form class="form-horizontal" method="post" id="formImport" onsubmit="return false;">
|
|
<div>
|
|
<input type="file" id="openFile" name="file" accept="text/csv" />
|
|
</div>
|
|
<div style="margin: 0px auto; padding: 10px;">
|
|
<input class="btn btn-primary" type="button" onclick="importDatas();return false;" value="导入黑名单客户" />
|
|
<a class="btn btn-primary" href="/download/ImportTemplate/黑名单客户模板" target="_blank">黑名单客户模板下载</a>
|
|
<input class="btn btn-primary" type="button" onclick="layer.closeAll();return false;" value="关闭" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</script>
|
|
|
|
|
|
<div class="searchdiv">
|
|
<form class="form-inline search-form" onsubmit="return false;" autocomplete="off">
|
|
<label>客户名称</label>
|
|
<input type="text" name="Name" id="Name" maxlength="50" />
|
|
<button type="button" class="btn btn-primary" onclick="return(SearchClick(true));"><span class="glyphicon glyphicon-search"></span> 查询</button>
|
|
@if (CurUser.客户管理.黑名单客户管理)
|
|
{
|
|
<button type="button" class="btn btn-primary" onclick="startAddclientblack();">新增</button>
|
|
<button type="button" class="btn btn-primary" onclick="uploadSettlementBill();">批量导入</button>
|
|
<button type="button" class="btn btn-primary" onclick="ExportClientBlack();">批量导出</button>
|
|
<button type="button" class="btn btn-primary" onclick="ClientBlackDelete();">批量移除</button>
|
|
}
|
|
</form>
|
|
</div>
|
|
@Html.Raw(JqGridSimple.OutTable()) |