TG.WXCRM.V4/WEB/Views/Csvr/ToDoItem/ImportantNew.cshtml

604 lines
23 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;
@{
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>&nbsp;导出',
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>