Files
zszq-trs/YLErpWeb/Views/AccountOpeningProcess/clientList.cshtml
T
2024-05-31 15:39:29 +08:00

524 lines
19 KiB
Plaintext

@{
ViewBag.Title = "开户管理";
Layout = "~/Views/Shared/_MainLayout.cshtml";
var pageObj = new
{
isClientNew = CurUser.客户管理.客户新增,
approvalList = CurUser.风险控制_接口审批列表,
approvalMode = YLErp.PS.Config.ClientElement.InterfaceApprovalMode,
isClientEdit = CurUser.客户管理.客户修改,
roles = CurUser.Roles.Select(s => s.Id).ToList()
};
}
@section CSS{
<link href="~/Style/Css/bankcardView.css" />
}
<style>
.OptName-wrap, .date-wrap {
display: none !important;
}
.spanNone {
display: none;
}
.no-skin {
position: initial !important;
}
</style>
@section JS{
<script>
const page = @Json.Serialize(pageObj);
</script>
<script type="text/javascript">
var g_grid = {};
var query_data = {};
$(function () {
var PostData = {};
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
showOtherMonths: true,
selectOtherMonths: true
});
@Html.Raw(JqGridSimple.OutGrid("/client/clientOpeningProcessQuery"));
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();
});
function isAuthorize(roleId) {
if (roleId === 'undefined') return false;
var roleIdStr = roleId + "";
if (roleIdStr === "") return false;
var rolesArr = page.roles;
var len = rolesArr.length;
if (len <= 0) return false;
for (var i = 0; i < len; i++) {
if (rolesArr[i] == roleIdStr) {
return true;
}
}
return false;
}
var colModelGrid = [
{
name: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
hidden: true,
optionHide: true
},
{
name: 'RejectLog',
hidden: true,
optionHide: true
}, {
name: 'ProcessStatus',
label: '开户状态',
index: 'ProcessStatus',
width: 100,
classes: 'ProcessStatus',
formatter: processStatusFormat
},
{
name: 'ProcessRoleName',
label: '审批角色',
index: 'ProcessRoleName',
sortable: false,
width: 90,
hidden: false,
classes: 'ProcessRoleName'
}, {
name: 'Name',
label: '客户名称',
index: 'Name',
width: 250,
classes: 'Name',
formatter: nameFormat
}, {
name: 'CustomerNature1',
label: '客户性质1',
index: 'CustomerNature1',
width: 130,
sortable: false
}, {
name: 'CustomerNature2',
label: '客户性质2',
index: 'CustomerNature2',
width: 130,
sortable: false
}, {
name: 'Level',
label: '客户等级',
index: 'Level',
width: 60,
classes: 'Level'
}, {
name: 'CustomerManager',
label: '客户经理',
index: 'CustomerManager',
width: 90,
classes: 'CustomerManager'
}, {
name: 'ContactName',
label: '联系人姓名',
index: 'ContactName',
sortable: false,
width: 90,
classes: 'ContactName'
}, {
name: 'Phone',
label: '联系人电话',
index: 'Phone',
sortable: false,
width: 90,
classes: 'Phone'
}, {
name: 'Email',
label: '联系人邮箱',
index: 'Email',
sortable: false,
width: 150,
classes: 'Email'
}, {
name: 'SalesDepartment',
label: '归属营业部',
index: 'SalesDepartment',
sortable: false,
width: 90,
classes: 'SalesDepartment'
}, {
name: 'ProperClientClass',
label: '适当性分类',
index: 'ProperClientClass',
width: 130,
align: 'left',
classes: 'ProperClientClass'
}, {
name: 'Seller',
label: '营业部销售',
index: 'Seller',
width: 90,
classes: 'Seller'
}, {
name: 'SamePeerDesc',
label: '同业/非同业',
index: 'SamePeerDesc',
sortable: false,
width: 90,
align: 'left'
}, {
name: '',
label: '操作',
index: '',
sortable: false,
width: 220,
formatter: showToolName,
classes: 'actrion'
}
];
function gridComplete() {
main.setcolumnChooser(jQuery('#listGrid'), "@configcolumn_data.开户管理");
}
function rowdblclick(rowid) {
var rowData = $(this).getRowData(rowid);
startclientView(rowData.EncryptId);
}
function customButton(cellValue, options, rowObject) {
var imageHtml = "<input type=\"button\" value=\"删除\" class=\"btn-warning\" onclick=\"deleteclient('" +
rowObject.EncryptId +
"');\" />";
return imageHtml;
}
function deleteclient(encryptId) {
if (confirm("确定删除吗?")) {
$.ajax({
type: "Post",
url: "/client/Deleteclient",
data: { id: encryptId, d: new Date() },
success: function (data) {
showmiddlemessage(data.obj);
$('#listGrid').trigger('reloadGrid');
},
error: function (msg) {
alert("error:" + msg);
}
});
}
}
function ProcessOptDateFilter(cellValue, options, rowObject) {
if (rowObject.ProcessStatus === '未提交') {
return '';
}
return rowObject.ProcessOptDate;
}
function showToolName(cellValue, options, rowObject) {
var html =
"<input type=\"button\" class=\"wentiEdit\" title='查看客户信息' onclick=\"startclientView('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "查看");
if (rowObject.ProcessStatus === '未提交' || rowObject.ProcessStatus === '已拒绝') {
html = html +
"<input type=\"button\" class=\"wentiEdit\" title='删除' onclick=\"deleteclient('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "删除");
} else if (page.approvalMode != 1){
if (isAuthorize(rowObject.ProcessRoleId)) {
html = html +
"<input type=\"button\" class=\"wentiEdit\" title='审批' onclick=\"passorreject('{0}')\" value=\"{1}\" />"
.template(rowObject.id, "审批");
} else {
html = html +
"<input type=\"button\" class=\"wentiEdit\" title='审批' disabled='disabled' value=\"{1}\" />"
.template(rowObject.EncryptId, "审批");
}
}
if (page.approvalMode > 0 && page.approvalList) {
html = html +
"<input type=\"button\" class=\"wentiEdit\" title='匹配接口审批记录' onclick=\"approvalList('{0}')\" value=\"{1}\" />"
.template(rowObject.Name, "匹配审批");
}
return html;
}
function approvalList(name) {
main.open("审批记录", "/trade/InterfaceApprovalRecord?type=2&code=" + name, { area: ["1200px", "600px"] });
}
function processStatusFormat(cellValue, options, rowObject) {
return "<span title=\"{0}\">{1}</span>".template(rowObject.RejectLog, cellValue);
}
function nameFormat(c, o, r) {
var html = r.Name;
if (!r.HasDocuments) {
html += "<img title='未上传任何文件' style='width:16px;' src='/images/light_yellow.png'/>";
}
return html;
}
function passorreject(eid) {
var url = "/processlog/processlogListInner?eid=" + eid;
main.open("审批", url, { area: ["60%", "65%"] });
}
function rowclick(id) {
}
function startAddclient() {
var srcurl = "/client/clientEditV2";
if (page.isClientNew) {
main.open("新增客户", srcurl, { area: ['1300px', '800px'] });
}
else {
console.warn("InVaild Operation!");
}
}
function startclientView(id) {
var srcurl = "/client/clientEditV2?enid=" + id;
main.open("查看客户信息", srcurl, { area: ['1300px', '800px']});
}
function reloadclient() {
//重新加载
SearchClick();
window.layer.closeAll();
}
function reloadclient2() {
//重新加载
SearchClick();
}
function uploadClient(id) {
var scrurl = "/client/clientUpload/?enid=" + id;
if (page.isClientNew) {
main.open("客户导入", scrurl, {area:['650px','450px']});
}
else {
console.warn("InVaild Operation!");
}
}
function exportClientChoose() {
var htmlContent =
'<div style="padding:30px">' +
'<input class="btn btn-primary " type="button" style="width:auto;height:29px;border: none;border-radius: 3px;margin-right:20px" onclick="exprotChooseColumn();return false;" value="导出可选列">' +
'<input class="btn btn-primary " type="button" style="width:auto;height:29px;border: none;border-radius: 3px;margin-right:20px" onclick="exportClientMouldExcel();return false;" value="导出客户基本信息模板">' +
'<input class="btn btn-primary " type="button" style="width:auto;height:29px;border: none;border-radius: 3px;margin-right:20px" onclick="exportClientDutyMouldExcel();return false;" value="导出客户人员信息模板">' +
'<input class="btn btn-primary " type="button" style="width:auto;height:29px;border: none;border-radius: 3px;" onclick="exportClientBankcardMouldExcel();return false;" value="导出客户银行账号信息模板">' +
'</div>';
layer.open({
type: 1,
title: "导出客户列表",
shadeClose: false,
shade: 0.4,
area: ['800px', '150px'],
content: htmlContent
});
}
function exprotChooseColumn() {
var dateTemp = new Date().Format("yyyyMMddhhmmss");
var fileName = "待开客户(配置列)_" + dateTemp;
main.toExcel("listGrid", fileName, "csv", null, "操作人,操作时间,操作", [
{
colName: "客户编号",
formatter: "text"
}, {
colName: "联系人证件号码",
formatter: "text"
}, {
colName: "联系人电话",
formatter: "text"
}, {
colName: "证照编号",
formatter: "text"
}]);
return;
$.ajax({
type: "Post",
url: "/accountOpeningProcess/clientQueryForDown",
data: query_data,
success: function (data) {
var dateTemp = new Date().Format("yyyyMMddhhmmss");
var elHtml = "";
var exKey = "待开客户(配置列)" + "_" + dateTemp;
var excelStrArray = {};
var colModelOriginal = $("#listGrid").jqGrid('getGridParam', 'colModel');
var colModel = new Array();
for (var i = 0; i < colModelOriginal.length; i++) {
if (colModelOriginal[i].label != "操作人" && colModelOriginal[i].label != "操作时间" && colModelOriginal[i].label != "操作") {
colModel.push(colModelOriginal[i])
}
}
for (var i = 0; i < data.length; i++) {
if (excelStrArray[exKey] !== "undefined" && excelStrArray[exKey] != null && excelStrArray[exKey].length > 0) {
elHtml = excelStrArray[exKey];
} else {
//csv表栏信息
for (var j = 0; j < colModel.length; j++) {
if (colModel[j].hidden == false)
elHtml = elHtml + "\t" + colModel[j].label + ",";
}
elHtml = elHtml + "\r\n";
}
for (var k = 0; k < colModel.length; k++) {
var value = colModel[k].name;
if (colModel[k].hidden == false) {
elHtml = elHtml + "\t" + (data[i][value] == null || data[i][value] === "undefined" ? "" : data[i][value]) + ",";
}
}
elHtml = elHtml + "\r\n";
excelStrArray[exKey] = elHtml;
}
if (data.length <= 0) {
showmiddlemessage("根据条件未查找到数据!");
return;
} else {
if (jQuery.isEmptyObject(excelStrArray) ||
(excelStrArray[exKey] == "undefined" ||
excelStrArray[exKey] == null ||
excelStrArray[exKey].length <= 0)) {
showmiddlemessage("根据条件未查找到数据!");
return;
} else {
for (var exkey in excelStrArray) {
downCsv(exkey, excelStrArray[exkey]);
}
}
}
},
error: function (msg) {
alert("error:导出客户时后台报错!");
}
});
}
function exportClientMouldExcel() {
window.open("../App_Docs/客户导入_基本信息模板.xlsx");
}
function exportClientDutyMouldExcel() {
window.open("../App_Docs/客户导入_人员信息模板.xlsx");
}
function exportClientBankcardMouldExcel() {
window.open("../App_Docs/客户导入_银行卡模板.xlsx");
}
$("#Name").change(function () {
var value = $("#Name").val();
$("#Name").attr("title", value);
});
function downCsv(fileName, exStrr) {
var isIE = (navigator.userAgent.indexOf('MSIE') >= 0);
if (isIE) {
var strHTML = exStrr;
var winSave = window.open();
winSave.document.open("text", "utf-8");
winSave.document.write(strHTML);
winSave.document.execCommand("SaveAs", true, fileName + ".csv");
winSave.close();
} else {
var mimeType = 'text/plain';
$('#createInvote').attr('download', fileName + ".csv");
//\uFEFF bom
$('#createInvote').attr('href',
'data:' + mimeType + ';charset=utf-8,\uFEFF' + encodeURIComponent(exStrr));
document.getElementById('createInvote').click();
}
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ Name: $("#Name").val() });
listGrid.appendPostData({ LicenseCode: $("#LicenseCode").val() });
listGrid.appendPostData({ ProcessStatus: $("#ProcessStatus").val() == null ? "" : $("#ProcessStatus").val().join(",") });
listGrid.appendPostData({ ProperClientClass: $("#ProperClientClass").val() });
listGrid.appendPostData({ CustomerManagerIds:$("#CustomerManagerIds").val() });
listGrid.appendPostData({ CustomerManagerString: $("#CustomerManagerString").val() });
query_data = {
Name: $("#Name").val(),
ProcessStatus: $("#ProcessStatus").val() == null ? "" : $("#ProcessStatus").val().join(","),
ProperClientClass: $("#ProperClientClass").val() ,
CustomerManagerIds: $("#CustomerManagerIds").val(),
CustomerManagerString: $("#CustomerManagerString").val()
}
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam',{page: 1});
}
listGrid.trigger('reloadGrid');
}
function showcolumnChooser() {
main.showcolumnChooser(jQuery('#listGrid'), "@configcolumn_data.开户管理");
}
$(function () {
$("#OptName").parent().addClass("OptName-wrap");
$("#DateFromOptDate").parent().addClass("date-wrap");
});
</script>
}
<div class="searchdiv">
<div>
@Html.ShortInput("Name", "客户名称")
@Html.MyAceDropdownInput("ProcessStatus", "开户状态", ClientDataModel.GetPendingStatusForQuery())
@Html.ShortInput("OptName", "操作人名")
@Html.SearchDateRange("OptDate", "操作时间")
</div>
<div>
@MyControls.SearchBtn()
@if (pageObj.isClientNew)
{
@MyControls.Btn("新增客户", "startAddclient()")
@MyControls.Btn("批量客户导入", "uploadClient()")
}
@MyControls.Btn("导出客户列表", "exportClientChoose()")
<div style="width:30px;display:inline;" onclick="showcolumnChooser();return false;">
<img src="~/Images/configure.png" />
</div>
</div>
</div>
@Html.Raw(JqGridSimple.OutTable())