604 lines
23 KiB
Plaintext
604 lines
23 KiB
Plaintext
@using WX.CRM.WebHelper
|
||
@using WX.CRM.Model.DTO;
|
||
@{
|
||
ViewBag.Title = "达量通知";
|
||
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>
|
||
<style>
|
||
#StatusDialog {
|
||
padding: 15px;
|
||
text-align: center;
|
||
height: 150px;
|
||
}
|
||
|
||
#StatusDialog .title {
|
||
font-size: 16px;
|
||
font-weight: bold;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.line {
|
||
min-height: 3em;
|
||
line-height: 3em;
|
||
}
|
||
</style>
|
||
<div id="modalwindow" class="easyui-window" data-options="modal:true,closed:true,minimizable:false,shadow:false"></div>
|
||
<div class="layui-card" id="topcard" style="width:100%;">
|
||
<div class="layui-card-header layui-self-header">
|
||
<div style="float:left;position:relative;">
|
||
重要线索列表
|
||
</div>
|
||
<div style="float:right;position:relative;">
|
||
@* @if (ViewBag.IndexType == 2)
|
||
{
|
||
<input class="layui-btn layui-btn-sm layui-btn-normal" data-method="other4" type="button" value="详情">
|
||
}*@
|
||
@Html.Action("ToolBarNew", "Control", new
|
||
{
|
||
tool = ViewBag.ToolBar as ToolBar,
|
||
otherToolBars = new ToolBarNew[] {
|
||
new ToolBarNew(){ btnColor="", btnName="导出" }
|
||
}
|
||
|
||
})
|
||
</div>
|
||
<div class="hrclass" style="position:relative;float: left;"></div>
|
||
</div>
|
||
<div class="layui-card-body " id="contentBody">
|
||
<form class="layui-form selftopwhere" id="myform">
|
||
<div class="layui-form-item">
|
||
@Html.Action("UserSSOComBox", "Control", new { currentRight = WX.CRM.WebHelper.InitRights.CONST_重要线索列表 })
|
||
客户ID:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" name="resid" style="width:120px;" placeholder="客户ID" value="@ViewBag.resid" />
|
||
</div>
|
||
姓名:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" name="cname" style="width:120px;" placeholder="姓名" />
|
||
</div>
|
||
大类:
|
||
<div class="layui-inline">
|
||
<select id="slt_eventid" name="eventid" lay-filter="eventid">
|
||
</select>
|
||
</div>
|
||
小类:
|
||
<div class="layui-inline">
|
||
<select id="slt_eventtypename" name="eventtypename">
|
||
</select>
|
||
</div>
|
||
重要内容:
|
||
<div class="layui-inline">
|
||
<input type="text" class="layui-input" name="eventmemo" style="width:120px;" placeholder="重要内容" />
|
||
</div>
|
||
提醒时间:
|
||
<div class="layui-inline">
|
||
<input class="layui-input" placeholder="提醒开始时间" name="ctime" id="ctime" style="width:120px;">
|
||
</div>
|
||
<div class="layui-inline">
|
||
<input class="layui-input" placeholder="提醒结束时间" name="etime" id="etime" style="width:120px;">
|
||
</div>
|
||
是否已读:
|
||
<div class="layui-inline">
|
||
<select id="slt_isread" name="isread">
|
||
<option value="">不限</option>
|
||
<option value="1">已读</option>
|
||
<option value="0">未读</option>
|
||
</select>
|
||
</div>
|
||
已读时间:
|
||
<div class="layui-inline">
|
||
<input class="layui-input" placeholder="已读开始时间" name="readtimestart" id="readtimestart" style="width:120px;">
|
||
</div>
|
||
<div class="layui-inline">
|
||
<input class="layui-input" placeholder="已读结束时间" name="readtimeend" id="readtimeend" style="width:120px;">
|
||
</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" type="reset" value="清空" />
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<table class="layui-hide" id="list" lay-filter="list"></table>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
var selectRows = [];
|
||
var winindex;
|
||
var layer;
|
||
var rowid;
|
||
var data;
|
||
var table;
|
||
var form;
|
||
var laydate;
|
||
var tableCols;
|
||
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
|
||
layui.use(['laypage', 'layer', 'table', 'laydate', 'form'], function () {
|
||
var param = $("#myform").serializeFormJSON();
|
||
param.ctime = '@DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd")';
|
||
param.etime = '@DateTime.Now.ToString("yyyy-MM-dd")';
|
||
var laydate = layui.laydate;
|
||
laydate.render({
|
||
elem: '#ctime', //指定元素
|
||
value: '@DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd")'
|
||
});
|
||
laydate.render({
|
||
elem: '#etime', //指定元素
|
||
value: '@DateTime.Now.ToString("yyyy-MM-dd")'
|
||
});
|
||
laydate.render({
|
||
elem: '#readtimestart'
|
||
});
|
||
laydate.render({
|
||
elem: '#readtimeend'
|
||
});
|
||
form = layui.form;
|
||
form.on('select(eventid)', function (data) {
|
||
eventid_changed(data.value);
|
||
});
|
||
layer = layui.layer;
|
||
table = layui.table;
|
||
tableCols =[[
|
||
{ field: 'deptname', title: '业务部', width: 150 }
|
||
, {
|
||
field: 'ename', title: '员工', width: 150, templet: function (item) {
|
||
if (item.eid != null || item.ename != null) {
|
||
return item.eid + ' ' + item.ename;
|
||
} else {
|
||
return "";
|
||
}
|
||
|
||
}
|
||
}
|
||
, {
|
||
field: 'umid', title: '客户id', width: 180, templet: function (item) {
|
||
if (!item.resid) {
|
||
return "";
|
||
}
|
||
var ps = '';
|
||
ps += ' data-id="' + safe_val(item.id) + '"';
|
||
ps += ' data-resid="' + safe_val(item.resid) + '"';
|
||
ps += ' data-appid="' + safe_val(item.appid) + '"';
|
||
ps += ' data-appuserid="' + safe_val(item.appuserid) + '"';
|
||
ps += ' data-isread="' + (item.isread === 1 ? 1 : 0) + '"';
|
||
ps += ' data-eid="' + safe_val(item.eid) + '"';
|
||
return '<a href="javascript:;" onclick="show_user(this)"' + ps + '>' + safe_val(item.umid) + '</a>';
|
||
}
|
||
}
|
||
, { field: 'cname', title: '姓名', width: 120 }
|
||
, { field: 'eventname', title: '重要线索大类', width: 150 }
|
||
, { field: 'eventtypename', title: '重要线索小类', width: 150 }
|
||
, {
|
||
field: 'eventmemo', title: '重要内容', width: 200, templet: function (item) {
|
||
if (item.linkurl) {
|
||
var ps = '';
|
||
ps += ' data-id="' + safe_val(item.id) + '"';
|
||
ps += ' data-isread="' + (item.isread === 1 ? 1 : 0) + '"';
|
||
ps += ' data-eid="' + safe_val(item.eid) + '"';
|
||
ps += ' data-linkurl="' + safe_val(item.linkurl) + '"';
|
||
ps += ' data-eventtypename="' + safe_val(item.eventtypename) + '"';
|
||
return '<a href="javascript:;" onclick="ShowWindow(this)"' + ps + '>' + safe_val(item.eventmemo) + '</a>';
|
||
}
|
||
else {
|
||
return safe_val(item.eventmemo);
|
||
}
|
||
}
|
||
}
|
||
, { field: 'noticetime', title: '提醒时间', width: 150 }
|
||
, {
|
||
field: 'isread', title: '是否已读', width: 80, templet: function (item) {
|
||
var display = item.isread === 1 ? '已读' : '未读';
|
||
return '<span class="isread">' + display + '</span>';
|
||
}
|
||
}
|
||
, {
|
||
field: 'readtime', title: '已读时间', width: 150, templet: function (item) {
|
||
var display = safe_val(item.readtime);
|
||
return '<span class="readtime">' + display + '</span>';
|
||
}
|
||
}
|
||
, {
|
||
field: 'saleline', title: '线索', width: 60, templet: function (item) {
|
||
if (!item.appid || !item.appuserid) {
|
||
return "";
|
||
}
|
||
var ps = '';
|
||
ps += ' data-id="' + safe_val(item.id) + '"';
|
||
ps += ' data-resid="' + safe_val(item.resid) + '"';
|
||
ps += ' data-appid="' + safe_val(item.appid) + '"';
|
||
ps += ' data-appuserid="' + safe_val(item.appuserid) + '"';
|
||
ps += ' data-isread="' + (item.isread === 1 ? 1 : 0) + '"';
|
||
ps += ' data-eid="' + safe_val(item.eid) + '"';
|
||
return '<div><a class="layui-table-link" href="javascript:;" onclick="OpenSalesLead(this)"' + ps + '>查看</a></div>';
|
||
|
||
}
|
||
}, {
|
||
field: 'operation', title: '重要线索', width: 80, templet: function (item) {
|
||
if (!item.appid || !item.appuserid) {
|
||
return "";
|
||
}
|
||
var ps = '';
|
||
ps += ' data-id="' + safe_val(item.id) + '"';
|
||
ps += ' data-resid="' + safe_val(item.resid) + '"';
|
||
ps += ' data-appid="' + safe_val(item.appid) + '"';
|
||
ps += ' data-appuserid="' + safe_val(item.appuserid) + '"';
|
||
ps += ' data-isread="' + (item.isread === 1 ? 1 : 0) + '"';
|
||
ps += ' data-eid="' + safe_val(item.eid) + '"';
|
||
return '<a href="javascript:;" onclick="show_detail(this)"' + ps + '>查看</a>';
|
||
}
|
||
}
|
||
]];
|
||
table.render({
|
||
id: 'list'//列表别名ID
|
||
, elem: '#list'
|
||
, url: '/ToDoItem/ImportantNew'
|
||
, method: 'post'
|
||
, dataType: 'json'
|
||
, request: {
|
||
pageName: 'pageIndex' //页码的参数名称,默认:page
|
||
, limitName: 'pageSize' //每页数据量的参数名,默认:limit
|
||
}
|
||
, response: {
|
||
statusName: 'code' //规定数据状态的字段名称,默认:code
|
||
, statusCode: 0 //规定成功的状态码,默认:0
|
||
, msgName: 'message' //规定状态信息的字段名称,默认:msg
|
||
},
|
||
parseData: function (res) { //res 即为原始返回的数据
|
||
if (res.code != 0) {
|
||
layer.msg(res.message, { icon: 2 });
|
||
return {
|
||
"code": res.code, //解析接口状态
|
||
"msg": res.message, //解析提示文本
|
||
"count": 0, //解析数据长度
|
||
"data": [] //解析数据列表
|
||
};
|
||
}
|
||
return {
|
||
"code": res.code, //解析接口状态
|
||
"msg": res.message, //解析提示文本
|
||
"count": res.data.total, //解析数据长度
|
||
"data": res.data.data //解析数据列表
|
||
};
|
||
}
|
||
, cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
||
, page: true
|
||
, limit: 10
|
||
, height: "full-160"
|
||
, size: "sm"
|
||
, cols: tableCols, where: param
|
||
});
|
||
var active = {
|
||
other1: function () {
|
||
var param = $("#myform").serializeFormJSON();
|
||
|
||
var queryString = "";
|
||
for (var key in param) {
|
||
if (queryString != "") queryString += "&";
|
||
queryString += key + "=" + encodeURIComponent(param[key]);
|
||
}
|
||
|
||
// $("#modalwindow").html(GetIframeHtml("/Control/ExcelExport?Query=" + encodeURIComponent("/WeiXin/OutComplaint/Export?" + queryString)));
|
||
//$("#modalwindow").window({ title: '导出', width: 480, height: 300, iconCls: 'icon-export' }).window('open');
|
||
layer.open({
|
||
title: '<i class="layui-icon layui-icon-export" style="font-size: 20px; color: #1E9FFF;"></i> 导出',
|
||
type: 2,
|
||
content: "/Control/ExcelExport_cookie?Query=" + encodeURIComponent("/ToDoItem/Export?param=" + JSON.stringify(param)),
|
||
area: ['850px', '400px']
|
||
});
|
||
},
|
||
search: function () {
|
||
var param = $("#myform").serializeFormJSON();
|
||
table.reload('list', {
|
||
where: param,
|
||
page: {
|
||
curr: 1
|
||
}
|
||
});
|
||
}
|
||
};
|
||
$('.layui-btn').on('click', function () {
|
||
var othis = $(this), method = othis.data('method');
|
||
console.log(method);
|
||
active[method] ? active[method].call(this, othis) : '';
|
||
|
||
});
|
||
$('#search').on('click', function () {
|
||
var othis = $(this), method = othis.data('method');
|
||
active[method] ? active[method].call(this, othis) : '';
|
||
});
|
||
});
|
||
//获取datagrid头部及字段
|
||
function getDataGridHeader() {
|
||
|
||
var newcolumns = [];
|
||
var columns = tableCols[0];
|
||
for (var i = 0; i < columns.length; i++) {
|
||
if (columns[i].field != "checkbox" && columns[i].type != "numbers" && columns[i].field != "operation" && columns[i].field != "saleline") {
|
||
newcolumns.push(columns[i])
|
||
};
|
||
}
|
||
return newcolumns;
|
||
}
|
||
function Closed() {
|
||
layer.close(winindex);
|
||
}
|
||
function TableReload() {
|
||
table.reload('list', {
|
||
|
||
});
|
||
}
|
||
|
||
function GetIframeHtml(src) {
|
||
return "<iframe width='100%' height='98%' scrolling='auto' frameborder='0'' src='" + src + "'></iframe>";
|
||
}
|
||
|
||
function onLoadSucced() {
|
||
}
|
||
|
||
function fill_model(id, model) {
|
||
var items = $(id).find('input');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
$(item).val(safe_val(model[name]));
|
||
}
|
||
})
|
||
|
||
items = $(id).find('select');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
$(item).val(safe_val(model[name]));
|
||
}
|
||
})
|
||
|
||
items = $(id).find('textarea');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
$(item).val(safe_val(model[name]));
|
||
}
|
||
})
|
||
|
||
items = $(id).find('span');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('data-name');
|
||
if (name) {
|
||
$(item).html(safe_val(model[name]));
|
||
}
|
||
})
|
||
}
|
||
|
||
function safe_val(val) {
|
||
return val != null ? val.toString() : '';
|
||
}
|
||
|
||
function get_model(id) {
|
||
var model = {};
|
||
var items = $(id).find('input');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
model[name] = $(item).val();
|
||
}
|
||
})
|
||
|
||
items = $(id).find('select');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
model[name] = $(item).val();
|
||
}
|
||
})
|
||
|
||
items = $(id).find('textarea');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('name');
|
||
if (name) {
|
||
model[name] = $(item).val();
|
||
}
|
||
})
|
||
|
||
items = $(id).find('span');
|
||
$.map(items, function (item) {
|
||
var name = $(item).attr('data-name');
|
||
if (name) {
|
||
model[name] = $(item).html();
|
||
}
|
||
})
|
||
return model;
|
||
}
|
||
|
||
function init_select(next) {
|
||
$.ajax({
|
||
url: '/Csvr/ToDoItem/GetEventTypeSelect',
|
||
type: 'POST',
|
||
data: "",
|
||
dataType: 'json',
|
||
success: function (data) {
|
||
var sb = '';
|
||
sb += '<option value="">全部</option>';
|
||
if (data.data && data.data.length > 0) {
|
||
for (var i = 0; i < data.data.length; i++) {
|
||
var item = data.data[i];
|
||
sb += '<option value="' + item.Value + '">' + item.Key + '</option>';
|
||
}
|
||
}
|
||
$('#slt_eventid').html(sb);
|
||
$('#slt_eventtypename').html('<option value="">全部</option>');
|
||
next && next()
|
||
},
|
||
fail: function (e) {
|
||
console.log(e);
|
||
$('#slt_eventid').html('<option value="">全部</option>');
|
||
$('#slt_eventtypename').html('<option value="">全部</option>');
|
||
next && next()
|
||
}
|
||
});
|
||
}
|
||
|
||
function eventid_changed(eventid) {
|
||
if (!eventid) {
|
||
$('#slt_eventtypename').html('<option value="">全部</option>');
|
||
form.render("select");
|
||
return;
|
||
}
|
||
$.ajax({
|
||
url: '/Csvr/ToDoItem/GetEventTypeSelect',
|
||
type: 'POST',
|
||
data: "eventid=" + (eventid ? eventid : ''),
|
||
dataType: 'json',
|
||
success: function (data) {
|
||
var sb = '';
|
||
sb += '<option value="">全部</option>';
|
||
if (data.data && data.data.length > 0) {
|
||
for (var i = 0; i < data.data.length; i++) {
|
||
var item = data.data[i];
|
||
sb += '<option value="' + item.Value + '">' + item.Key + '</option>';
|
||
}
|
||
}
|
||
$('#slt_eventtypename').html(sb);
|
||
form.render("select");
|
||
},
|
||
fail: function (e) {
|
||
console.log(e);
|
||
$('#slt_eventtypename').html('<option value="">全部</option>');
|
||
form.render("select");
|
||
}
|
||
});
|
||
}
|
||
|
||
function show_detail(sender) {
|
||
var id = $(sender).attr('data-id');
|
||
var appid = $(sender).attr('data-appid');
|
||
var appuserid = $(sender).attr('data-appuserid');
|
||
var isread = $(sender).attr('data-isread');
|
||
var eid = $(sender).attr('data-eid');
|
||
|
||
var ht = document.documentElement.scrollHeight;
|
||
var wt = document.documentElement.scrollWidth;
|
||
var lt = 0.5 * wt - 0.5 * 400;
|
||
var tp = 0.5 * ht - 0.5 * 650;
|
||
$("#modalwindow").html(GetIframeHtml("@(ViewBag.Host)/?appid=" + appid + "&appuserid=" + appuserid));
|
||
$("#modalwindow").window({ title: '重要线索', left: lt, top: tp, width: 400, height: 650, iconCls: 'icon-add' }).window('open');
|
||
|
||
if (eid == '@ViewBag.eid') {
|
||
edit_read(sender, id, isread);
|
||
}
|
||
}
|
||
|
||
function show_user(sender) {
|
||
var id = $(sender).attr('data-id');
|
||
var resid = $(sender).attr('data-resid');
|
||
var isread = $(sender).attr('data-isread');
|
||
var eid = $(sender).attr('data-eid');
|
||
|
||
parent.ChildAddTab('客户详细', '/Csvr/CustomerInfo/CustomerDetail?resid=' + resid, '');
|
||
|
||
if (eid == '@ViewBag.eid') {
|
||
edit_read(sender, id, isread);
|
||
}
|
||
}
|
||
|
||
function edit_read(sender, id, isread) {
|
||
$.ajax({
|
||
url: '/Csvr/ToDoItem/EditRead',
|
||
type: 'POST',
|
||
data: "id=" + id,
|
||
dataType: 'json',
|
||
success: function (data) {
|
||
if (data && sender && isread != '1') {
|
||
$(sender.parentNode.parentNode.parentNode).find('span[class=isread]').html('已读');
|
||
$(sender.parentNode.parentNode.parentNode).find('span[class=readtime]').html(format_time());
|
||
}
|
||
},
|
||
fail: function (e) {
|
||
console.log(e);
|
||
}
|
||
});
|
||
}
|
||
|
||
function format_time(dt, format) {
|
||
if (!dt) {
|
||
dt = new Date();
|
||
}
|
||
if (!format) {
|
||
format = 'yyyy-MM-dd HH:mm:ss';
|
||
}
|
||
format = format.replace(/yyyy/, dt.getFullYear());
|
||
format = format.replace(/MM/, (dt.getMonth() + 1).toString().padStart(2, '0'));
|
||
format = format.replace(/dd/, dt.getDate().toString().padStart(2, '0'));
|
||
format = format.replace(/HH/, dt.getHours().toString().padStart(2, '0'));
|
||
format = format.replace(/mm/, dt.getMinutes().toString().padStart(2, '0'));
|
||
format = format.replace(/ss/, dt.getSeconds().toString().padStart(2, '0'));
|
||
return format;
|
||
}
|
||
function OpenSalesLead(sender) {
|
||
var id = $(sender).attr('data-id');
|
||
var appid = $(sender).attr('data-appid');
|
||
var appuserid = $(sender).attr('data-appuserid');
|
||
var isread = $(sender).attr('data-isread');
|
||
var eid = $(sender).attr('data-eid');
|
||
|
||
$.ajax({
|
||
url: "/Csvr/CustomerUC/GetSalesLeadUrl",
|
||
type: "Post",
|
||
data: { appid: appid, appuserid: appuserid },
|
||
dataType: "json",
|
||
loading: true,
|
||
success: function (rep) {
|
||
if (rep.result) {
|
||
if (rep.retmsg != null && rep.retmsg.length > 0) {
|
||
layui.use('layer', function () {
|
||
var layer = layui.layer;
|
||
layer.open({
|
||
title: '销售线索',
|
||
type: 2,
|
||
content: rep.retmsg,
|
||
area: ['450px', '80%']
|
||
});
|
||
});
|
||
}
|
||
}
|
||
else {
|
||
alert("失败了!");
|
||
}
|
||
}
|
||
});
|
||
|
||
if (eid == '@ViewBag.eid') {
|
||
edit_read(sender, id, isread);
|
||
}
|
||
}
|
||
|
||
function ShowWindow(sender) {
|
||
var id = $(sender).attr('data-id');
|
||
var isread = $(sender).attr('data-isread');
|
||
var eid = $(sender).attr('data-eid');
|
||
var linkurl = $(sender).attr('data-linkurl');
|
||
var eventtypename = $(sender).attr('data-eventtypename');
|
||
|
||
var ht = document.documentElement.scrollHeight;
|
||
var wt = document.documentElement.scrollWidth;
|
||
var lt = 0.5 * wt - 0.5 * 1100;
|
||
var tp = 0.5 * ht - 0.5 * 650;
|
||
$("#modalwindow").html(GetIframeHtml(linkurl));
|
||
$("#modalwindow").window({ title: eventtypename, left: lt, top: tp, width: 1100, height: 650, iconCls: 'icon-add'}).window('open');
|
||
|
||
if (eid == '@ViewBag.eid') {
|
||
edit_read(sender, id, isread);
|
||
}
|
||
}
|
||
|
||
$(function () {
|
||
init_select(function () {
|
||
form.render("select");
|
||
});
|
||
});
|
||
</script> |