Files
zszq-trs/YLErpWeb/Views/clientblack/clientblackApproval.cshtml
T
tengyufan 8afd449c40 feat(ClientBlack): 新增客户黑名单审批流程
- 黑名单新增、删除、批量导入、批量移出在配置审批节点后,审批通过才生效
- 新增黑名单待提交后可提交审批;仅首节点未审批时可撤回,进入后续节点禁止撤回
- 增加黑名单审批列表、审批弹窗、审批操作日志及状态筛选
- 支持审批配置中的“黑名单审批”流程及对应菜单、模块权限、操作权限
- 黑名单审批中禁止同名记录覆盖备注;已在黑名单中的同名导入会明确提示本次将修改备注
- 未配置审批节点时保持原有直接生效行为
- 增加黑名单审批状态机单测,39/39 通过
- 修正撤回全部失败时仍提示“撤回审批成功”的问题
2026-08-13 17:21:04 +08:00

75 lines
3.1 KiB
Plaintext

@{
ViewBag.Title = "黑名单客户审批";
Layout = "~/Views/Shared/_MainLayout.cshtml";
var pageObj = new
{
roles = UserBLL.GetRolesByUserId(CurUser.UserId).Select(x => x.Id)
};
}
@section CSS{
<link href="~/Style/Css/tradeConfirmList.css" rel="stylesheet" />
<style>
.ui-jqgrid tr.jqgrow td { white-space: pre-wrap; }
</style>
}
@section JS{
<script type="text/javascript">
const page = @Json.Serialize(pageObj);
var g_grid = {};
$(function () {
var PostData = {};
@Html.Raw(JqGridSimple.OutGrid("/clientblack/clientblackApprovalQuery", true));
g_grid = $('#listGrid');
document.onkeydown = function (event) {
if ((event || window.event).keyCode == 13) SearchClick(true);
};
});
var colModelGrid = [
{ name: 'id', hidden: true },
{ name: 'ProcessRoleId', hidden: true },
{ name: '', label: '操作', width: 90, align: 'center', sortable: false, formatter: approvalButton },
{ name: 'ProcessStatus', label: '黑名单审批', width: 135, align: 'center' },
{ name: 'State', label: '审批状态', width: 135, align: 'center' },
{ name: 'ProcessRoleName', label: '审批角色', width: 140, align: 'center', sortable: false },
{ name: 'ClientName', label: '客户名称', width: 220, align: 'center', sortable: false },
{ name: 'Comments', label: '黑名单备注', width: 260, align: 'center' },
{ name: 'ApprovalOptName', label: '提交审批人', width: 120, align: 'center' },
{ name: 'ApprovalOptDate', label: '提交审批时间', width: 160, align: 'center' }
];
function approvalButton(cellValue, options, rowObject) {
if (!isAuthorize(rowObject.ProcessRoleId)) {
return '<input type="button" class="wentiEdit" value="审批" disabled="disabled" />';
}
return '<input type="button" class="wentiEdit" title="审批" value="审批" onclick="openApproval(\'' + rowObject.EncryptId + '\');return false;" />';
}
function isAuthorize(roleId) {
if (roleId === undefined || roleId === null || roleId === '') return false;
return page.roles.some(function (id) { return id.toString() === roleId.toString(); });
}
function openApproval(enid) {
main.open('审批', '/clientblack/clientblackView?enid=' + enid + '&approval=true', {
area: ['1000px', '75%'],
end: function () { SearchClick(); }
});
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ Name: $('#Name').val() });
if (isSearchclick) listGrid.jqGrid('setGridParam', { page: 1 });
listGrid.trigger('reloadGrid');
}
</script>
}
<div class="searchdiv">
<label>客户名称</label>
<input type="text" name="Name" id="Name" maxlength="50" />
@MyControls.SearchBtn()
</div>
@Html.Raw(JqGridSimple.OutTable())