mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-07-15 14:04:41 +08:00
优化流程节点显示
This commit is contained in:
parent
03622e25e7
commit
9feeb453d1
@ -32,25 +32,25 @@ namespace OpenAuth.Mvc
|
||||
"~/Content/scripts/plugins/wizard/wizard.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/wizard/js").Include(
|
||||
"~/Content/scripts/plugins/wizard/wizard.js"));
|
||||
//learun
|
||||
bundles.Add(new StyleBundle("~/Content/styles/learun-ui.css").Include(
|
||||
"~/Content/styles/learun-ui.css"));
|
||||
//
|
||||
bundles.Add(new StyleBundle("~/Content/styles/ui.css").Include(
|
||||
"~/Content/styles/ui.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/utils/js").Include(
|
||||
"~/Content/scripts/utils/learun-ui.js",
|
||||
"~/Content/scripts/utils/learun-form.js"));
|
||||
//learun Order
|
||||
"~/Content/scripts/utils/ui.js",
|
||||
"~/Content/scripts/utils/form.js"));
|
||||
// Order
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/printTable/js").Include(
|
||||
"~/Content/scripts/plugins/printTable/jquery.printTable.js"));
|
||||
|
||||
//工作流
|
||||
bundles.Add(new StyleBundle("~/Content/styles/learun-flowall.css").Include(
|
||||
"~/Content/styles/learun-ckbox-radio.css",
|
||||
"~/Content/styles/learun-applayout.css",
|
||||
"~/Content/styles/learun-flow.css"));
|
||||
bundles.Add(new StyleBundle("~/Content/styles/flowall.css").Include(
|
||||
"~/Content/styles/ckbox-radio.css",
|
||||
"~/Content/styles/applayout.css",
|
||||
"~/Content/styles/flow.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/flow/js").Include(
|
||||
"~/Content/scripts/utils/learun-applayout.js",
|
||||
"~/Content/scripts/utils/applayout.js",
|
||||
"~/Content/scripts/plugins/flow-ui/flow.js",
|
||||
"~/Content/scripts/utils/learun-flowlayout.js"));
|
||||
"~/Content/scripts/utils/flowlayout.js"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using Infrastructure;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.App.SSO;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Mvc.Controllers;
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
{
|
||||
@ -15,6 +15,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
public class FlowInstancesController : BaseController
|
||||
{
|
||||
private WFProcessInstanceService _app;
|
||||
|
||||
public FlowInstancesController()
|
||||
{
|
||||
_app = AutofacExt.GetFromFac<WFProcessInstanceService>();
|
||||
@ -27,6 +28,16 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 进度查看
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核流程
|
||||
/// </summary>
|
||||
@ -37,23 +48,97 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
return View();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public string Load(string type, int pageCurrent = 1, int pageSize = 30)
|
||||
{
|
||||
return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 进度查看
|
||||
/// 创建流程实例视图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookForm()
|
||||
public ActionResult FlowProcessNewForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程监控
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult MonitoringIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult DesignationIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程进度查看
|
||||
/// </summary>
|
||||
/// <returns></returns>\
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookFrom()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessDesignate()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
#endregion 视图
|
||||
|
||||
#region 提交数据
|
||||
|
||||
/// <summary>
|
||||
/// 创建流程实例
|
||||
/// </summary>
|
||||
/// <param name="wfSchemeInfoId">流程模板信息Id</param>
|
||||
/// <param name="frmData">表单数据</param>
|
||||
/// <param name="type">0发起,3草稿</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string CreateProcess(Guid wfSchemeInfoId, string wfProcessInstanceJson, string frmData)
|
||||
{
|
||||
WFProcessInstance wfProcessInstanceEntity = wfProcessInstanceJson.ToObject<WFProcessInstance>();
|
||||
wfProcessInstanceEntity.Id = Guid.Empty;
|
||||
if (wfProcessInstanceEntity.EnabledMark == 1)//发起流程
|
||||
{
|
||||
_app.CreateInstance(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
|
||||
}
|
||||
else if (wfProcessInstanceEntity.EnabledMark == 3)//草稿
|
||||
{
|
||||
_app.CreateRoughdraft(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
|
||||
}
|
||||
|
||||
return Result.ToJson();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核流程
|
||||
/// </summary>
|
||||
/// <param name="processId">工作流实例主键Id</param>
|
||||
/// <param name="verificationData">审核数据</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string VerificationProcess(Guid processId, string verificationData)
|
||||
{
|
||||
_app.VerificationProcess(processId, verificationData);
|
||||
return Result.ToJson();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除申请
|
||||
/// </summary>
|
||||
@ -64,7 +149,6 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
foreach (var id in ids)
|
||||
{
|
||||
_app.DeleteProcess(id);
|
||||
|
||||
}
|
||||
return Result.ToJson();
|
||||
}
|
||||
@ -76,84 +160,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建流程实例视图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult FlowProcessNewForm()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
|
||||
#region 提交数据
|
||||
/// <summary>
|
||||
/// 创建流程实例
|
||||
/// </summary>
|
||||
/// <param name="wfSchemeInfoId">流程模板信息Id</param>
|
||||
/// <param name="frmData">表单数据</param>
|
||||
/// <param name="type">0发起,3草稿</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public ActionResult CreateProcess(Guid wfSchemeInfoId, string wfProcessInstanceJson, string frmData)
|
||||
{
|
||||
WFProcessInstance wfProcessInstanceEntity = wfProcessInstanceJson.ToObject<WFProcessInstance>();
|
||||
wfProcessInstanceEntity.Id = Guid.Empty;
|
||||
string text = "创建成功";
|
||||
if (wfProcessInstanceEntity.EnabledMark == 1)//发起流程
|
||||
{
|
||||
_app.CreateInstance(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
|
||||
}
|
||||
else if (wfProcessInstanceEntity.EnabledMark == 3)//草稿
|
||||
{
|
||||
_app.CreateRoughdraft(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
|
||||
text = "草稿保存成功";
|
||||
}
|
||||
|
||||
return Content(text);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 视图功能
|
||||
/// <summary>
|
||||
/// 流程监控
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult MonitoringIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult DesignationIndex()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
/// <summary>
|
||||
/// 流程进度查看
|
||||
/// </summary>
|
||||
/// <returns></returns>\
|
||||
[HttpGet]
|
||||
public ActionResult ProcessLookFrom()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
/// <summary>
|
||||
/// 流程指派
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult ProcessDesignate()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
#endregion
|
||||
#endregion 提交数据
|
||||
|
||||
#region 获取数据(公用)
|
||||
|
||||
@ -168,6 +175,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
var data = _app.GetProcessSchemeEntity(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 已办流程进度查看,根据当前访问人的权限查看表单内容
|
||||
/// </summary>
|
||||
@ -179,6 +187,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
var data = _app.GetProcessSchemeByUserId(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 已办流程进度查看,根据当前节点的权限查看表单内容
|
||||
/// </summary>
|
||||
@ -191,6 +200,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
var data = _app.GetProcessSchemeEntityByNodeId(keyValue, nodeId);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取进程信息
|
||||
/// </summary>
|
||||
@ -208,6 +218,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
};
|
||||
return Content(JsonData.ToJson());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取进程实例
|
||||
/// </summary>
|
||||
@ -219,34 +230,12 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
|
||||
var processInstance = _app.GetProcessInstanceEntity(keyValue);
|
||||
return Content(processInstance.ToJson());
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 提交数据
|
||||
/// <summary>
|
||||
/// 删除工作流实例进程
|
||||
/// </summary>
|
||||
/// <param name="keyValue">主键值</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public ActionResult DeleteProcess(Guid keyValue)
|
||||
public string Load(string type, int pageCurrent = 1, int pageSize = 30)
|
||||
{
|
||||
_app.DeleteProcess(keyValue);
|
||||
return Content("删除成功。");
|
||||
return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核流程
|
||||
/// </summary>
|
||||
/// <param name="processId">工作流实例主键Id</param>
|
||||
/// <param name="processId">审核数据</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public ActionResult VerificationProcess(Guid processId, string verificationData)
|
||||
{
|
||||
_app.VerificationProcess(processId, verificationData);
|
||||
return Content("审核成功。");
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion 获取数据(公用)
|
||||
}
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
ViewBag.Title = "工作流节点设置";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<link href="~/Content/styles/learun-ckbox-radio.css" rel="stylesheet" />
|
||||
<link href="~/Content/styles/learun-flow.css" rel="stylesheet" />
|
||||
<link href="~/Content/styles/ckbox-radio.css" rel="stylesheet" />
|
||||
<link href="~/Content/styles/flow.css" rel="stylesheet" />
|
||||
<script>
|
||||
var node, nodelist = [], frmContentJson, frmType, NodePramData;
|
||||
$(function () {
|
||||
|
@ -2,7 +2,7 @@
|
||||
ViewBag.Title = "流程预览";
|
||||
Layout = "~/Views/Shared/_FlowForm.cshtml";
|
||||
}
|
||||
<link href="~/Content/styles/learun-flow.css" rel="stylesheet" />
|
||||
<link href="~/Content/styles/flow.css" rel="stylesheet" />
|
||||
<script>
|
||||
var keyValue = request('keyValue');
|
||||
var schemeVersion = request('schemeVersion');
|
||||
|
@ -261,20 +261,7 @@ $.fn.flowdesign = function (options) {
|
||||
_frmitems[_frmitem.control_field] = _frmitem.control_label;
|
||||
}
|
||||
var DataBaseLinkData = {};
|
||||
$.ajax({
|
||||
url: "../../SystemManage/DataBaseLink/GetListJson",
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
for (var i in data) {
|
||||
DataBaseLinkData[data[i].DatabaseLinkId] = data[i].DBAlias;
|
||||
}
|
||||
},
|
||||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||||
dialogMsg(errorThrown, -1);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var _NodeRejectType = { "0": "前一步", "1": "第一步", "2": "某一步", "3": "用户指定", "4": "不处理" };
|
||||
var _NodeIsOver = { "0": "不允许", "1": "允许" };
|
@ -1,476 +0,0 @@
|
||||
$.IMSignalR = function (options) {
|
||||
var defaults = {
|
||||
url: "http://localhost:8081/signalr",//服务地址
|
||||
userId: "",//用户登录Id
|
||||
updateUserList: function (userAllList, onLineUserList) { },//刷新用户列表
|
||||
updateLastUser: function (userLasrList) { },//刷新最新联系人
|
||||
updateUserStatus: function (userId, isOnLine) { },//刷用户在线状态0离线。1在线
|
||||
revMessage: function (formUser, message, dateTime) { },//接收消息
|
||||
revGroupMessage: function (userId, toGroup, message, dateTime) { },//接收群组消息
|
||||
afterLinkSuccess: function () { },//连接服务成功后
|
||||
disconnected: function () { }//断开连接后
|
||||
};
|
||||
var imMethod = {
|
||||
//组的操作
|
||||
IMCreateGroup: function (groupName, userIdList) { },//创建一个组
|
||||
IMUpdateGroupName: function (groupId, groupName) { },//更改组的名字
|
||||
IMAddGroupUserId: function (groupId, userId) { },//增加一个用户到组里
|
||||
IMRemoveGroupUserId: function (userGroupId) { },//从一个组里面移除
|
||||
//消息的操作
|
||||
IMSendToOne: function (toUser, message) { },//发送消息
|
||||
IMSendGroup: function (toUser, message) { },//发送消息群组
|
||||
IMUpdateMessageStatus: function (sendId) { },//更新消息状态
|
||||
IMGetMsgList: function (page, rownum, sendId, callback) { },//获取消息列表
|
||||
IMGetUnReadMsgNumList: function () { },//获取未读消息的条数
|
||||
//联系人操作
|
||||
IMUpdateLastUserByClient: function () { },//主动发起更新最近联系人列表
|
||||
//获取所有用户列表
|
||||
userAllList: {},
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
//Set the hubs URL for the connection
|
||||
$.connection.hub.url = options.url;
|
||||
$.connection.hub.qs = { "userId": options.userId };
|
||||
// Declare a proxy to reference the hub.
|
||||
var chat = $.connection.ChatsHub;
|
||||
//更新联系人列表
|
||||
chat.client.IMUpdateUserList = function (userAllList, onLineUserList) {
|
||||
var userDepartmentList = {};
|
||||
imMethod.userAllList = userAllList;
|
||||
$.each(userAllList, function (Id, item) {
|
||||
if (Id != options.userId) {
|
||||
if (userDepartmentList[item.DepartmentId] == undefined) {
|
||||
userDepartmentList[item.DepartmentId] = {};
|
||||
userDepartmentList[item.DepartmentId].DepartmentName = item.DepartmentId;
|
||||
if (item.UserOnLine == 1) {
|
||||
userDepartmentList[item.DepartmentId].onLineNum = 1;
|
||||
}
|
||||
else {
|
||||
userDepartmentList[item.DepartmentId].onLineNum = 0;
|
||||
}
|
||||
userDepartmentList[item.DepartmentId].UserList = [];
|
||||
userDepartmentList[item.DepartmentId].UserList.push(item);
|
||||
}
|
||||
else {
|
||||
if (item.UserOnLine == 1) {
|
||||
userDepartmentList[item.DepartmentId].onLineNum++;
|
||||
}
|
||||
userDepartmentList[item.DepartmentId].UserList.push(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
options.updateUserList(userDepartmentList, onLineUserList);
|
||||
}
|
||||
//刷新最近的联系人
|
||||
chat.client.IMUpdateLastUser = function (lastUserList) {
|
||||
options.updateLastUser(lastUserList);
|
||||
}
|
||||
//刷新用户在线状态
|
||||
chat.client.IMUpdateUserStatus = function (userId, isOnLine) {
|
||||
imMethod.userAllList[userId].UserOnLine = isOnLine;
|
||||
options.updateUserStatus(userId, isOnLine);
|
||||
}
|
||||
//接收消息
|
||||
chat.client.RevMessage = function (formUser, message, dateTime) {
|
||||
options.revMessage(formUser, message, dateTime);
|
||||
}
|
||||
//接收群消息
|
||||
chat.client.RevGroupMessage = function (userId, toGroup, message, dateTime) {
|
||||
options.revGroupMessage(userId, toGroup, message, dateTime);
|
||||
}
|
||||
// 连接成功后注册服务器方法
|
||||
$.connection.hub.start().done(function () {
|
||||
imMethod.IMCreateGroup = function (groupName, userIdList) {
|
||||
return chat.server.createGroup(groupName, userIdList);
|
||||
};
|
||||
imMethod.IMUpdateGroupName = function (groupId, groupName) {
|
||||
return chat.server.updateGroupName(groupId, groupName);
|
||||
};
|
||||
imMethod.IMAddGroupUserId = function (groupId, userId) {
|
||||
return chat.server.addGroupUserId(groupId, userId);
|
||||
};
|
||||
imMethod.IMRemoveGroupUserId = function (userGroupId) {
|
||||
return chat.server.removeGroupUserId(userGroupId);
|
||||
};
|
||||
|
||||
imMethod.IMSendToOne = function (toUser, message) {
|
||||
chat.server.imSendToOne(toUser, message);
|
||||
};
|
||||
imMethod.IMSendGroup = function (toUser, message) {
|
||||
chat.server.imSendToGroup(toUser, message);
|
||||
};
|
||||
imMethod.IMUpdateMessageStatus = function (sendId) {
|
||||
return chat.server.updateMessageStatus(sendId);
|
||||
};
|
||||
//获取与某用户的消息列表
|
||||
imMethod.IMGetMsgList = function (page, rownum, sendId, callback) {
|
||||
var pagination = { rows: rownum, page: page, sidx: 'CreateDate', sord: 'desc' }
|
||||
chat.server.getMsgList(pagination, sendId).done(function (resdata) {
|
||||
var data = [];
|
||||
for (i = resdata.length, i >= 0; i--;) {
|
||||
resdata[i].CreateDate = formatDate(resdata[i].CreateDate, 'yyyy-MM-dd hh:mm');
|
||||
data.push(resdata[i]);
|
||||
}
|
||||
callback(data);
|
||||
});
|
||||
|
||||
};
|
||||
//获取未读消息的条数
|
||||
imMethod.IMGetUnReadMsgNumList = function (callback) {
|
||||
chat.server.getMsgNumList("0").done(function (resdata) {
|
||||
callback(resdata);
|
||||
});
|
||||
};
|
||||
|
||||
imMethod.IMUpdateLastUserByClient = function () {
|
||||
chat.server.imSendLastUser();
|
||||
}
|
||||
|
||||
options.afterLinkSuccess();
|
||||
});
|
||||
//断开连接后
|
||||
$.connection.hub.disconnected(function () {
|
||||
options.disconnected();
|
||||
});
|
||||
//返回可供客户端调用的方法
|
||||
return imMethod;
|
||||
}
|
||||
//即使通信
|
||||
IMInit = function (options) {
|
||||
var $message_wrap = $(".message-wrap");
|
||||
var $message_window = $(".message-window");
|
||||
var imMethod;
|
||||
var defaults = {
|
||||
userId: "77653de4-d8e7-4903-9f2a-ee47ba3111da",//当前登录Id
|
||||
userName: "", //当前用户名,
|
||||
toUserId: "", //发送人Id
|
||||
toUserName: "", //发送人
|
||||
windowId: "", //当前窗口Id
|
||||
revMessage: GetMessage,
|
||||
afterLinkSuccess: function () { //连接成功后
|
||||
//显示消息未读条数
|
||||
imMethod.IMGetUnReadMsgNumList(function (num) {
|
||||
$message_wrap.find('.message-count').html(num);
|
||||
if (parseInt(num) > 0)
|
||||
{
|
||||
IMIconflash(1);
|
||||
}
|
||||
});
|
||||
},
|
||||
disconnected: function () {
|
||||
IMRemove();
|
||||
},
|
||||
//初始化联系人列表
|
||||
updateUserList: function (userAllList, onLineUserList) {
|
||||
var $ul = $(".message-group #message-contact-list");
|
||||
var html = "";
|
||||
for (var i in userAllList)
|
||||
{
|
||||
var item = userAllList[i];
|
||||
console.log(item);
|
||||
html += '<li><a><i class="fa fa-caret-right"></i><span>' + item.DepartmentName + '</span><em> ' + item.onLineNum + '/' + item.UserList.length + ' </em></a>'
|
||||
var userJson = userAllList[i].UserList.sort(function (a, b) { return a.UserOnLine < b.UserOnLine ? 1 : -1 });
|
||||
if (userJson.length > 0) {
|
||||
html += '<ul class="message-chatlist">';
|
||||
$.each(userJson, function (j) {
|
||||
var src = "/Content/images/off-line.png";
|
||||
if (userJson[j].UserOnLine == 1) {
|
||||
src = "/Content/images/on-line.png";
|
||||
}
|
||||
html += '<li>';
|
||||
html += '<div class="message-oneface"><img src="' + top.contentPath + src + '" /></div>';
|
||||
html += '<div data-value="' + userJson[j].UserId + '" class="message-onename">' + userJson[j].RealName + ' <span>[' + userAllList[i].DepartmentName + ']</span></div>';
|
||||
html += '</li>';
|
||||
});
|
||||
html += '</ul>';
|
||||
}
|
||||
html += '</li>';
|
||||
}
|
||||
$ul.html(html);
|
||||
//点击部门名称展开
|
||||
$message_wrap.find('.message-group a').click(function () {
|
||||
if (!$(this).hasClass("active")) {
|
||||
$(this).addClass("active")
|
||||
$(this).next('.message-chatlist').slideDown(200);
|
||||
$(this).find('i').removeClass('fa-caret-right').addClass('fa-caret-down');
|
||||
} else {
|
||||
$(this).removeClass("active")
|
||||
$(this).next('.message-chatlist').slideUp(200);
|
||||
$(this).find('i').removeClass('fa-caret-down').addClass('fa-caret-right');
|
||||
}
|
||||
});
|
||||
//打开聊天窗口
|
||||
OpenChatWindow();
|
||||
//关闭聊天窗口
|
||||
CloseChatWindow();
|
||||
},
|
||||
//更新最近联系人列表
|
||||
updateLastUser: UpDateLastUser,
|
||||
//刷新用户在线状态
|
||||
updateUserStatus: function (userId, isOnline) {
|
||||
var node = $message_wrap.find('.message-chatlist li').find('[data-value=' + userId + ']')[0];
|
||||
var emnode = $(node.parentNode.parentNode.parentNode).find('em');
|
||||
var usernumlist = emnode.html().split('/');
|
||||
var OnlineNum = parseInt(usernumlist[0].replace(/ /g, ''));//刷新列表人数
|
||||
var src = "off-line.png"
|
||||
if (isOnline == 1) {
|
||||
var linode = $(node.parentNode).clone();
|
||||
var ulnode = $(node.parentNode.parentNode);
|
||||
ulnode.prepend(linode);
|
||||
$(node.parentNode).remove();
|
||||
|
||||
src = "on-line.png";
|
||||
OnlineNum++;
|
||||
}
|
||||
else {
|
||||
OnlineNum--;
|
||||
}
|
||||
$message_wrap.find('.message-chatlist li').find('[data-value=' + userId + ']').prev('.message-oneface').find('img').attr('src', top.contentPath + '/Content/images/' + src + '');
|
||||
emnode.html(" " + OnlineNum + '/' + usernumlist[1]);
|
||||
|
||||
}
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
imMethod = $.IMSignalR(options);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
IMRemove();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//打开即时聊天
|
||||
$("#btn_message").click(function () {
|
||||
$(this).hide()
|
||||
$message_wrap.show();
|
||||
})
|
||||
//关闭即时聊天
|
||||
$message_wrap.find('.message-close').click(function () {
|
||||
IMIconflash(0);
|
||||
$message_wrap.hide();
|
||||
$message_window.hide();
|
||||
$("#btn_message").show();
|
||||
})
|
||||
//导航切换(联系人、讨论组、最近回话)
|
||||
$message_wrap.find('.message-nav li').click(function () {
|
||||
var tab_Id = $(this).attr('id');
|
||||
switch (tab_Id) {
|
||||
case "nav-contact-tab":
|
||||
$message_wrap.find("#message-contact-list").show();
|
||||
$message_wrap.find("#message-group-list").hide();
|
||||
$message_wrap.find("#message-last-list").hide();
|
||||
$(this).find('span').hide();
|
||||
break;
|
||||
case "nav-group-tab":
|
||||
$message_wrap.find("#message-group-list").show();
|
||||
$message_wrap.find("#message-contact-list").hide();
|
||||
$message_wrap.find("#message-last-list").hide();
|
||||
break;
|
||||
case "nav-last-tab":
|
||||
$message_wrap.find("#message-last-list").show();
|
||||
$message_wrap.find("#message-contact-list").hide();
|
||||
$message_wrap.find("#message-group-list").hide();
|
||||
$(this).find('span').show();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
$(this).parents('ul').find('li').removeClass("active");
|
||||
$(this).addClass("active");
|
||||
});
|
||||
//搜索(同事、讨论组、最近回话)
|
||||
$message_wrap.find('.message-body-search').find('.search-text').keyup(function () {
|
||||
var $chatlist = $("#message-contact-list").find('.message-chatlist');
|
||||
var value = $(this).val();
|
||||
if (value != "") {
|
||||
$chatlist.show();
|
||||
$chatlist.prev('a').hide();
|
||||
window.setTimeout(function () {
|
||||
$chatlist.find('li')
|
||||
.hide()
|
||||
.filter(":contains('" + (value) + "')")
|
||||
.show();
|
||||
}, 200);
|
||||
$chatlist.find('li').hover(function () {
|
||||
$(this).find('span').show();
|
||||
}, function () {
|
||||
$(this).find('span').hide();
|
||||
})
|
||||
} else {
|
||||
$chatlist.hide();
|
||||
$chatlist.find('li').show();
|
||||
$chatlist.prev('a').show();
|
||||
if ($chatlist.prev('a').hasClass('active')) {
|
||||
$chatlist.prev('a.active').next('ul').show();
|
||||
}
|
||||
$chatlist.find('li').find('span').hide();
|
||||
}
|
||||
}).keyup();
|
||||
|
||||
|
||||
//刷新最近联系人列表
|
||||
function UpDateLastUser(userLasrList) {
|
||||
var $ul = $(".message-group #message-last-list");
|
||||
var html = "";
|
||||
//显示消息未读条数
|
||||
imMethod.IMGetUnReadMsgNumList(function (num) {
|
||||
$message_wrap.find('.message-count').html(num);
|
||||
});
|
||||
$ul.html(html);
|
||||
$.each(userLasrList, function (i, item) {
|
||||
|
||||
var model = imMethod.userAllList[item.OtherId];
|
||||
var src = "off-line.png"
|
||||
if (model.UserOnLine == 1) {
|
||||
src = "on-line.png"
|
||||
}
|
||||
html += '<li>';
|
||||
html += '<div class="message-oneface"><img src="' + top.contentPath + '/Content/images/' + src + '" /></div>';
|
||||
html += '<div data-value="' + model.UserId + '" class="message-onename">' + model.RealName + ' <span>[' + model.DepartmentId + ']</span></div>';
|
||||
if (item.UnReadNum > 0) {
|
||||
html += '<span class="message-count">' + item.UnReadNum + '</span>';
|
||||
}
|
||||
html += '</li>';
|
||||
});
|
||||
$ul.append(html);
|
||||
$ul.find('li').hover(function () {
|
||||
$(this).find('span').show();
|
||||
}, function () {
|
||||
$(this).find('span').hide();
|
||||
})
|
||||
//打开聊天窗口
|
||||
OpenChatWindow();
|
||||
//关闭聊天窗口
|
||||
CloseChatWindow();
|
||||
}
|
||||
//打开聊天窗口
|
||||
function OpenChatWindow() {
|
||||
$message_wrap.find('.message-chatlist li').click(function () {
|
||||
$message_window.show();
|
||||
var id = $(this).find('.message-onename').attr('data-value');
|
||||
var name = $(this).find('.message-onename').text();
|
||||
|
||||
defaults.toUserId = id;
|
||||
defaults.toUserName = name;
|
||||
defaults.windowId = id;
|
||||
$message_window.find('.message-window-header .text').html('与 ' + name + ' 聊天中')
|
||||
$message_window.find('.message-window-chat').scrollTop($message_window.find('.message-window-chat')[0].scrollHeight);
|
||||
$message_window.find('.message-window-chat').find('.message-window-content').html('');
|
||||
|
||||
//IMIconflash(0);
|
||||
imMethod.IMGetMsgList(1, 5, id, function (data) {
|
||||
imMethod.IMUpdateMessageStatus(id);
|
||||
$.each(data, function (i) {
|
||||
GetMessage(data[i].SendId, data[i].Content, data[i].CreateDate, true);
|
||||
});
|
||||
//显示消息未读条数
|
||||
imMethod.IMGetUnReadMsgNumList(function (num) {
|
||||
$message_wrap.find('.message-count').html(num);
|
||||
});
|
||||
$(this).find('.message-count').html("");
|
||||
});
|
||||
});
|
||||
}
|
||||
//关闭聊天窗口
|
||||
function CloseChatWindow() {
|
||||
$message_window.find('.message-window-header .close').click(function () {
|
||||
$message_window.hide();
|
||||
defaults.windowId = "";
|
||||
})
|
||||
}
|
||||
SendMessage();
|
||||
//发消息
|
||||
function SendMessage() {
|
||||
var $textarea = $message_window.find('.message-window-send').find('textarea');
|
||||
$textarea.bind('keypress', function (event) {
|
||||
if (event.keyCode == "13") {
|
||||
var sendText = $(this).val();
|
||||
if (sendText) {
|
||||
imMethod.IMSendToOne(options.toUserId, sendText);
|
||||
$message_window.find('.message-window-send').html('<textarea autofocus placeholder="按回车发送消息,shift+回车换行"></textarea>');
|
||||
SendMessage();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//收消息
|
||||
function GetMessage(fromUer, content, dateTime,flag) {
|
||||
if (fromUer != options.userId) {
|
||||
if (options.windowId == fromUer)
|
||||
{
|
||||
var html = '<div class="left"><div class="author-name">';
|
||||
html += '<img src="/Content/images/on-line.png" />';
|
||||
html += '<small class="chat-text">' + options.toUserName + '</small>';
|
||||
html += '<small class="chat-date">' + dateTime + '</small>';
|
||||
html += '</div><div class="chat-message"><em></em>' + content + '</div></div>';
|
||||
$message_window.find('.message-window-content').append(html)
|
||||
$message_window.find('.message-window-chat').scrollTop($message_window.find('.message-window-chat')[0].scrollHeight);
|
||||
}
|
||||
if (flag == undefined) {
|
||||
//统计未读消息总数量
|
||||
if (options.windowId != fromUer) {
|
||||
var num = parseInt($message_wrap.find('.message-count').html());
|
||||
num += 1;
|
||||
if (num > 99) {
|
||||
num = 99;
|
||||
}
|
||||
$message_wrap.find('.message-count').html(num);
|
||||
IMIconflash(1);
|
||||
}
|
||||
else {//如果窗口是打开的就判定为已读
|
||||
imMethod.IMUpdateMessageStatus(fromUer);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var html = '<div class="right"><div class="author-name">';
|
||||
html += '<small class="chat-date">2015-11-25 11:24</small>';
|
||||
html += '<small class="chat-text">' + options.userName + '</small>';
|
||||
html += '<img src="/Content/images/on-line.png" />';
|
||||
html += '</div>';
|
||||
html += '<div class="chat-message"><em></em>' + content + '</div></div>';
|
||||
$message_window.find('.message-window-content').append(html)
|
||||
$message_window.find('.message-window-chat').scrollTop($message_window.find('.message-window-chat')[0].scrollHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
//图标闪乐
|
||||
var IMinterval;
|
||||
IMIconflash = function (state) {
|
||||
var $obj = $("#icon_message");
|
||||
if (state == 1) {
|
||||
if ($('body').find('embed').length == 0) {
|
||||
$('body').append('<embed src="' + top.contentPath + '/Content/images/video/5103.wav">');
|
||||
}
|
||||
else {
|
||||
$('embed').remove();
|
||||
$('body').append('<embed src="' + top.contentPath + '/Content/images/video/5103.wav">');
|
||||
}
|
||||
IMinterval = setInterval(function () {
|
||||
if (!$obj.hasClass('_ok')) {
|
||||
$obj.addClass('_ok');
|
||||
$obj.hide();
|
||||
} else {
|
||||
$obj.removeClass('_ok');
|
||||
$obj.show();
|
||||
}
|
||||
}, 400);
|
||||
} else {
|
||||
$obj.removeClass('_ok');
|
||||
$obj.show();
|
||||
clearInterval(IMinterval);
|
||||
}
|
||||
}
|
||||
//服务端断开,移除消息窗体
|
||||
IMRemove = function () {
|
||||
var $obj = $('#btn_message');
|
||||
var $messagewrap = $('.message-wrap');
|
||||
$obj.remove();
|
||||
$messagewrap.remove();
|
||||
top.dialogTop("消息服务器连接不上", "error");
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
.slimScrollDiv >*{overflow: hidden;}
|
||||
.message-prompt{display: block;text-decoration: none;z-index: 100;position: fixed;bottom: 11px;right: 13px;overflow: hidden;width: 35px;height: 35px;border: none;border-radius: 25px;background-color: rgba(0, 0, 0, 0.4);}
|
||||
.message-prompt i{color: #fff;opacity: 0.9;margin-left: 7px;margin-top: 7px;font-size:20px;}
|
||||
.message-wrap{display:none;text-decoration: none;z-index: 100;position: fixed;bottom: 8px;right: 10px;overflow: hidden;width: 230px;height:450px;border: 1px solid #BEBEBE;background: #fff;box-shadow: 0 0 10px rgba(0,0,0,.2);border-top-left-radius: 5px;border-top-right-radius: 5px;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;user-select: none;}
|
||||
.message-header{line-height: 40px;height: 40px;padding-left:15px;border-bottom: 1px solid #DCDCDC;color: #354052;}
|
||||
.message-close{margin-top: 5px;float: right;padding-right:8px;}
|
||||
.message-close a{text-decoration: none;float: right;font-size: 25px;font-weight: 700;line-height: 1;color: #000;text-shadow: 0 1px 0 #fff;filter: alpha(opacity=20);opacity: .2;}
|
||||
.message-body-search{position: relative;height: 30px;line-height:30px;padding-right:40px;border-bottom: 1px solid #DCDCDC;background-color: #fff;}
|
||||
.message-body-search .search-text{line-height: 24px;float: left;width: 100%;height: 24px;margin: 2px 4px 0 10px;border: none;background: transparent;font-family: Arial, 'Hiragino Sans GB', '微软雅黑', '黑体-简', Helvetica, sans-serif;font-size: 12px;-webkit-transition: box-shadow .30s ease-in-out;border: none;outline: 0;}
|
||||
.message-body-search i{position:absolute;right:9px;top:6px;color:#ccc;font-size: 16px;cursor:pointer;}
|
||||
.message-nav{line-height: 38px;height: 38px;width: 100%;background-color: #F4F4F4;border-bottom: 1px solid #DBDBDB}
|
||||
.message-nav ul li{float: left;width: 76px;height: 38px;line-height:38px;text-align: center;border-right: 1px solid #DBDBDB;cursor:pointer;}
|
||||
.message-nav ul li:last-child{border-right: none}
|
||||
.message-nav ul li a{position: relative;display:block;margin-top:3px;margin-left:5px;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;user-select: none;}
|
||||
.message-nav ul li i{width: 23px;height: 23px;font-size: 23px;color: #ccc;}
|
||||
.message-nav ul li.active{height: 39px;background-color: #fff;}
|
||||
.message-nav ul li.active i{color: #337ab7;}
|
||||
.message-nav ul li .message-count{position: absolute;right:15px;top: 2px;background: #C35353;text-align: center;height:15px;line-height:15px;width:17px;color: #FFF;display:block;border-radius:17px;}
|
||||
.message-group{height: 300px;padding: 0px 0;width:100%;margin:0px;float:left;width:100%;}
|
||||
.message-group li a{height:27px;line-height:27px;cursor:pointer;display:block;}
|
||||
.message-group li a:hover{background-color: #eee;}
|
||||
.message-group li i{width: 10px;height: 10px;font-size: 12px;color: #666;padding-right:5px;padding-left:15px;}
|
||||
.message-group li em{font-style: normal;font-weight: 400;}
|
||||
.message-chatlist{display:none;margin:0px;width:100%;}
|
||||
.message-chatlist li{height: 40px;line-height: 40px;padding: 0px 15px;cursor: pointer;width:100%;}
|
||||
.message-chatlist li:hover{background-color: #FDEBA8;}
|
||||
.message-chatlist li .message-oneface{float:left;}
|
||||
.message-chatlist li .message-oneface img{width: 30px;height: 30px;border-radius: 30px;margin-right:10px;margin-top: 5px;float:left;text-align:left;}
|
||||
.message-chatlist li .message-onename{float:left;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;user-select: none;}
|
||||
.message-chatlist li .message-onename span{display:none;}
|
||||
.message-chatlist li .message-count{float: right;background: #C35353;height: 15px;line-height: 15px;width: 17px;color: #FFF;display: block;border-radius: 17px;right: 20px;position: absolute;text-align: center;margin-top: 7px;}
|
||||
.message-window{display:none;text-decoration: none;z-index: 100;position: fixed;bottom: 8px;right: 250px;overflow: hidden;width: 410px;height:410px;border: 1px solid #BEBEBE;background: #fff;box-shadow: 0 0 10px rgba(0,0,0,.2);border-top-left-radius: 5px;border-top-right-radius: 5px;}
|
||||
.message-window-header{background: #2c3849;line-height: 40px;height: 40px;padding-left:15px;border-bottom: 1px solid #DCDCDC;color: #354052;color: #fff;}
|
||||
.message-window-header .text{font-weight: 700;}
|
||||
.message-window-header .close{margin-top: 5px;float: right;padding-right:8px;}
|
||||
.message-window-header .close a{text-decoration: none;float: right;font-size: 25px;font-weight: 700;line-height: 1;color: #fff;text-shadow: 0 1px 0 #fff;}
|
||||
.message-window .message-window-chat{color: #676a6c;}
|
||||
.message-window .message-window-chat .author-name{margin-bottom:3px;font-size:11px}
|
||||
.message-window .message-window-chat .left .chat-text{font-size: 12px;padding-right: 10px;vertical-align: top;line-height: 32px;}
|
||||
.message-window .message-window-chat .left .chat-date{font-size: 12px;color: #999;vertical-align: top;line-height: 32px;}
|
||||
.message-window .message-window-chat .right .chat-text{font-size: 12px;vertical-align: top;line-height: 32px;}
|
||||
.message-window .message-window-chat .right .chat-date{font-size: 12px;color: #999;padding-right: 10px;vertical-align: top;line-height: 32px;}
|
||||
.message-window .message-window-chat .left img{width: 30px;height: 30px;padding-right: 0;margin-right: 15px;border-radius:30px;}
|
||||
.message-window .message-window-chat .right img{width: 30px;height: 30px;padding-right: 0;margin-left: 15px;border-radius:30px;}
|
||||
.message-window .message-window-chat>div{padding-bottom:20px}
|
||||
.message-window .message-window-chat .chat-message{padding:8px 10px;margin-top:5px;border-radius:5px;font-size:11px;line-height:16px;max-width:80%;background:#f3f3f4;margin-bottom:10px}
|
||||
.message-window .message-window-chat .left{text-align:left;clear:both}
|
||||
.message-window .message-window-chat .left .chat-message{float:left;position: relative;background:#337ab7;color:#fff}
|
||||
.message-window .message-window-chat .left .chat-message em{display: block;width: 0;height: 0;border-width: 0 5px 5px;border-style: solid;border-color: transparent transparent #337ab7;position: absolute;top: -4px;left: 20px;margin-left: -10px;}
|
||||
.message-window .message-window-chat .right{text-align:right;clear:both}
|
||||
.message-window .message-window-chat .right .chat-message{float:right;position: relative;}
|
||||
.message-window .message-window-chat .right .chat-message em{display: block;width: 0;height: 0;border-width: 0 5px 5px;border-style: solid;border-color: transparent transparent #f3f3f4;position: absolute;top: -5px;right: 10px;margin-left: -10px;}
|
||||
.message-window-tool{height:30px;line-height:30px;background-color: #F4F4F4;padding-left:5px;}
|
||||
.message-window-tool a{cursor:pointer;}
|
||||
.message-window-tool i{position: relative;top: 8px;display: inline-block;vertical-align: top;width: 16px;height: 16px;cursor: pointer;font-size: 14px;color: #999;font-weight: 700;}
|
||||
.message-window-tool-seechatlog{float:right;padding-right:10px;}
|
||||
.message-window-send{padding: 5px;}
|
||||
.message-window-send textarea{overflow:hidden;height:62px;width:100%;border: 0px solid #DCDCDC;resize: none;font-family: Arial, 'Hiragino Sans GB', '微软雅黑', '黑体-简', Helvetica, sans-serif;font-size: 12px;-webkit-transition: box-shadow .30s ease-in-out;border: none;outline: 0;}
|
@ -1,42 +0,0 @@
|
||||
.ui-report{display:inline-block;width:100%;position: relative;}
|
||||
.ui-report .grid-wrap{background: #fff;padding: 18px;margin-right:18px;box-shadow: 0 1px 3px rgba(0,0,0,0.2);border: 1px solid #cfcfcf;clear: both;}
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-view th,
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-view td,
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-view div{border-color: #ccc;}
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-hdiv,
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-htable th{background: #fff;}
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-pager{background: #fff;}
|
||||
.ui-report .ui-widget-content{border:none;}
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-btable{*margin-top: -1px;}
|
||||
.ui-report .ui-jqgrid{border:1px solid #ccc;}
|
||||
.ui-report .ui-jqgrid .ui-jqgrid-sdiv{border-top: 1px solid #ccc;}
|
||||
.ui-report .ui-jqgrid tr.footrow-ltr td {border-right: 1px solid #ccc;}
|
||||
.ui-report .ui-jqgrid .frozen-div{background:#fff !important;}
|
||||
.ui-report .ui-jqgrid .frozen-div .ui-jqgrid-resize-ltr{margin: 0 -2px 0 0px;}
|
||||
.ui-report .ui-jqgrid .frozen-bdiv table{background:#fff}
|
||||
.ui-report .ui-jqgrid tr.ui-row-ltr td{word-break: normal;word-wrap: normal;white-space: pre;border-right: 1px solid #ccc;}
|
||||
.ui-report .titlePanel{padding: 0;margin: 0 0px 5px 0;border: 1px solid #cfcfcf;box-shadow: 0 1px 3px rgba(0,0,0,0.2);}
|
||||
.ui-report .gridPanel{background: #fff;padding: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.2);border: 1px solid #cfcfcf;}
|
||||
.ui-report .grid-title{font-size: 22px;text-align:center;width:100%;color: #444;}
|
||||
.ui-report .grid-subtitle{width:100%;text-align:left;padding: 5px 0;}
|
||||
|
||||
|
||||
@media print{@page{margin:.5cm;}
|
||||
*{background:transparent !important;color:#333 !important;box-shadow:none !important;text-shadow:none !important;filter:0 !important;-ms-filter:0 !important;}
|
||||
thead{display:table-header-group;}
|
||||
tr,td,img{page-break-inside:avoid;}
|
||||
h2,h3{page-break-after:avoid;}
|
||||
p,h2,h3{orphans:3;widows:3;}
|
||||
.ui-table-print .grid-title{font-size: 22px;text-align:center;width:100%;color: #444;}
|
||||
.ui-table-print .grid-subtitle{width:100%;text-align:left;padding: 5px 0;}
|
||||
.ui-jqgrid .ui-jqgrid-bdiv, .ui-jqgrid .ui-jqgrid-bdiv > div{height: auto !important;}
|
||||
.ui-print .ui-jqgrid .ui-jqgrid-pager{display: none;}
|
||||
.ui-table-print{width: 100%;border-collapse: collapse;border-spacing: 0;font-size: 12px;margin: 1px -1px 0 1px;border: 1px solid #666;}
|
||||
.ui-table-print th,
|
||||
.ui-table-print td{padding: 5px 2px;border: 1px solid;border-color: #666 !important;height: auto !important;vertical-align: top;color: #444;}
|
||||
.ui-table-print th{text-align: center;vertical-align: middle; font-weight: normal;}
|
||||
.ui-table-print .jqgrid-rownum{width: auto !important;}
|
||||
.ui-table-print .jqg-first-row-header{display: none;}
|
||||
.ui-table-print .ui-th-column-header{border-top: 1px solid !important;}
|
||||
|
||||
.ui-area-print{width: 100% !important;border-collapse: collapse;border-spacing: 0;font-size: 12px;margin: 1px -1px 0 1px;border: 1px solid #666;}
|
@ -1,119 +0,0 @@
|
||||
body {
|
||||
}
|
||||
|
||||
.we-input {
|
||||
width: 98%;
|
||||
|
||||
}
|
||||
|
||||
#simplemodal-overlay {background-color:#000;}
|
||||
|
||||
#simplemodal-container {background-color:white; border:4px solid #444; padding:12px;}
|
||||
#simplemodal-container .simplemodal-data {padding:8px;}
|
||||
#simplemodal-container a.modalCloseImg {background:url(../Images/x.png) no-repeat; width:25px; height:29px; display:inline; z-index:3200; position:absolute; top:-15px; right:-16px; cursor:pointer;}
|
||||
|
||||
#simplemodal-container .Commands {
|
||||
display:none
|
||||
}
|
||||
|
||||
div.mombomenu {
|
||||
width: 250px;
|
||||
border: solid 1px #000;
|
||||
height: 200px;
|
||||
overflow: auto;
|
||||
position:absolute;
|
||||
background-color: #fff;
|
||||
}
|
||||
div.mombomenu .item {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
padding: 1px;
|
||||
}
|
||||
div.mombomenu .item.selected {
|
||||
color: #fff;
|
||||
background-color: #007;
|
||||
}
|
||||
div.mombomenu .item.match {
|
||||
font-weight: bold;
|
||||
}
|
||||
div.mombobutton {
|
||||
border: solid 1px #ccc;
|
||||
background-color: #eee;
|
||||
width: 16px;
|
||||
height: 17px;
|
||||
float:left;
|
||||
text-align: center;
|
||||
border-left: none
|
||||
}
|
||||
|
||||
div.base {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.WorkflowDesignerdragRow{
|
||||
background-color:#FFC310;
|
||||
}
|
||||
|
||||
.WorkflowDesignerRowCopy{
|
||||
background-color:#FFFFCC;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable {
|
||||
border-top: 1px solid #E7E7E7;
|
||||
border-left: 1px solid #E7E7E7;
|
||||
border-bottom: 1px solid #E7E7E7;
|
||||
border-spacing: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable td.ColumnChecked {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable th{
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-right: 1px solid #E7E7E7;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable td{
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-top: 1px solid #E7E7E7;
|
||||
border-right: 1px solid #E7E7E7;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable td.columnTree{
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.WorkflowDesignerTable tr:hover td,
|
||||
table.WorkflowDesignerTable tr.even:hover td.active,
|
||||
table.WorkflowDesignerTable tr.odd:hover td.active {
|
||||
background: #CCCCCC;
|
||||
}
|
||||
|
||||
.span-validation-error {
|
||||
color: #FF0033;
|
||||
background:url('/images/error.png');
|
||||
width:16px;
|
||||
height:16px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.field-validation-error {
|
||||
border-color:#FF0033;
|
||||
}
|
||||
|
||||
.ui-autocomplete {
|
||||
max-height: 400px;
|
||||
overflow-y: auto; /* prevent horizontal scrollbar */
|
||||
overflow-x: hidden; /* add padding to account for vertical scrollbar */
|
||||
z-index:9999!important;
|
||||
}
|
||||
|
||||
.ui-dialog, .ui-dialog-content { overflow: visible; }
|
@ -1192,28 +1192,24 @@
|
||||
<Content Include="Content\scripts\plugins\validator\validator.js" />
|
||||
<Content Include="Content\scripts\plugins\wizard\wizard.css" />
|
||||
<Content Include="Content\scripts\plugins\wizard\wizard.js" />
|
||||
<Content Include="Content\scripts\utils\learun-applayout.js" />
|
||||
<Content Include="Content\scripts\utils\learun-clientdata.js" />
|
||||
<Content Include="Content\scripts\utils\learun-flowlayout.js" />
|
||||
<Content Include="Content\scripts\utils\learun-form.js" />
|
||||
<Content Include="Content\scripts\utils\learun-im.js" />
|
||||
<Content Include="Content\scripts\utils\learun-ui.js" />
|
||||
<Content Include="Content\scripts\utils\learun-webApp.js" />
|
||||
<Content Include="Content\scripts\utils\learun-webAppData.js" />
|
||||
<Content Include="Content\scripts\utils\applayout.js" />
|
||||
<Content Include="Content\scripts\utils\clientdata.js" />
|
||||
<Content Include="Content\scripts\utils\flowlayout.js" />
|
||||
<Content Include="Content\scripts\utils\form.js" />
|
||||
<Content Include="Content\scripts\utils\ui.js" />
|
||||
<Content Include="Content\scripts\utils\webApp.js" />
|
||||
<Content Include="Content\scripts\utils\webAppData.js" />
|
||||
<Content Include="Content\style.css" />
|
||||
<Content Include="Content\styles\font-awesome.min.css" />
|
||||
<Content Include="Content\styles\fonts\fontawesome-webfont.svg" />
|
||||
<Content Include="Content\styles\learun-applayout.css" />
|
||||
<Content Include="Content\styles\learun-bill.css" />
|
||||
<Content Include="Content\styles\learun-ckbox-radio.css" />
|
||||
<Content Include="Content\styles\learun-flow.css" />
|
||||
<Content Include="Content\styles\learun-im.css" />
|
||||
<Content Include="Content\styles\learun-login.css" />
|
||||
<Content Include="Content\styles\learun-report.css" />
|
||||
<Content Include="Content\styles\learun-ui.css" />
|
||||
<Content Include="Content\styles\learun-webApp.css" />
|
||||
<Content Include="Content\styles\applayout.css" />
|
||||
<Content Include="Content\styles\bill.css" />
|
||||
<Content Include="Content\styles\ckbox-radio.css" />
|
||||
<Content Include="Content\styles\flow.css" />
|
||||
<Content Include="Content\styles\login.css" />
|
||||
<Content Include="Content\styles\ui.css" />
|
||||
<Content Include="Content\styles\webApp.css" />
|
||||
<Content Include="Content\vue.js" />
|
||||
<Content Include="Content\workflowdesigner.css" />
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.svg" />
|
||||
<Content Include="Global.asax" />
|
||||
|
@ -26,7 +26,7 @@
|
||||
@System.Web.Optimization.Styles.Render("~/Content/scripts/plugins/tree/css",
|
||||
"~/Content/scripts/plugins/datetime/css",
|
||||
"~/Content/scripts/plugins/wizard/css",
|
||||
"~/Content/styles/learun-ui.css")
|
||||
"~/Content/styles/ui.css")
|
||||
@System.Web.Optimization.Scripts.Render("~/Content/scripts/plugins/tree/js",
|
||||
"~/Content/scripts/plugins/validator/js",
|
||||
"~/Content/scripts/plugins/wizard/js",
|
||||
@ -48,7 +48,7 @@
|
||||
<script src="~/Content/scripts/plugins/simditor/js/simditor.min.js"></script>
|
||||
<script src="~/Content/scripts/plugins/cxColor/js/jquery.cxcolor.js"></script>
|
||||
<script src="~/Content/scripts/plugins/uploadify/jquery.uploadify.min.js"></script>
|
||||
@System.Web.Optimization.Styles.Render("~/Content/styles/learun-flowall.css")
|
||||
@System.Web.Optimization.Styles.Render("~/Content/styles/flowall.css")
|
||||
@System.Web.Optimization.Scripts.Render("~/Content/scripts/flow/js")
|
||||
<!--工作流设计器依赖end-->
|
||||
</head>
|
||||
|
@ -32,14 +32,14 @@
|
||||
<link href="~/Content/scripts/plugins/wizard/wizard.css" rel="stylesheet" />
|
||||
<script src="~/Content/scripts/plugins/wizard/wizard.js"></script>
|
||||
<!--导向组件end-->
|
||||
<script src="~/Content/scripts/utils/learun-ui.js"></script>
|
||||
<script src="~/Content/scripts/utils/learun-form.js"></script>
|
||||
<link href="~/Content/styles/learun-ui.css" rel="stylesheet" />*@
|
||||
<script src="~/Content/scripts/utils/ui.js"></script>
|
||||
<script src="~/Content/scripts/utils/form.js"></script>
|
||||
<link href="~/Content/styles/ui.css" rel="stylesheet" />*@
|
||||
<script src="~/Content/scripts/plugins/datepicker/WdatePicker.js"></script>
|
||||
@System.Web.Optimization.Styles.Render("~/Content/scripts/plugins/tree/css",
|
||||
"~/Content/scripts/plugins/datetime/css",
|
||||
"~/Content/scripts/plugins/wizard/css",
|
||||
"~/Content/styles/learun-ui.css")
|
||||
"~/Content/styles/ui.css")
|
||||
@System.Web.Optimization.Scripts.Render("~/Content/scripts/plugins/tree/js",
|
||||
"~/Content/scripts/plugins/validator/js",
|
||||
"~/Content/scripts/plugins/wizard/js",
|
||||
|
Loading…
Reference in New Issue
Block a user