TG.WXCRM.V4/WEB/Views/MessageCenter/NotificationStatistics.cshtml

348 lines
14 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@using WX.CRM.WebHelper
@using WX.CRM.Model.DTO;
@using System;
@{
/**/
/**/
ViewBag.Title = "bas_salesDepartment";
Layout = "~/Views/Shared/_content.cshtml";
}
<script src="/Scripts/jquery.easyui.min.js" type="text/javascript"></script>
<link href="/Content/themes/blue/easyui.css" rel="stylesheet" />
<link href="/Content/Site.css" rel="stylesheet" />
<script src="/Scripts/common.js"></script>
<link href="/Content/data_grid_list.css" rel="stylesheet" />
<script src="/Scripts/op/jquery.rewrite.js"></script>
<div class="layui-card" id="topcard" style="width:100%;">
<div class="layui-card-body " id="contentBody">
<div class="layui-card-header layui-self-header">
<div style="float:left;position:relative;">
成交客户重复联系统计
</div>
</div>
<form class="layui-form selftopwhere" id="myform">
<div class="layui-form-item">
@Html.Action("UserGroupSSOComBox", "Control", new
{
currentRight = WX.CRM.WebHelper.InitRights.CONST_成交客户重复联系统计
})
客户姓名:
<div class="layui-inline">
<input class="layui-input" name="Name" style="width:120px;" />
</div>
客户ID
<div class="layui-inline">
<input class="layui-input" name="Umid" style="width:120px;" />
</div>
成交客服ID
<div class="layui-inline">
<input class="layui-input" name="Eid" style="width:120px;" />
</div>
成交客服姓名:
<div class="layui-inline">
<input class="layui-input" name="Ename" style="width:120px;" />
</div>
到期日期:
<div class="layui-inline">
<input class="layui-input" name="StartTime" id="startTimeFrom" style="width:120px;">
</div>
<div class="layui-inline">
<input class="layui-input" name="EndTime" id="entTimeTo" style="width:120px;">
</div>
重复客服姓名:
<div class="layui-inline">
<input class="layui-input" name="RepeatEname" style="width:120px;" />
</div>
重复客服ID
<div class="layui-inline">
<input class="layui-input" name="RepeatEid" style="width:120px;" />
</div>
重复联系日期:
<div class="layui-inline">
<input class="layui-input" name="RepeatStartTime" id="timeFrom" style="width:120px;">
</div>
<div class="layui-inline">
<input class="layui-input" name="RepeatEndTime" id="timeTo" style="width:120px;">
</div>
成交事业部:
<div class="layui-inline">
<select name="DeptId" id="DeptId" style="width:180px;">
<option value="">全部</option>
</select>
</div>
重复联系类型:
<div class="layui-inline">
<select name="RepeatType" style="height:35px;">
<option value="">全部</option>
<option value="1">企微联系</option>
<option value="2">电话联系</option>
<option value="3">企微和电话联系</option>
</select>
</div>
是否跨事业部重复:
<div class="layui-inline">
<select name="CrossDept" style="height:35px;">
<option value="">全部</option>
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
重复联系事业部:
<div class="layui-inline">
<select name="RepeatDeptId" id="RepeatDeptId" style="width:180px;">
<option value="">全部</option>
</select>
</div>
<div class="layui-inline" style="width:350px">
<input class="layui-btn layui-btn-sm layui-btn-ok" data-method="search" id="search" type="button" value="查询" />
<input class="layui-btn layui-btn-sm layui-btn-reset" id="reset" type="button" value="清空" />
<input class="layui-btn layui-btn-sm layui-btn-reset" style="display:none" id="onreset" type="reset" value="" />
</div>
</div>
</form>
<table class="layui-hide" id="list" lay-filter="list"></table>
</div>
</div>
<script>
layui.use('laydate', function () {
var laydate = layui.laydate;
laydate.render({
elem: '#startTimeFrom'
});
laydate.render({
elem: '#entTimeTo'
});
laydate.render({
elem: '#timeFrom'
});
laydate.render({
elem: '#timeTo'
});
});
var selectRows = [];
var winindex;
var layer;
var rowid;
var data;
var form;
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
layui.use(['laypage', 'layer', 'table', 'laydate', 'form'], function () {
form = layui.form;
var laydate = layui.laydate;
layer = layui.layer;
table = layui.table;
InitDepts();
table.render({
id: 'list'//列表别名ID
, elem: '#list'
, url: '@Html.Raw(ViewBag.webapi)' + '/Api/Notification/Statistics/Page'
//, url: 'https://localhost:7234/Api/Notification/Statistics/Page'
, headers: { appid: '@ViewBag.appid', eid: '@ViewBag.eid' }
, method: 'get'
, dataType: 'json'
, request: {
pageName: 'currentPage' //页码的参数名称默认page
, limitName: 'pageSize' //每页数据量的参数名默认limit
}
, response: {
statusName: 'code' //规定数据状态的字段名称默认code
, statusCode: 0 //规定成功的状态码默认0
, msgName: 'message' //规定状态信息的字段名称默认msg
},
parseData: function (res) { //res 即为原始返回的数据
data = res.data.data;
return {
"code": res.code, //解析接口状态
"msg": res.message, //解析提示文本
"count": res.data.total, //解析数据长度
"data": res.data.tableData //解析数据列表
};
}
, cellMinWidth: 80 //全局定义常规单元格的最小宽度layui 2.2.1 新增
, page: true
, limit: 20
, size: "sm"
, cols: [[
{ checkbox: true, hide: true }
, { field: 'id', title: '序号', type: 'numbers' }
, { field: 'group_name', title: '组别', width: 110 }
, { field: 'name', title: '客户姓名' }
, {
field: 'umid', title: '客户ID', width: 160, templet: function (d) {
if (!d.umid) {
return "";
}
return "<div><a href=\"javascript:AddTab('" + d.umid + "', '/Csvr/CustomerInfo/CustomerDetail?resid=" + d.umid + "', ' ')\" class=\"layui-table-link\">" + d.umid + "</a></div>"
}
}
, {
field: 'umid', title: '线索', width: 160, templet: function (d) {
if (!d.umid) {
return "";
}
return "<div><a href=\"javascript:OpenSalesLead('" + d.umid + "')\" class=\"layui-table-link\">查看</a></div>"
}
}
, { field: 'end_time', title: '到期日期', width: 110, templet: '#endTimeTpl' }
, { field: 'deptname', title: '成交事业部', width: 130 }
, { field: 'ename', title: '成交客服姓名' }
, { field: 'eid', title: '成交客服ID' }
, { field: 'repeat_type_str', title: '重复联系类型' }
, { field: 'cross_dept', title: '是否跨事业部重复', width: 130, templet: '#isCrossDeptTpl' }
, { field: 'repeat_deptname', title: '重复联系事业部', width: 130 }
, { field: 'repeat_ename', title: '重复客服姓名' }
, { field: 'repeat_eid', title: '重复客服ID' }
, { field: 'repeat_start_time', title: '开始重复联系日期', width: 130 }
, { field: 'repeat_end_time', title: '最后重复联系日期', width: 130 }
, { field: 'repeat_days', title: '累计重复联系天数', width: 80 }
]], where: $("#myform").serializeFormJSON()
});
//监听行单击事件
table.on('checkbox(list)', function (obj) {
if (obj.type == 'all') {
if (obj.checked) {
selectRows = data
} else {
selectRows = []
}
} else {
if (obj.checked) {
selectRows.push(obj.data)
} else {
selectRows.splice(selectRows.indexOf(obj.data), 1)
}
}
});
var active = {
search: function () {
var param = $("#myform").serializeFormJSON();
//param.deptid = param.txt_deptId;
param.deptId = param.DeptId;
param.eid = param.txt_userId
table.reload('list', {
where: param,
page: {
curr: 1
}
});
}
};
$('#reset').on('click', function () {
document.getElementById("onreset").click();
clear();
});
$('#search').on('click', function () {
var othis = $(this), method = othis.data('method');
active[method] ? active[method].call(this, othis) : '';
});
$('#read').on('click', function () {
if (!selectRows || selectRows == [] || selectRows.length == 0) {
layer.msg("请最少选择一条记录!", { icon: 7 });
return;
}
var ids = selectRows.map(x => x.id);
$.ajax({
type: "POST",
url: '@Html.Raw(ViewBag.webapi)' + '/Api/Notification/Read',
headers: { appid: '@ViewBag.appid', eid: '@ViewBag.eid' },
data: JSON.stringify(ids),
dataType: "json",
contentType: "application/json",
success: function (da) {
if (da.data == true) {
layer.msg('操作成功!', { icon: 1 });
TableReload();
} else {
layer.msg(da.message, { icon: 2 });
}
},
error: function () {
layer.msg('操作失败!', { icon: 2 });
}
});
});
$('#read-all').on('click', function () {
var ids = data.map(x => x.id);
$.ajax({
type: "POST",
url: '@Html.Raw(ViewBag.webapi)' + '/Api/Notification/Read',
headers: { appid: '@ViewBag.appid', eid: '@ViewBag.eid' },
data: JSON.stringify(ids),
dataType: "json",
contentType: "application/json",
success: function (da) {
if (da.data == true) {
layer.msg('操作成功!', { icon: 1 });
TableReload();
} else {
layer.msg(da.message, { icon: 2 });
}
},
error: function () {
layer.msg('操作失败!', { icon: 2 });
}
});
});
function InitDepts() {
$.ajax({
type: "GET",
url: '@Html.Raw(ViewBag.webapi)' + '/Api/Notification/RepeatDepts',
headers: { appid: '@ViewBag.appid', eid: '@ViewBag.eid' },
dataType: "json",
contentType: "application/json",
success: function (da) {
$(da.data.dealDepts).each(function (n, m) {
$("#DeptId").append(new Option(m.deptname, m.deptid));
});
$(da.data.repeatDepts).each(function (n, m) {
$("#RepeatDeptId").append(new Option(m.deptname, m.deptid));
});
form.render('select');
},
error: function () {
layer.msg('统计数据加载失败!', { icon: 2 });
}
});
}
});
function Closed() {
layer.close(winindex);
}
function TableReload() {
table.reload('list', {
});
}
function AddTab(name, url) {
window.parent.postMessage({ name: name, url: url }, '*');
}
function onLoadSucced() {
}
function OpenSalesLead(id) {
layer.open({
type: 2,
content: '/Live/SalesLeads?resid=' + id,
title: "销售线索",
area: ['1000px', '600px']
});
}
</script>
<script type="text/html" id="isCrossDeptTpl">
{{# if(d.cross_dept == 1){ }}
<span style="color: #FF4D4D">是</span>
{{# } else { }}
<span>否</span>
{{# } }}
</script>
<script type="text/html" id="endTimeTpl">
{{# if(new Date(d.end_time) < new Date()){ }}
<span style="color: #e2e0e0">{{ d.end_time }}</span>
{{# } else { }}
<span>{{ d.end_time }}</span>
{{# } }}
</script>