348 lines
14 KiB
Plaintext
348 lines
14 KiB
Plaintext
@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> |