@@ -80,3 +80,4 @@ Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js | |||
/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www.7z | |||
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/bin.7z | |||
/Learun.Framework.Ultimate V7/LearunApp-2.2.0/.hbuilderx/launch.json | |||
/Learun.Framework.Ultimate V7/Learun.Application.Web/Properties/PublishProfiles |
@@ -0,0 +1,178 @@ | |||
using Learun.Application.OA; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Configuration; | |||
using System.Linq; | |||
using System.Threading.Tasks; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using Learun.Application.Base.AuthorizeModule; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Application.Organization; | |||
using Learun.Application.TwoDevelopment.LR_Desktop; | |||
using Learun.Util.Operat; | |||
using Microsoft.AspNet.SignalR.Client; | |||
using Microsoft.Owin.Logging; | |||
using Newtonsoft.Json; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using Learun.Application.TwoDevelopment.Permission; | |||
namespace Learun.Application.Web.Areas.LR_OAModule.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创建人:zl | |||
/// 日 期:2021.05.20 | |||
/// 描 述:失物招领管理 | |||
/// </summary> | |||
public class LostArticleInfoController : MvcControllerBase | |||
{ | |||
private LostArticleInfoIBLL lostArticleInfoIBLL = new LostArticleInfoBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 页面 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页面 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 失物招领表单 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormView() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 认领 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormClaim() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取分页数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="keyword">关键词</param> | |||
/// <returns></returns> | |||
public ActionResult GetPageList(string pagination, string keyword) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = lostArticleInfoIBLL.GetPageList(paginationobj, keyword); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records, | |||
}; | |||
return JsonResult(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public ActionResult GetEntity(string keyValue) | |||
{ | |||
var data = lostArticleInfoIBLL.GetLostArticleInfoEntity(keyValue); | |||
data.F_Content = WebHelper.HtmlDecode(data.F_Content); | |||
return JsonResult(data); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 保存表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost, ValidateAntiForgeryToken, AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
entity.F_Content = WebHelper.HtmlEncode(entity.F_Content); | |||
entity.F_State = 0; | |||
lostArticleInfoIBLL.SaveEntity(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 删除表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
lostArticleInfoIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 发布 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult PublishForm(string keyValue) | |||
{ | |||
lostArticleInfoIBLL.PublishForm(keyValue); | |||
return Success("发布成功!"); | |||
} | |||
/// <summary> | |||
/// 认领 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult ClaimForm(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
lostArticleInfoIBLL.ClaimForm(keyValue, entity); | |||
return Success("认领成功!"); | |||
} | |||
/// <summary> | |||
/// 撤下 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult CancleForm(string keyValue) | |||
{ | |||
lostArticleInfoIBLL.CancleForm(keyValue); | |||
return Success("已撤下!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -177,26 +177,6 @@ namespace Learun.Application.Web.Areas.LR_OAModule.Controllers | |||
return JsonResult(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取失物招领分页数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="keyword">关键词</param> | |||
/// <returns></returns> | |||
public ActionResult GetPageListForLostArticle(string pagination, string keyword) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = noticeIBLL.GetPageListForLostArticle(paginationobj, keyword); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records, | |||
}; | |||
return JsonResult(jsonData); | |||
} | |||
/// <summary> | |||
/// 查看通知公告 | |||
/// </summary> | |||
@@ -470,20 +450,6 @@ namespace Learun.Application.Web.Areas.LR_OAModule.Controllers | |||
} | |||
} | |||
/// <summary> | |||
/// 保存表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost, ValidateAntiForgeryToken, AjaxOnly] | |||
public ActionResult SaveFormForLostArticle(string keyValue, NewsEntity entity) | |||
{ | |||
entity.F_NewsContent = WebHelper.HtmlEncode(entity.F_NewsContent); | |||
noticeIBLL.SaveFormForLostArticle(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 删除表单数据 | |||
/// </summary> | |||
@@ -0,0 +1,25 @@ | |||
@{ | |||
ViewBag.Title = "发布失物招领"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告标题<font face="宋体">*</font></div> | |||
<input id="F_FullHead" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请输入标题" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">发布时间<font face="宋体">*</font></div> | |||
<input id="F_ReleaseTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">标题图片</div> | |||
<div id="F_Image"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告内容</div> | |||
<div id="editor" style="height:300px;"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/LostArticleInfo/Form.js") |
@@ -27,7 +27,7 @@ var bootstrap = function ($, learun) { | |||
bind: function () { | |||
//var loginInfo = top.learun.clientdata.get(['userinfo']); | |||
$('#F_NewsImage').lrUploader(); | |||
$('#F_Image').lrUploader(); | |||
//内容编辑器 | |||
ue = UE.getEditor('editor'); | |||
@@ -36,10 +36,12 @@ var bootstrap = function ($, learun) { | |||
if (!!keyValue) { | |||
//$('#form').lrSetFormData(selectedRow); | |||
//$("#F_ReleaseTime").val(learun.formatDate(selectedRow.F_ReleaseTime, 'yyyy/MM/dd hh:mm')); | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/Notice/GetEntity?keyValue=' + keyValue, function (data) { | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/GetEntity?keyValue=' + keyValue, function (data) { | |||
$('#form').lrSetFormData(data); | |||
setTimeout(function () { | |||
ue.setContent(decodeURI(data.F_NewsContent)); | |||
if (data.F_Content) { | |||
ue.setContent(decodeURI(data.F_Content)); | |||
}; | |||
}, 100); | |||
}); | |||
} | |||
@@ -77,9 +79,8 @@ var bootstrap = function ($, learun) { | |||
return false; | |||
} | |||
var postData = $('#form').lrGetFormData(keyValue); | |||
postData["F_NewsContent"] = encodeURI(ue.getContent(null, null, true)); | |||
console.log("1111111111111"); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveFormForLostArticle?keyValue=' + keyValue, postData, function (res) { | |||
postData["F_Content"] = encodeURI(ue.getContent(null, null, true)); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
@@ -117,9 +118,8 @@ var bootstrap = function ($, learun) { | |||
return false; | |||
} | |||
var postData = $('#form').lrGetFormData(keyValue); | |||
postData["F_NewsContent"] = encodeURI(ue.getContent(null, null, true)); | |||
console.log("2222222222"); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveFormForLostArticle?keyValue=' + keyValue, postData, function (res) { | |||
postData["F_Content"] = encodeURI(ue.getContent(null, null, true)); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); |
@@ -0,0 +1,22 @@ | |||
@{ | |||
ViewBag.Title = "失物招领认领"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领人<font face="宋体">*</font></div> | |||
<input id="F_User" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请输入认领人" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领时间<font face="宋体">*</font></div> | |||
<input id="F_UserTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领照片</div> | |||
<div id="F_ClaimImage"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/LostArticleInfo/FormClaim.js") |
@@ -0,0 +1,143 @@ | |||
/* | |||
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:陈彬彬 | |||
* 日 期:2017.11.11 | |||
* 描 述:公告通知 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
var isUpdate; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var ue; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
//var loginInfo = top.learun.clientdata.get(['userinfo']); | |||
$('#F_ClaimImage').lrUploader(); | |||
//内容编辑器 | |||
//ue = UE.getEditor('editor'); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
//$('#form').lrSetFormData(selectedRow); | |||
//$("#F_ReleaseTime").val(learun.formatDate(selectedRow.F_ReleaseTime, 'yyyy/MM/dd hh:mm')); | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/GetEntity?keyValue=' + keyValue, function (data) { | |||
$('#form').lrSetFormData(data); | |||
setTimeout(function () { | |||
if (data.F_Content) { | |||
ue.setContent(decodeURI(data.F_Content)); | |||
}; | |||
}, 100); | |||
}); | |||
} | |||
} | |||
}; | |||
// 设置表单数据 | |||
//setFormData = function (processId) { | |||
// if (!!processId) { | |||
// $.lrSetForm(top.$.rootUrl + '/LR_OAModule/Notice/GetFormDataByProcessId?processId=' + processId, function (data) { | |||
// for (var id in data) { | |||
// if (!!data[id] && data[id].length > 0) { | |||
// $('#' + id).jfGridSet('refreshdata', data[id]); | |||
// } | |||
// else { | |||
// if (id == 'Sys_ReceiveFile') { | |||
// keyValue = data[id].F_DeptRelationId; | |||
// } | |||
// $('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
// } | |||
// } | |||
// }); | |||
// } | |||
//} | |||
// 验证数据是否填写完整 | |||
validForm = function () { | |||
if (!$('#form').lrValidform()) { | |||
return false; | |||
} | |||
return true; | |||
}; | |||
// 保存数据 | |||
save = function (processId, callBack, i) { | |||
if (!$('#form').lrValidform()) { | |||
return false; | |||
} | |||
var postData = $('#form').lrGetFormData(keyValue); | |||
//postData["F_Content"] = encodeURI(ue.getContent(null, null, true)); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/ClaimForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
//callBack(res, formData, i); | |||
} | |||
}); | |||
//var formData = $('body').lrGetFormData(); | |||
//if (!!processId) { | |||
// formData.RProcessId = processId; | |||
//} | |||
//learun.clientdata.getAsync('dataItem', { | |||
// key: $("#F_CategoryId").lrselectGet(), | |||
// code: 'NoticeCategory', | |||
// callback: function (_data) { | |||
// $("#F_Category").val(_data.text); | |||
// } | |||
//}); | |||
//$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveForm?keyValue=' + keyValue, formData, function (res) { | |||
// // 保存成功后才回调 | |||
// if (!!callBack) { | |||
// callBack(res, formData, i); | |||
// } | |||
//}); | |||
}; | |||
acceptClick = function (callBack) { | |||
if (!$('#form').lrValidform()) { | |||
return false; | |||
} | |||
var postData = $('#form').lrGetFormData(keyValue); | |||
//postData["F_Content"] = encodeURI(ue.getContent(null, null, true)); | |||
$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/ClaimForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
//learun.clientdata.getAsync('dataItem', { | |||
// key: $("#F_CategoryId").lrselectGet(), | |||
// code: 'NoticeCategory', | |||
// callback: function (_data) { | |||
// $("#F_Category").val(_data.text); | |||
// } | |||
//}); | |||
} | |||
page.init(); | |||
} | |||
@@ -0,0 +1,41 @@ | |||
@{ | |||
ViewBag.Title = "发布失物招领"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告标题<font face="宋体">*</font></div> | |||
<input id="F_FullHead" readonly="readonly" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请输入标题" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">发布时间<font face="宋体">*</font></div> | |||
<input id="F_ReleaseTime" readonly="readonly" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">标题图片</div> | |||
<div id="F_Image" readonly="readonly"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告内容</div> | |||
<div id="editor" style="height:300px;" readonly="readonly"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领人</div> | |||
<input id="F_User" readonly="readonly" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领时间</div> | |||
<input id="F_UserTime" readonly="readonly" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">认领照片</div> | |||
<div id="F_ClaimImage" readonly="readonly"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">经手人</div> | |||
<input id="F_ManageUserName" readonly="readonly" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/LostArticleInfo/FormView.js") |
@@ -0,0 +1,55 @@ | |||
/* | |||
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:陈彬彬 | |||
* 日 期:2017.11.11 | |||
* 描 述:公告通知 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
var isUpdate; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var ue; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
//var loginInfo = top.learun.clientdata.get(['userinfo']); | |||
$('#F_Image').lrUploader(); | |||
$('#F_ClaimImage').lrUploader(); | |||
//内容编辑器 | |||
ue = UE.getEditor('editor'); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
//$('#form').lrSetFormData(selectedRow); | |||
//$("#F_ReleaseTime").val(learun.formatDate(selectedRow.F_ReleaseTime, 'yyyy/MM/dd hh:mm')); | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/GetEntity?keyValue=' + keyValue, function (data) { | |||
$('#form').lrSetFormData(data); | |||
setTimeout(function () { | |||
if (data.F_Content) { | |||
ue.setContent(decodeURI(data.F_Content)); | |||
} | |||
}, 100); | |||
}); | |||
} | |||
} | |||
}; | |||
page.init(); | |||
} | |||
@@ -20,15 +20,20 @@ | |||
</div> | |||
<div class="btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> <span class="lrlt">录入</span></a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> <span class="lrlt">修改</span></a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> <span class="lrlt">编辑</span></a> | |||
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> <span class="lrlt">查看</span></a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> <span class="lrlt">删除</span></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr-publish" class="btn btn-default"><i class="fa fa-plus"></i> 发布</a> | |||
<a id="lr-claim" class="btn btn-default"><i class="fa fa-plus"></i> 认领</a> | |||
<a id="lr-cancle" class="btn btn-default"><i class="fa fa-plus"></i> 撤下</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/Notice/IndexLostArticle.js") | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/LostArticleInfo/Index.js") | |||
@@ -29,7 +29,7 @@ var bootstrap = function ($, learun) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '添加公告', | |||
url: top.$.rootUrl + '/LR_OAModule/Notice/FormLostArticle', | |||
url: top.$.rootUrl + '/LR_OAModule/LostArticleInfo/Form', | |||
width: 1000, | |||
height: 650, | |||
maxmin: true, | |||
@@ -49,21 +49,21 @@ var bootstrap = function ($, learun) { | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('F_NewsId'); | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(",") != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return false; | |||
} | |||
var SendFlag = $('#gridtable').jfGridValue('F_Status'); | |||
if (SendFlag == "1" || SendFlag == "2") { | |||
var F_State = $('#gridtable').jfGridValue('F_State'); | |||
if (F_State != "0") { | |||
learun.alert.warning("当前项目已提交不能编辑!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formedit', | |||
title: '编辑公告', | |||
url: top.$.rootUrl + '/LR_OAModule/Notice/FormLostArticle?keyValue=' + keyValue, | |||
url: top.$.rootUrl + '/LR_OAModule/LostArticleInfo/Form?keyValue=' + keyValue, | |||
width: 1000, | |||
height: 650, | |||
maxmin: true, | |||
@@ -75,7 +75,7 @@ var bootstrap = function ($, learun) { | |||
}); | |||
// 查看 | |||
$('#lr_view').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('F_NewsId'); | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(",") != -1) { | |||
learun.alert.warning("只能选择一条记录查看!"); | |||
@@ -84,9 +84,9 @@ var bootstrap = function ($, learun) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '查看', | |||
url: top.$.rootUrl + '/LR_OAModule/Notice/FormLostArticleView?keyValue=' + keyValue, | |||
url: top.$.rootUrl + '/LR_OAModule/LostArticleInfo/FormView?keyValue=' + keyValue, | |||
width: 800, | |||
height: 650, | |||
height: 750, | |||
btn: null | |||
}); | |||
} | |||
@@ -94,11 +94,11 @@ var bootstrap = function ($, learun) { | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('F_NewsId'); | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/LR_OAModule/Notice/DeleteForm', { keyValue: keyValue }, function () { | |||
learun.deleteForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
@@ -106,29 +106,106 @@ var bootstrap = function ($, learun) { | |||
} | |||
}); | |||
// 发布 | |||
$('#lr-publish').on('click', function () { | |||
var F_State = $('#gridtable').jfGridValue('F_State'); | |||
if (F_State != "0") { | |||
learun.alert.warning("当前项目已提交不能发布!"); | |||
return; | |||
} | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认发布!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/PublishForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 认领 | |||
$('#lr-claim').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(",") != -1) { | |||
learun.alert.warning("只能选择一条记录进行认领!"); | |||
return false; | |||
} | |||
var F_State = $('#gridtable').jfGridValue('F_State'); | |||
if (F_State != "1") { | |||
learun.alert.warning("只有已发布才可以认领!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formedit', | |||
title: '认领', | |||
url: top.$.rootUrl + '/LR_OAModule/LostArticleInfo/FormClaim?keyValue=' + keyValue, | |||
width: 600, | |||
height: 350, | |||
maxmin: true, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 撤下 | |||
$('#lr-cancle').on('click', function () { | |||
//var F_State = $('#gridtable').jfGridValue('F_State'); | |||
//if (F_State != "2") { | |||
// learun.alert.warning("当前项目已认领不能撤下!"); | |||
// return; | |||
//} | |||
var keyValue = $('#gridtable').jfGridValue('F_LId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认撤下!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/CancleForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
initGrid: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LR_OAModule/Notice/GetPageListForLostArticle', | |||
url: top.$.rootUrl + '/LR_OAModule/LostArticleInfo/GetPageList', | |||
headData: [ | |||
{ label: '标题', name: 'F_FullHead', index: 'F_FullHead', width: 600, align: 'left' }, | |||
{ label: '发布人员', name: 'F_CreateUserName', index: 'F_CreateUserName', width: 100, align: 'left' }, | |||
{ | |||
label: "发布时间", name: "F_ReleaseTime", index: "F_ReleaseTime", width: 140, align: "left", | |||
formatter: function (cellvalue) { | |||
label: "发布时间", | |||
name: "F_ReleaseTime", | |||
index: "F_ReleaseTime", | |||
width: 140, | |||
align: "left", | |||
formatter: function(cellvalue) { | |||
return learun.formatDate(cellvalue, 'yyyy-MM-dd hh:mm'); | |||
} | |||
}, | |||
{ label: "创建时间", name: "F_CreateDate", index: "F_CreateDate", width: 130, align: 'left' } | |||
{ | |||
label: "状态", name: "F_State", index: "F_State", width: 140, align: "left", | |||
formatter: function(cellvalue) { | |||
if (cellvalue == 0) | |||
return "<span class=\"label label-default\">草稿</span>"; | |||
else if (cellvalue == 1) | |||
return "<span class=\"label label-success\">已发布</span>"; | |||
else if (cellvalue == 3) | |||
return "<span class=\"label label-warning\">已撤下</span>"; | |||
} | |||
}, | |||
//{ label: "创建时间", name: "F_CreateTime", index: "F_CreateDate", width: 130, align: 'left' } | |||
], | |||
mainId: 'F_NewsId', | |||
mainId: 'F_LId', | |||
reloadSelected: true, | |||
isMultiselect: true, | |||
isPage: true, | |||
sidx: 'F_CreateDate', | |||
sidx: 'F_CreateTime', | |||
sord: 'desc' | |||
}); | |||
page.search(); |
@@ -1,50 +0,0 @@ | |||
@{ | |||
ViewBag.Title = "发布失物招领"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告标题<font face="宋体">*</font></div> | |||
<input id="F_FullHead" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请输入标题" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告类别<font face="宋体">*</font></div> | |||
<div id="F_CategoryId" isvalid="yes" checkexpession="NotNull"></div> | |||
<input type="hidden" id="F_Category" /> | |||
</div>*@ | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">发布时间<font face="宋体">*</font></div> | |||
<input id="F_ReleaseTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">信息来源<font face="宋体">*</font></div> | |||
<input id="F_SourceName" type="text" isvalid="yes" checkexpession="NotNull" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">来源地址</div> | |||
<input id="F_SourceAddress" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">接收部门</div> | |||
<div id="F_SendDeptId"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">接收岗位</div> | |||
<div id="F_SendPostId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">下发飞星</div> | |||
<div id="F_IsSendFX"></div> | |||
</div>*@ | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">标题图片</div> | |||
<div id="F_NewsImage"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告内容</div> | |||
<div id="editor" style="height:300px;"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/Notice/FormLostArticle.js") |
@@ -1,50 +0,0 @@ | |||
@{ | |||
ViewBag.Title = "发布失物招领"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告标题<font face="宋体">*</font></div> | |||
<input id="F_FullHead" readonly="readonly" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请输入标题" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告类别<font face="宋体">*</font></div> | |||
<div id="F_CategoryId" isvalid="yes" checkexpession="NotNull"></div> | |||
<input type="hidden" id="F_Category" /> | |||
</div>*@ | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">发布时间<font face="宋体">*</font></div> | |||
<input id="F_ReleaseTime" readonly="readonly" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt: 'yyyy/MM/dd HH:mm' })" isvalid="yes" checkexpession="NotNull" value="@Learun.Util.Time.GetToday("yyyy/MM/dd HH:mm")" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">信息来源<font face="宋体">*</font></div> | |||
<input id="F_SourceName" type="text" isvalid="yes" checkexpession="NotNull" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">来源地址</div> | |||
<input id="F_SourceAddress" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">接收部门</div> | |||
<div id="F_SendDeptId"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">接收岗位</div> | |||
<div id="F_SendPostId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">下发飞星</div> | |||
<div id="F_IsSendFX"></div> | |||
</div>*@ | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">标题图片</div> | |||
<div id="F_NewsImage" readonly="readonly" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="OANews"> | |||
<div class="lr-form-item-title">公告内容</div> | |||
<div id="editor" style="height:300px;" readonly="readonly" ></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_OAModule/Views/Notice/FormLostArticleView.js") |
@@ -1,123 +0,0 @@ | |||
/* | |||
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:陈彬彬 | |||
* 日 期:2017.11.11 | |||
* 描 述:公告通知 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
var isUpdate; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var ue; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
//var loginInfo = top.learun.clientdata.get(['userinfo']); | |||
$('#F_NewsImage').lrUploader(); | |||
//内容编辑器 | |||
ue = UE.getEditor('editor'); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
//$('#form').lrSetFormData(selectedRow); | |||
//$("#F_ReleaseTime").val(learun.formatDate(selectedRow.F_ReleaseTime, 'yyyy/MM/dd hh:mm')); | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/Notice/GetEntity?keyValue=' + keyValue, function (data) { | |||
$('#form').lrSetFormData(data); | |||
setTimeout(function () { | |||
ue.setContent(decodeURI(data.F_NewsContent)); | |||
}, 100); | |||
}); | |||
} | |||
} | |||
}; | |||
//// 验证数据是否填写完整 | |||
//validForm = function () { | |||
// if (!$('#form').lrValidform()) { | |||
// return false; | |||
// } | |||
// return true; | |||
//}; | |||
//// 保存数据 | |||
//save = function (processId, callBack, i) { | |||
// if (!$('#form').lrValidform()) { | |||
// return false; | |||
// } | |||
// var postData = $('#form').lrGetFormData(keyValue); | |||
// postData["F_NewsContent"] = ue.getContent(null, null, true); | |||
// $.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveFormForLostArticle?keyValue=' + keyValue, postData, function (res) { | |||
// // 保存成功后才回调 | |||
// if (!!callBack) { | |||
// callBack(res, formData, i); | |||
// } | |||
// }); | |||
// //var formData = $('body').lrGetFormData(); | |||
// //if (!!processId) { | |||
// // formData.RProcessId = processId; | |||
// //} | |||
// //learun.clientdata.getAsync('dataItem', { | |||
// // key: $("#F_CategoryId").lrselectGet(), | |||
// // code: 'NoticeCategory', | |||
// // callback: function (_data) { | |||
// // $("#F_Category").val(_data.text); | |||
// // } | |||
// //}); | |||
// //$.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveForm?keyValue=' + keyValue, formData, function (res) { | |||
// // // 保存成功后才回调 | |||
// // if (!!callBack) { | |||
// // callBack(res, formData, i); | |||
// // } | |||
// //}); | |||
//}; | |||
//acceptClick = function (callBack) { | |||
// if (!$('#form').lrValidform()) { | |||
// return false; | |||
// } | |||
// var postData = $('#form').lrGetFormData(keyValue); | |||
// postData["F_NewsContent"] = ue.getContent(null, null, true); | |||
// $.lrSaveForm(top.$.rootUrl + '/LR_OAModule/Notice/SaveFormForLostArticle?keyValue=' + keyValue, postData, function (res) { | |||
// // 保存成功后才回调 | |||
// if (!!callBack) { | |||
// callBack(); | |||
// } | |||
// }); | |||
// //learun.clientdata.getAsync('dataItem', { | |||
// // key: $("#F_CategoryId").lrselectGet(), | |||
// // code: 'NoticeCategory', | |||
// // callback: function (_data) { | |||
// // $("#F_Category").val(_data.text); | |||
// // } | |||
// //}); | |||
//} | |||
page.init(); | |||
} | |||
@@ -134,7 +134,8 @@ var bootstrap = function ($, learun) { | |||
chunked: true, | |||
chunkRetry: 3, | |||
prepareNextFile: true, | |||
chunkSize:'1048576', | |||
chunkSize: '1048576', | |||
fileSingleSizeLimit:500*1024*1024, | |||
// 上传参数 | |||
formData: { | |||
__RequestVerificationToken: $.lrToken | |||
@@ -104,22 +104,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 验证图片验证码 | |||
/// </summary> | |||
/// <param name="verifycode">验证码</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult CheckVerifycode(string verifycode) | |||
{ | |||
verifycode = Md5Helper.Encrypt(verifycode.ToLower(), 16); | |||
if (Session["session_verifycode"].IsEmpty() || verifycode != Session["session_verifycode"].ToString()) | |||
{ | |||
return Fail("验证码错误"); | |||
} | |||
return Success(""); | |||
} | |||
/// <summary> | |||
/// 删除实体数据 | |||
@@ -157,7 +142,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
verifycode = Md5Helper.Encrypt(verifycode.ToLower(), 16); | |||
if (Session["session_verifycode"].IsEmpty() || verifycode != Session["session_verifycode"].ToString()) | |||
{ | |||
return Fail("验证码错误"); | |||
return Fail("图片验证码错误"); | |||
} | |||
//验证手机验证码 | |||
var type = (SmsType)Enum.Parse(typeof(SmsType), "0"); | |||
@@ -454,6 +454,15 @@ namespace Learun.Application.Web.Controllers | |||
{ | |||
return View(); | |||
} | |||
public ActionResult PageSixForgetPwd() | |||
{ | |||
return View(); | |||
} | |||
public ActionResult VisitorInfoAdd() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
@@ -486,6 +495,24 @@ namespace Learun.Application.Web.Controllers | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 验证图片验证码 | |||
/// </summary> | |||
/// <param name="verifycode">验证码</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult CheckVerifycode(string verifycode) | |||
{ | |||
verifycode = Md5Helper.Encrypt(verifycode.ToLower(), 16); | |||
if (Session["session_verifycode"].IsEmpty() || verifycode != Session["session_verifycode"].ToString()) | |||
{ | |||
return Fail("验证码错误"); | |||
} | |||
return Success(""); | |||
} | |||
/// <summary> | |||
/// 安全退出 | |||
/// </summary> | |||
@@ -1077,7 +1104,6 @@ namespace Learun.Application.Web.Controllers | |||
{ | |||
//写入redis | |||
_redis.Write($"checkcode_{type}_{mobile}", randomNum, TimeSpan.FromMinutes(5)); | |||
//WebHelper.WriteSession($"checkcode_{type}_{mobile}", randomNum); | |||
actionResult = Success("发送成功,请注意查收"); | |||
} | |||
else | |||
@@ -1096,37 +1122,41 @@ namespace Learun.Application.Web.Controllers | |||
/// <summary> | |||
/// 找回密码 | |||
/// </summary> | |||
/// <param name="phone">手机号</param> | |||
/// <param name="phonecode">短信验证码</param> | |||
/// <param name="newPassword">新密码</param> | |||
/// <param name="smsType">短信类型 0 注册,2 忘记密码</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public async Task<ActionResult> FindPassword(string mobile, string checkcode, string newPassword, string smsType) | |||
public async Task<ActionResult> FindPassword(string phone, string phonecode, string newPassword,string smsType) | |||
{ | |||
if (string.IsNullOrEmpty(mobile)) | |||
if (string.IsNullOrEmpty(phone)) | |||
{ | |||
return Fail("手机号码不能为空!"); | |||
} | |||
if (!Regex.IsMatch(mobile, @"^1[3-9]\d{9}$")) | |||
if (!Regex.IsMatch(phone, @"^1[3-9]\d{9}$")) | |||
{ | |||
return Fail("请输入正确的手机号!"); | |||
} | |||
if (string.IsNullOrEmpty(checkcode)) | |||
if (string.IsNullOrEmpty(phonecode)) | |||
{ | |||
return Fail("验证码不能为空!"); | |||
return Fail("短信验证码不能为空!"); | |||
} | |||
var type = (SmsType)Enum.Parse(typeof(SmsType), smsType); | |||
var smscode = _redis.Read<string>($"checkcode_{type}_{mobile}"); | |||
var smscode = _redis.Read<string>($"checkcode_{type}_{phone}"); | |||
if (!string.IsNullOrEmpty(smscode)) | |||
{ | |||
if (smscode != checkcode) | |||
if (smscode != phonecode) | |||
{ | |||
return Fail("验证码不正确,请核对!"); | |||
return Fail("短信验证码不正确,请核对!"); | |||
} | |||
else | |||
{ | |||
//获取用户密码 | |||
UserEntity userEntity = userBll.GetEntityByMobile(mobile); | |||
UserEntity userEntity = userBll.GetEntityByMobile(phone); | |||
if (userEntity == null) | |||
{ | |||
return Fail("用户不存在!"); | |||
@@ -1139,7 +1169,7 @@ namespace Learun.Application.Web.Controllers | |||
userBll.SaveEntity(userEntity.F_UserId, userEntity); | |||
//删除验证码 | |||
_redis.Remove($"checkcode_{type}_{mobile}"); | |||
_redis.Remove($"checkcode_{type}_{phone}"); | |||
} | |||
} | |||
else | |||
@@ -595,6 +595,15 @@ namespace Learun.Application.Web.Controllers | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 失物招领 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult ListContentIndexLost() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 开发向导 | |||
@@ -416,6 +416,7 @@ | |||
<Compile Include="Areas\LR_OAModule\Controllers\EmailController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\ModuleExportController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\NewsController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\LostArticleInfoController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\NoticeController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\ProjectGanttController.cs" /> | |||
<Compile Include="Areas\LR_OAModule\Controllers\ResourceFileController.cs" /> | |||
@@ -952,7 +953,6 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\LessonInfo\IndexNoMajor.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\LoginUserBind\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\LoginUserBind\BindAccountIndex.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\PM_EducationExperience\StatisticIndex.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\PracticeBase\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\PracticeBase\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\R_EnterBuilding\ClassReport.js" /> | |||
@@ -1306,11 +1306,12 @@ | |||
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\Form.js" /> | |||
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\Index.js" /> | |||
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\StampDetailIndex.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormLostArticleView.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormLostArticle.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\FormClaim.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\Form.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\FormView.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\Index.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormFlowView.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormFlow.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\IndexLostArticle.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\IndexRecycle.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\IndexFlow.js" /> | |||
<Content Include="Areas\LR_OAModule\Views\ResourceFile\BcIndex.js" /> | |||
@@ -5129,6 +5130,7 @@ | |||
<Content Include="Views\Utility\GirdSelectIndex.js" /> | |||
<Content Include="Views\Utility\JfGirdLayerForm.css" /> | |||
<Content Include="Views\Utility\JfGirdLayerForm.js" /> | |||
<Content Include="Views\Utility\ListContentIndexLost.js" /> | |||
<Content Include="Views\Utility\ListContentIndex.js" /> | |||
<Content Include="Views\Utility\PCDevGuideIndex.js" /> | |||
<Content Include="Views\Utility\PreviewForm.js" /> | |||
@@ -7176,9 +7178,6 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\Peichart.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\StatisticIndex.cshtml" /> | |||
<Content Include="Areas\LR_Desktop\Views\MessageRind\UnreadIndex.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\IndexLostArticle.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormLostArticle.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\Notice\FormLostArticleView.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Emp_Payroll\StatisticIndex.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\VisitorInfo\FormAdd.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\VisitorInfo\FormAdd2.cshtml" /> | |||
@@ -7186,7 +7185,10 @@ | |||
<Content Include="Areas\PersonnelManagement\Views\Emp_PayrollOnce\Index.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Emp_PayrollOnce\StatisticIndex.cshtml" /> | |||
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\LeaveFiling.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\PM_EducationExperience\StatisticIndex.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\Form.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\FormView.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\Index.cshtml" /> | |||
<Content Include="Areas\LR_OAModule\Views\LostArticleInfo\FormClaim.cshtml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | |||
<Content Include="Views\Login\Default-beifen.cshtml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile1.pubxml" /> | |||
@@ -7264,6 +7266,12 @@ | |||
<Content Include="Views\SSOSystem\DragModelThree.cshtml" /> | |||
<Content Include="Views\SSOSystem\DragNoWxLogin.cshtml" /> | |||
<Content Include="Views\Shared\_SimpleForm.cshtml" /> | |||
<Content Include="Views\Login\PageSixForgetPwd.cshtml" /> | |||
<Content Include="Views\Login\VisitorInfoAdd.cshtml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile2.pubxml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile3.pubxml" /> | |||
<None Include="Properties\PublishProfiles\learunadms6.1.pubxml" /> | |||
<Content Include="Views\Utility\ListContentIndexLost.cshtml" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<WCFMetadata Include="Connected Services\" /> | |||
@@ -114,13 +114,15 @@ $(function () { | |||
var n = $(this).parents(".col-xs-6"); | |||
var o = n.attr("data-Id"); | |||
var p = $(this)[0].item; | |||
if (d[o].F_ItemUrl) { | |||
top.learun.frameTab.open({ | |||
F_ModuleId: "dtlist" + p.f_id, | |||
F_FullName: p.f_title, | |||
F_UrlAddress: d[o].F_ItemUrl + p.f_id | |||
}) | |||
} else { | |||
}); | |||
} | |||
else { | |||
//判断点击项是否为‘待办’的子项 | |||
if (d[o].F_Id == "33d50f1a-a64d-4b86-a6d4-2d937226de95") { | |||
if (p.f_tasktype != 2) { | |||
@@ -134,11 +136,20 @@ $(function () { | |||
} | |||
} else { | |||
top["dtlist" + p.f_id] = p; | |||
if (p.islost) { | |||
top.learun.frameTab.open({ | |||
F_ModuleId: "dtlist" + p.f_id, | |||
F_FullName: p.f_title, | |||
F_UrlAddress: "/Utility/ListContentIndexLost?id=" + p.f_id | |||
}); | |||
} else { | |||
top.learun.frameTab.open({ | |||
F_ModuleId: "dtlist" + p.f_id, | |||
F_FullName: p.f_title, | |||
F_UrlAddress: "/Utility/ListContentIndex?id=" + p.f_id | |||
}) | |||
}) | |||
} | |||
} | |||
} | |||
return false | |||
@@ -1,6 +1,6 @@ | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||
@*金隅登录页面*@ | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> | |||
@@ -52,6 +52,7 @@ | |||
</div> | |||
<div class="loginBtn"> | |||
<input type="button" id="lr_login_btn" class="btn btn-white btn-outline btn-lg btn-rounded progress-login" value="登 录" style="cursor:pointer" /> | |||
<a href="/Login/PageSixForgetPwd" style="color: blue; font-size: 12px;">忘记密码?</a> | |||
</div> | |||
</form> | |||
</div> | |||
@@ -71,7 +72,7 @@ | |||
} | |||
@if (ViewBag.VisitorSwitch) | |||
{ | |||
<a href="#" onclick="javascript:location.href = '/PersonnelManagement/VisitorInfo/FormAdd'"><img src="~/Content/images/Login/login8-3.png" alt="" /><span class="bbh_span1">访客注册</span></a> | |||
<a href="#" onclick="javascript:location.href = '/Login/VisitorInfoAdd'"><img src="~/Content/images/Login/login8-3.png" alt="" /><span class="bbh_span1">访客注册</span></a> | |||
} | |||
@if (ViewBag.SSOSystemSwitch) | |||
{ | |||
@@ -101,9 +102,9 @@ | |||
<div> | |||
<span class="loginEdition"> | |||
版本号 : @if (ViewBag.Version) | |||
{ | |||
@ViewBag.VersionNum | |||
} | |||
{ | |||
@ViewBag.VersionNum | |||
} | |||
</span> 在线用户人数 : @ViewBag.OnlineUserNum 人 | |||
</div> | |||
<div>北京金隅科技学校 智慧校园 版权所有</div> | |||
@@ -147,24 +148,24 @@ | |||
@Html.AppendJsFile("/Views/Login/PageSix/Index.js") | |||
@Html.AppendJsFile("/Views/Login/ACLogon.js") | |||
@*<script> | |||
//点击版本号,显示版本号历史进程 | |||
$('.loginEdition').click(function () { | |||
var html = '<div class="process"><div class="proTitle">历史进程</div><div class="pro_sec1">'; | |||
$.each(@(new HtmlString(ViewBag.VersionList)), function (i, item) { | |||
var index = i % 2 == 0 ? 1 : 2; | |||
html += '<div class="proBox proBox'+index+'">' + item.Content + '<div class="edition">' + item.VersionNum + '</div><div class="time">' + item.UpdateTime.slice(0,item.UpdateTime.indexOf("T"))+'</div></div>' ; | |||
}); | |||
html += '</div></div>'; | |||
//点击版本号,显示版本号历史进程 | |||
$('.loginEdition').click(function () { | |||
var html = '<div class="process"><div class="proTitle">历史进程</div><div class="pro_sec1">'; | |||
$.each(@(new HtmlString(ViewBag.VersionList)), function (i, item) { | |||
var index = i % 2 == 0 ? 1 : 2; | |||
html += '<div class="proBox proBox'+index+'">' + item.Content + '<div class="edition">' + item.VersionNum + '</div><div class="time">' + item.UpdateTime.slice(0,item.UpdateTime.indexOf("T"))+'</div></div>' ; | |||
}); | |||
html += '</div></div>'; | |||
layer.open({ | |||
type: 1, | |||
closeBtn: 2, | |||
title: "版本号", | |||
area: ['888px', '60%'], | |||
content: html | |||
}) | |||
}); | |||
</script>*@ | |||
layer.open({ | |||
type: 1, | |||
closeBtn: 2, | |||
title: "版本号", | |||
area: ['888px', '60%'], | |||
content: html | |||
}) | |||
}); | |||
</script>*@ | |||
</body> | |||
</html> |
@@ -0,0 +1,277 @@ | |||
| |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||
@*金隅忘记密码页面*@ | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> | |||
<meta name="renderer" content="webkit" /> | |||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> | |||
<meta name="format-detection" content="telephone=no" /> | |||
<link rel="shortcut icon" href="images/dzlogo.ico" /> | |||
<title>数字化智慧校园</title> | |||
<meta name="keywords" content="忘记密码页面" /> | |||
<meta name="description" content="忘记密码页面" /> | |||
<link href="~/Content/css/LoginModel/common.css" rel="stylesheet" /> | |||
<link href="~/Content/css/LoginModel/loginPublic.css" rel="stylesheet" /> | |||
<link href="~/Content/css/LoginModel/login8.css" rel="stylesheet" /> | |||
<!--自适应--> | |||
<script src="~/Content/js/jquery.min.js"></script> | |||
<style> | |||
.variCode #btn { | |||
padding: 6px 4px; | |||
margin-top: 12px; | |||
background: #0094DE; | |||
} | |||
.variCode input { | |||
padding: 0; | |||
color: #fff; | |||
} | |||
</style> | |||
<script type="text/javascript"> | |||
</script> | |||
<!--自适应--> | |||
</head> | |||
<body> | |||
<div class="loginBox"> | |||
<div class="logo_box"> | |||
<img src="~/Content/images/Login/logo8.png" alt="" /> | |||
</div> | |||
<div class="login_box commonClear"> | |||
<div class="loginCon"> | |||
<div class="loginT"> | |||
<div><span></span> 欢迎登录</div> | |||
<div>智慧校园管理平台</div> | |||
</div> | |||
<div class="loginTabBox"> | |||
<div class="loginTabCon"> | |||
<form id="pwdForm" role="form" action="/a/login" method="post" novalidate="novalidate"> | |||
<div class="loginInput"> | |||
<input type="text" placeholder="手机号" id="phone" name="phone" class="form-control required" required="required" /> | |||
<img src="~/Content/images/Login/login8-6.png" alt="" /> | |||
</div> | |||
<div class="loginInput loginInputCode"> | |||
<input type="code" placeholder="请输入验证码" id="verifycode" name="code" class="form-control" required="required" /> | |||
<div class="variCode"><img id="lr_verifycode_img" src="~/Login/VerifyCode" alt="点击切换验证码" title="点击切换验证码" /></div> | |||
<img src="~/Content/images/Login/login8-8.png" alt="" /> | |||
</div> | |||
<div class="loginInput"> | |||
<input type="code" placeholder="短信验证码" id="phonecode" name="phonecode" class="form-control" required="required" /> | |||
<div class="variCode"> | |||
<input type="button" id="btn" value="获取验证码" onclick="GetPhoneCode(this)" /> | |||
</div> | |||
<img src="~/Content/images/Login/login8-7.png" alt="" /> | |||
</div> | |||
<div class="loginInput"> | |||
<input type="password" placeholder="请输入新密码" id="newPassword" name="newPassword" class="form-control required" required="required" /> | |||
<img src="~/Content/images/Login/login8-7.png" alt="" /> | |||
</div> | |||
<div class="loginInput"> | |||
<input type="password" placeholder="请再次输入密码" id="newPasswordAgain" name="newPasswordAgain" class="form-control required" required="required" /> | |||
<img src="~/Content/images/Login/login8-7.png" alt="" /> | |||
</div> | |||
<div class="loginBtn"> | |||
<input type="submit" class="btn btn-white btn-outline btn-lg btn-rounded progress-login" value="提交" style="cursor:pointer" id="bthsubmit" /> | |||
</div> | |||
</form> | |||
</div> | |||
<div class="loginTabCon"> | |||
<div id="qrCode"></div> | |||
<div class="qrCodeTxt">智慧校园移动端</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="tips"> | |||
<img src="~/Content/images/LoginPage/tips5.png" alt="" /> <span>建议使用360或谷歌浏览器</span> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="loginFooter"> | |||
<div>版本号 : V3.0.1 在线用户人数 : 0 人 </div> | |||
<div>北京金隅科技学校 数字化智慧校园 版权所有</div> | |||
<!--京ICP备13045367号--> | |||
</div> | |||
<script src="~/Content/js/qrcode.min.js"></script> | |||
<script src="~/Content/layui/layui.all.js"></script> | |||
<script src="~/Content/vue/vue.js"></script> | |||
<script> | |||
var qrCodeBox = $('.qrCodeBox'); | |||
var loginForm = $('#loginForm'); | |||
var qrcode = new QRCode(document.getElementById("qrCode"), { | |||
width: 200, | |||
height: 200 | |||
}); | |||
makeCode('@ViewBag.QRCodeUrl'); | |||
$('.loginTab li').click(function() { | |||
var flag = $(this).hasClass('active'); | |||
if (!flag) { | |||
var ind = $(this).index(); | |||
$(this).addClass('active').siblings().removeClass('active'); | |||
$('.loginTabCon').css('display', 'none').eq(ind).fadeIn(); | |||
} else { | |||
return; | |||
} | |||
}); | |||
function makeCode(urls) { | |||
qrcode.makeCode(urls); | |||
} | |||
//提交 | |||
$("#bthsubmit").on('click', function () { | |||
if (!$('#phone').val()) { | |||
alert('手机号不能为空!'); | |||
} | |||
if (!$('#phonecode').val()) { | |||
alert('短信验证码不能为空!'); | |||
} | |||
var newPassword = $('#newPassword').val(); | |||
var newPasswordAgain = $('#newPasswordAgain').val(); | |||
if (!$('#newPassword').val()) { | |||
alert('请输入新密码!'); | |||
} | |||
if (newPassword != newPasswordAgain) { | |||
alert('两次密码输入不一致!'); | |||
return; | |||
} | |||
$.ajax({ | |||
url: "/Login/FindPassword", | |||
data: { phone: $('#phone').val(), phonecode: $('#phonecode').val(), newPassword: newPassword, smsType:2}, | |||
type: "POST", | |||
dataType: "json", | |||
async: true, | |||
cache: false, | |||
success: function (data) { | |||
console.log(data); | |||
alert("修改成功"); | |||
location.href = "/home/index"; | |||
}, | |||
error: function (XMLHttpRequest, textStatus, errorThrown) { | |||
}, | |||
beforeSend: function () { | |||
}, | |||
complete: function () { | |||
} | |||
}); | |||
}); | |||
//layui.use(['form', 'laydate', 'upload'], function () { | |||
// var form = layui.form; | |||
// //按钮点击 | |||
// form.on('submit(*)', function (data) { | |||
// console.log('提交!'); | |||
// return; | |||
// $.ajax({ | |||
// url: "/PersonnelManagement/VisitorInfo/SaveForm?keyValue=", | |||
// data: { strEntity: JSON.stringify(data.field), verifycode: $.trim($verifycode.val()), phonecode: $('#phonecode').val() }, | |||
// type: "POST", | |||
// dataType: "json", | |||
// async: true, | |||
// cache: false, | |||
// success: function (data) { | |||
// console.log(data); | |||
// layer.msg("注册成功"); | |||
// alert("注册成功"); | |||
// //location.reload(); | |||
// location.href = "/home/index"; | |||
// }, | |||
// error: function (XMLHttpRequest, textStatus, errorThrown) { | |||
// }, | |||
// beforeSend: function () { | |||
// }, | |||
// complete: function () { | |||
// } | |||
// }); | |||
// return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 | |||
// }); | |||
//}); | |||
// 点击切换验证码 | |||
$("#lr_verifycode_img").click(function () { | |||
$("#verifycode").val(''); | |||
$("#lr_verifycode_img").attr("src", "/Login/VerifyCode?time=" + Math.random()); | |||
}); | |||
//图片验证码 | |||
$("#verifycode").blur(function () { | |||
//失去焦点时判断验证码是否正确 | |||
$.ajax({ | |||
url: "/Login/CheckVerifycode", | |||
//headers: { __RequestVerificationToken: $.lrToken }, | |||
data: { verifycode: $('#verifycode').val() }, | |||
type: "post", | |||
dataType: "json", | |||
success: function (res) { | |||
console.log(res); | |||
if (res.code != 200) { | |||
alert(res.info); | |||
} | |||
} | |||
}); | |||
}); | |||
//获取手机验证码 | |||
function GetPhoneCode(obj) { | |||
var phone = $('#phone').val(); | |||
//图片验证码 | |||
var verifycode = $('#verifycode').val(); | |||
if (!verifycode) { | |||
alert("请输入图片验证码!"); | |||
return; | |||
} | |||
if (!phone) { | |||
alert("请输入手机号!"); | |||
return; | |||
} else { | |||
var reg = /^((\(\d{2,3}\))|(\d{3}\-))?1\d{10}$/; | |||
if (!reg.test(phone)) { | |||
alert("手机号格式不正确!"); | |||
return; | |||
}} | |||
$.ajax({ | |||
url: "/Login/GetCheckCode", | |||
data: { mobile: phone, smsType: 2 }, | |||
type: "post", | |||
dataType: "json", | |||
success: function (res) { | |||
console.log(res); | |||
alert(res.info); | |||
if (res.code == 200) { | |||
settime(obj); | |||
} | |||
} | |||
}); | |||
}; | |||
var countdown = 30; | |||
function settime(obj) { | |||
console.log(obj) | |||
if (countdown == 0) { | |||
obj.removeAttribute("disabled"); | |||
obj.value = "获取验证码"; | |||
countdown = 30; | |||
return; | |||
} else { | |||
obj.setAttribute("disabled", true); | |||
obj.value = "重新发送(" + countdown + ")"; | |||
countdown--; | |||
} | |||
setTimeout(function () { | |||
settime(obj); | |||
}, | |||
1000); | |||
} | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,254 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |||
<meta name="renderer" content="webkit"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | |||
<meta name="format-detection" content="telephone=no"> | |||
<link rel="shortcut icon" href=""> | |||
<title>数字化校园-访客注册</title> | |||
<meta name="keywords" content="数字化校园-教师注册"> | |||
<meta name="description" content="数字化校园-教师注册"> | |||
<link href="~/Content/css/font-awesome.css" rel="stylesheet" /> | |||
<link href="~/Content/css/common.css" rel="stylesheet" /> | |||
<link href="~/Content/layui/css/layui.css" rel="stylesheet" media="all" /> | |||
<link href="~/Content/css/fromAdd.css" rel="stylesheet" /> | |||
<link href="~/Content/laydate/theme/laydate.css" rel="stylesheet" /> | |||
<link href="~/Content/layui/css/modules/layer/default/layer.css" rel="stylesheet" /> | |||
<link href="~/Content/layui/css/code.css" rel="stylesheet" /> | |||
@*<link href="./files/css/font-awesome.css" rel="stylesheet"> | |||
<link href="./files/css/common.css" rel="stylesheet"> | |||
<link href="./files/css/layui.css" rel="stylesheet" media="all"> | |||
<link href="./files/css/fromAdd.css" rel="stylesheet"> | |||
<link id="layuicss-laydate" rel="stylesheet" href="./files/css/laydate.css" media="all"> | |||
<link id="layuicss-layer" rel="stylesheet" href="./files/css/layer.css" media="all"> | |||
<link id="layuicss-skincodecss" rel="stylesheet" href="./files/css/code.css" media="all">*@ | |||
<style> | |||
.variCode #btn { | |||
padding: 6px 4px; | |||
margin-top: 12px; | |||
background: #0094DE; | |||
} | |||
.variCode input { | |||
padding: 0; | |||
color: #fff; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="header"> | |||
<div class="fromSec"> | |||
<a href="">数字化智慧校园</a> <span class="headerLine">|</span> <span>访客注册</span> | |||
</div> | |||
</div> | |||
<div class="warpper" id="app"> | |||
<!-- / index_sec5 --> | |||
<div class="chickForm_sec"> | |||
<div class="fromSec"> | |||
<div class="chickT">注册</div> | |||
<form class="layui-form" action=""> | |||
<!-- / chickForm_sec1 --> | |||
<div class="chickForm_sec1"> | |||
<div class="chickInput"> | |||
<span class="chickInputLable"><span>*</span> 姓名</span> | |||
<input type="text" id="EmpNo" name="EmpNo" lay-verify="required" placeholder="请输入姓名" class="layui-input"> | |||
</div> | |||
<div class="chickInput"> | |||
<span class="chickInputLable"><span>*</span> 电话</span> | |||
<input id="EmpName" type="text" name="EmpName" lay-verify="required" placeholder="请输入电话" class="layui-input"> | |||
</div> | |||
</div> | |||
<div class="chickInput yz"> | |||
<p> | |||
<span class="chickInputLable"><span>*</span> 图形验证</span> | |||
<input id="verifycode" type="text" name="verifycode" lay-verify="required" placeholder="请输入内容" class="layui-input"> | |||
</p> | |||
<div class="variCode"> | |||
<img id="lr_verifycode_img" src="~/Login/VerifyCode" alt="点击切换验证码" title="点击切换验证码" /> | |||
</div> | |||
</div> | |||
<div class="chickInput yz"> | |||
<p> | |||
<span class="chickInputLable"><span>*</span> 短信验证</span> | |||
<input id="phonecode" type="text" name="phonecode" lay-verify="required" placeholder="请输入内容" class="layui-input"> | |||
</p> | |||
<div class="variCode"> | |||
<input type="button" id="btn" value="获取验证码" onclick="GetPhoneCode(this)" /> | |||
</div> | |||
</div> | |||
<div class="chickInput"> | |||
<span class="chickInputLable"><span>*</span> 申请理由</span> | |||
<input id="VReasons" type="text" name="VReasons" lay-verify="required" placeholder="请输入原因" class="layui-input"> | |||
</div> | |||
<div class="chickInput"> | |||
<span class="chickInputLable"><span>*</span> 来访目的</span> | |||
<input id="VObjective" type="text" name="VObjective" lay-verify="required" placeholder="请输入原因" class="layui-input"> | |||
</div> | |||
<div class="chickInput"> | |||
<span class="chickInputLable"><span>*</span> 备注</span> | |||
<input id="VRemarks" type="text" name="VRemarks" lay-verify="required" placeholder="请输入内容" class="layui-input"> | |||
</div> | |||
<!-- / chickForm_sec1 --> | |||
<div class="chickBtn" lay-submit="" lay-filter="*">提交</div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
<img id="fromBg" src="~/Content/images/from1.png" /> | |||
<div class="footer"> Copyright © 2019 数字化智慧校园 版权所有</div> | |||
<script src="~/Content/js/jquery.min.js"></script> | |||
<script src="~/Content/layui/layui.all.js"></script> | |||
<script src="~/Content/vue/vue.js"></script> | |||
@*<script src="./files/js/jquery.min.js"></script> | |||
<script src="./files/js/layui.all.js"></script> | |||
<script src="./files/js/vue.js"></script>*@ | |||
<script> | |||
var today = formatDateTimesM(); | |||
layui.use(['form', 'laydate', 'upload'], function () { | |||
var form = layui.form; | |||
//登录按钮点击 | |||
form.on('submit(*)', function (data) { | |||
$.ajax({ | |||
url: "/EducationalAdministration/EmpInfoEnternal/SaveForm?keyValue=", | |||
data: { strEntity: JSON.stringify(data.field), verifycode: $('#verifycode').val(), phonecode: $('#phonecode').val() }, | |||
type: "POST", | |||
dataType: "json", | |||
async: true, | |||
cache: false, | |||
success: function (data) { | |||
console.log(data); | |||
alert("注册成功"); | |||
//location.reload(); | |||
location.href = "/home/index"; | |||
}, | |||
error: function (XMLHttpRequest, textStatus, errorThrown) { | |||
}, | |||
beforeSend: function () { | |||
}, | |||
complete: function () { | |||
} | |||
}); | |||
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 | |||
}); | |||
}); | |||
$(window).load(function() { | |||
//$('.chickInputBoxs input').attr('lay-verify', 'required'); | |||
//renderForm() | |||
}); | |||
//重新渲染表单 | |||
function renderForm() { | |||
layui.use('form', function () { | |||
var form = layui.form//高版本建议把括号去掉,有的低版本,需要加() | |||
form.render(); | |||
}); | |||
} | |||
function formatDateTimesM() { | |||
var date = new Date(1960, 0, 0); | |||
var y = date.getFullYear(); | |||
var m = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; | |||
var d = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); | |||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); | |||
var min = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); | |||
return { | |||
y: y, | |||
m: m, | |||
d: d, | |||
h: h, | |||
min: min | |||
} | |||
}; | |||
</script> | |||
<script type="text/javascript"> | |||
// 点击切换验证码 | |||
$("#lr_verifycode_img").click(function () { | |||
$("#verifycode").val(''); | |||
$("#lr_verifycode_img").attr("src", "/Login/VerifyCode?time=" + Math.random()); | |||
}); | |||
//图片验证码 | |||
$("#verifycode").blur(function () { | |||
//失去焦点时判断验证码是否正确 | |||
$.ajax({ | |||
url: "/Login/CheckVerifycode", | |||
//headers: { __RequestVerificationToken: $.lrToken }, | |||
data: { verifycode: $('#verifycode').val() }, | |||
type: "post", | |||
dataType: "json", | |||
success: function (res) { | |||
console.log(res); | |||
if (res.code != 200) { | |||
alert(res.info); | |||
} | |||
} | |||
}); | |||
}); | |||
//获取手机验证码 | |||
function GetPhoneCode(obj) { | |||
var phone = $('#phone').val(); | |||
//图片验证码 | |||
var verifycode = $('#verifycode').val(); | |||
if (!verifycode) { | |||
alert("请输入图片验证码!"); | |||
return; | |||
} | |||
if (!phone) { | |||
alert("请输入手机号!"); | |||
return; | |||
} else { | |||
var reg = /^((\(\d{2,3}\))|(\d{3}\-))?1\d{10}$/; | |||
if (!reg.test(phone)) { | |||
alert("手机号格式不正确!"); | |||
return; | |||
}} | |||
$.ajax({ | |||
url: "/Login/GetCheckCode", | |||
data: { mobile: phone, smsType: 2 }, | |||
type: "post", | |||
dataType: "json", | |||
success: function (res) { | |||
console.log(res); | |||
alert(res.info); | |||
if (res.code == 200) { | |||
settime(obj); | |||
} | |||
} | |||
}); | |||
}; | |||
var countdown = 30; | |||
function settime(obj) { | |||
console.log(obj) | |||
if (countdown == 0) { | |||
obj.removeAttribute("disabled"); | |||
obj.value = "获取验证码"; | |||
countdown = 30; | |||
return; | |||
} else { | |||
obj.setAttribute("disabled", true); | |||
obj.value = "重新发送(" + countdown + ")"; | |||
countdown--; | |||
} | |||
setTimeout(function () { | |||
settime(obj); | |||
}, | |||
1000); | |||
} | |||
</script> | |||
</body> | |||
</html> |
@@ -22,13 +22,7 @@ var bootstrap = function ($, learun) { | |||
$("#F_NewsContent").html($('<div></div>').html(item.f_content).text()); | |||
} else { | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/Notice/GetEntity?keyValue=' + id, function (data) { | |||
if (data.F_Category == "失物招领") { | |||
data.F_NewsContent = decodeURI(data.F_NewsContent); | |||
$('.inSec1T').attr("hidden","hidden"); | |||
$('#readlist').attr("hidden","hidden"); | |||
$('#msgSource').attr("hidden","hidden"); | |||
$('#newType').attr("hidden","hidden"); | |||
} | |||
$("#F_FullHead").text(data.F_FullHead); | |||
$("#F_CreateDate").text(data.F_CreateDate); | |||
$("#F_CreateUserName").text(data.F_SourceName == null ? "" : data.F_SourceName); | |||
@@ -0,0 +1,46 @@ | |||
| |||
@{ | |||
ViewBag.Title = "ListContentIndex"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<link rel="stylesheet" type="text/css" href="~/Content/news/css/common.css"> | |||
<link rel="stylesheet" type="text/css" href="~/Content/news/css/style.css"> | |||
<script src="~/Content/news/js/easing.js"></script> | |||
<script src="~/Content/news/js/main.js"></script> | |||
<style> | |||
body { | |||
background-color: #ffffff !important | |||
} | |||
</style> | |||
<!-- / warpper --> | |||
<div class="warpper" style="margin-top: 50px;"> | |||
<!-- / list_sec1 --> | |||
<div class="list_sec list_sec1"> | |||
<div class="index_box"> | |||
<div class="listDotT" id="F_FullHead"></div> | |||
<div class="listDotTime"> | |||
<span>发布时间:<span id="F_CreateDate"></span></span> | |||
@*<span id="msgSource">信息来源:<span id="F_CreateUserName"></span></span> | |||
<span id="newType">公告类别:<span id="F_Category"></span></span>*@ | |||
</div> | |||
<div class="listDotBox" id="F_NewsContent"> | |||
</div> | |||
<div id="F_NewsImage"></div> | |||
</div> | |||
</div> | |||
@*<div class="list_sec2s list_sec"> | |||
<div class="index_box"> | |||
<div class="listSec2sTitle">已读人员</div> | |||
<div class="inSec1T"><span>已读人员</span></div> | |||
<ul class="listSec2sList" id="readlist"> | |||
</ul> | |||
</div> | |||
</div>*@ | |||
<!-- / list_sec1 --> | |||
</div> | |||
<!-- / warpper --> | |||
@Html.AppendJsFile("/Views/Utility/ListContentIndexLost.js") |
@@ -0,0 +1,59 @@ | |||
/* | |||
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:陈彬彬 | |||
* 日 期:2018.04.28 | |||
* 描 述:桌面消息查看 | |||
*/ | |||
var id = request('id'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('#F_NewsImage').lrUploader({ isUpload: false, isView:false}); | |||
$('.warpper').lrscroll(); | |||
var item = top['dtlist' + id]; | |||
if(false){// (!!item) { | |||
$("#F_FullHead").text(item.f_title); | |||
$("#F_CreateDate").text(item.f_createdate); | |||
$("#F_CreateUserName").text(item.f_createusername); | |||
$("#F_Category").text(item.f_category); | |||
$("#F_NewsContent").html($('<div></div>').html(item.f_content).text()); | |||
} else { | |||
$.lrSetForm(top.$.rootUrl + '/LR_OAModule/LostArticleInfo/GetEntity?keyValue=' + id, function (data) { | |||
data.F_NewsContent = decodeURI(data.F_Content); | |||
//$('.inSec1T').attr("hidden", "hidden"); | |||
//$('#readlist').attr("hidden", "hidden"); | |||
//$('#msgSource').attr("hidden", "hidden"); | |||
//$('#newType').attr("hidden", "hidden"); | |||
$("#F_FullHead").text(data.F_FullHead); | |||
$("#F_CreateDate").text(data.F_CreateTime); | |||
$("#F_CreateUserName").text(data.F_CreateUserName == null ? "" : data.F_CreateUserName); | |||
$("#F_Category").text('失物招领'); | |||
$("#F_NewsContent").html($('<div></div>').html(data.F_NewsContent)); | |||
$('#F_NewsImage').lrUploaderSet(data.F_Image); | |||
}); | |||
} | |||
//阅读 | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_Desktop/LR_OA_NewsRead/NewsRead", { newsId: id }, function (res) { | |||
}); | |||
//阅读者列表 | |||
learun.httpAsyncGet(top.$.rootUrl + "/LR_Desktop/LR_OA_NewsRead/GetNewsReadList?newsId=" + id, function (res) { | |||
if (res.code == 200) { | |||
var html = ''; | |||
for (var i = 0; i < res.data.rows.length; i++) { | |||
var item = res.data.rows[i]; | |||
html += '<li><span class="listSec2sT">' + item.RUserName + '</span><span class="listSec2sTime">' + item.RTime + '</span></li>'; | |||
} | |||
$('#readlist').html(html); | |||
} | |||
}); | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,29 @@ | |||
using Learun.Application.OA; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2021-05-20 15:14 | |||
/// 描 述:失物招领 | |||
/// </summary> | |||
public class LostArticleInfoMap : EntityTypeConfiguration<LostArticleInfoEntity> | |||
{ | |||
public LostArticleInfoMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("LOSTARTICLEINFO"); | |||
//主键 | |||
this.HasKey(t => t.F_LId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -559,6 +559,7 @@ | |||
<Compile Include="LR_Desktop\MessageRemindMap.cs" /> | |||
<Compile Include="AssetManagementSystem\Ass_Storage_RoomMap.cs" /> | |||
<Compile Include="PersonnelManagement\VisitorInfoMap.cs" /> | |||
<Compile Include="LR_Desktop\LostArticleInfoMap.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | |||
@@ -132,6 +132,10 @@ | |||
<Compile Include="Gantt\JQueryGanttEntity.cs" /> | |||
<Compile Include="Gantt\JQueryGanttIBLL.cs" /> | |||
<Compile Include="Gantt\JQueryGanttService.cs" /> | |||
<Compile Include="LostArticleInfo\LostArticleInfoBLL.cs" /> | |||
<Compile Include="LostArticleInfo\LostArticleInfoEntity.cs" /> | |||
<Compile Include="LostArticleInfo\LostArticleInfoIBLL.cs" /> | |||
<Compile Include="LostArticleInfo\LostArticleInfoService.cs" /> | |||
<Compile Include="LR_StampManage\LR_StampManageBLL.cs" /> | |||
<Compile Include="LR_StampManage\LR_StampManageEntity.cs" /> | |||
<Compile Include="LR_StampManage\LR_StampManageIBLL.cs" /> | |||
@@ -0,0 +1,193 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.OA | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2021-05-20 15:14 | |||
/// 描 述:失物招领 | |||
/// </summary> | |||
public class LostArticleInfoBLL : LostArticleInfoIBLL | |||
{ | |||
private LostArticleInfoService lostArticleInfoService = new LostArticleInfoService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<LostArticleInfoEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return lostArticleInfoService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取LostArticleInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public LostArticleInfoEntity GetLostArticleInfoEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return lostArticleInfoService.GetLostArticleInfoEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
lostArticleInfoService.DeleteEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 发布 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void PublishForm(string keyValue) | |||
{ | |||
try | |||
{ | |||
lostArticleInfoService.PublishForm(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
public void ClaimForm(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
lostArticleInfoService.ClaimForm(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 撤下 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void CancleForm(string keyValue) | |||
{ | |||
try | |||
{ | |||
lostArticleInfoService.CancleForm(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
lostArticleInfoService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,109 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.OA | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2021-05-20 15:14 | |||
/// 描 述:失物招领 | |||
/// </summary> | |||
public class LostArticleInfoEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// 主键 | |||
/// </summary> | |||
[Column("F_LID")] | |||
public string F_LId { get; set; } | |||
/// <summary> | |||
/// 标题 | |||
/// </summary> | |||
[Column("F_FULLHEAD")] | |||
public string F_FullHead { get; set; } | |||
/// <summary> | |||
/// 图片 | |||
/// </summary> | |||
[Column("F_IMAGE")] | |||
public string F_Image { get; set; } | |||
/// <summary> | |||
/// 内容 | |||
/// </summary> | |||
[Column("F_CONTENT")] | |||
public string F_Content { get; set; } | |||
/// <summary> | |||
/// 发布人员 | |||
/// </summary> | |||
[Column("F_CREATEUSERNAME")] | |||
public string F_CreateUserName { get; set; } | |||
/// <summary> | |||
/// 发布时间 | |||
/// </summary> | |||
[Column("F_RELEASETIME")] | |||
public DateTime? F_ReleaseTime { get; set; } | |||
/// <summary> | |||
/// 创建时间 | |||
/// </summary> | |||
[Column("F_CREATETIME")] | |||
public DateTime? F_CreateTime { get; set; } | |||
/// <summary> | |||
/// 状态 草稿0、已发布1、已认领2、撤下3 | |||
/// </summary> | |||
[Column("F_STATE")] | |||
public int? F_State { get; set; } | |||
/// <summary> | |||
/// 认领人 | |||
/// </summary> | |||
[Column("F_USER")] | |||
public string F_User { get; set; } | |||
/// <summary> | |||
/// 认领时间 | |||
/// </summary> | |||
[Column("F_USERTIME")] | |||
public DateTime? F_UserTime { get; set; } | |||
/// <summary> | |||
/// 认领照片 | |||
/// </summary> | |||
[Column("F_CLAIMIMAGE")] | |||
public string F_ClaimImage { get; set; } | |||
/// <summary> | |||
/// 经手人 | |||
/// </summary> | |||
[Column("F_MANAGEUSERNAME")] | |||
public string F_ManageUserName { get; set; } | |||
/// <summary> | |||
/// 经手人 | |||
/// </summary> | |||
[Column("F_MANAGEUSERID")] | |||
public string F_ManageUserId { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.F_LId = Guid.NewGuid().ToString(); | |||
UserInfo userInfo = LoginUserInfo.Get(); | |||
this.F_CreateUserName = userInfo.realName; | |||
this.F_CreateTime = DateTime.Now; | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.F_LId = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,64 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.OA | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2021-05-20 15:14 | |||
/// 描 述:失物招领 | |||
/// </summary> | |||
public interface LostArticleInfoIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<LostArticleInfoEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取LostArticleInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
LostArticleInfoEntity GetLostArticleInfoEntity(string keyValue); | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
void DeleteEntity(string keyValue); | |||
/// <summary> | |||
/// 发布 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
void PublishForm(string keyValue); | |||
/// <summary> | |||
/// 认领 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <param name="entity"></param> | |||
void ClaimForm(string keyValue, LostArticleInfoEntity entity); | |||
/// <summary> | |||
/// 撤下 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
void CancleForm(string keyValue); | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
void SaveEntity(string keyValue, LostArticleInfoEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,229 @@ | |||
using Dapper; | |||
using Learun.DataBase.Repository; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Text; | |||
namespace Learun.Application.OA | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2021-05-20 15:14 | |||
/// 描 述:失物招领 | |||
/// </summary> | |||
public class LostArticleInfoService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<LostArticleInfoEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@"t.* | |||
"); | |||
strSql.Append(" FROM LostArticleInfo t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (queryParam.HasValues) | |||
{ | |||
if (!queryParam["F_FullHead"].IsEmpty()) | |||
{ | |||
dp.Add("F_FullHead", "%" + queryParam["F_FullHead"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.F_FullHead like @F_FullHead "); | |||
} | |||
} | |||
return this.BaseRepository().FindList<LostArticleInfoEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取LostArticleInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public LostArticleInfoEntity GetLostArticleInfoEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository().FindEntity<LostArticleInfoEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository().Delete<LostArticleInfoEntity>(t => t.F_LId == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
public void SaveEntity(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository().Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository().Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 发布 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void PublishForm(string keyValue) | |||
{ | |||
try | |||
{ | |||
//草稿0、已发布1、已认领2、撤下3 | |||
string sql = $"update LostArticleInfo set F_State=1 where F_LId='{keyValue}'"; | |||
this.BaseRepository().ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 认领 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void ClaimForm(string keyValue, LostArticleInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
//草稿0、已发布1、已认领2、撤下3 | |||
UserInfo userInfo = LoginUserInfo.Get(); | |||
string sql = $@"update LostArticleInfo set F_State=3,F_User='{entity.F_User}',F_UserTime='{entity.F_UserTime}',F_ClaimImage='{entity.F_ClaimImage}', | |||
F_ManageUserId='{userInfo.userId}',F_ManageUserName='{userInfo.realName}' where F_LId='{keyValue}'"; | |||
this.BaseRepository().ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 撤下 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void CancleForm(string keyValue) | |||
{ | |||
try | |||
{ | |||
//草稿0、已发布1、已认领2、撤下3 | |||
string sql = $"update LostArticleInfo set F_State=3 where F_LId='{keyValue}'"; | |||
this.BaseRepository().ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -60,24 +60,6 @@ namespace Learun.Application.OA | |||
} | |||
} | |||
public IEnumerable<NewsEntity> GetPageListForLostArticle(Pagination pagination, string keyword) | |||
{ | |||
try | |||
{ | |||
return noticeService.GetPageListForLostArticle(pagination, keyword); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 公告实体 | |||
/// </summary> | |||
@@ -170,32 +152,6 @@ namespace Learun.Application.OA | |||
} | |||
} | |||
/// <summary> | |||
/// 保存(新增、修改)失物招领 | |||
/// </summary> | |||
/// <param name="keyValue">主键值</param> | |||
/// <param name="newsEntity">公告实体</param> | |||
/// <returns></returns> | |||
public void SaveFormForLostArticle(string keyValue, NewsEntity newsEntity) | |||
{ | |||
try | |||
{ | |||
noticeService.SaveFormForLostArticle(keyValue, newsEntity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 扩展数据 | |||
@@ -22,13 +22,6 @@ namespace Learun.Application.OA | |||
IEnumerable<NewsEntity> GetPageList(Pagination pagination, string keyword); | |||
IEnumerable<NewsEntity> GetPageListRevert(Pagination pagination, string keyword); | |||
/// <summary> | |||
/// 获取失物招领分页数据 | |||
/// </summary> | |||
/// <param name="pagination"></param> | |||
/// <param name="keyword"></param> | |||
/// <returns></returns> | |||
IEnumerable<NewsEntity> GetPageListForLostArticle(Pagination pagination, string keyword); | |||
/// <summary> | |||
/// 公告实体 | |||
/// </summary> | |||
/// <param name="keyValue">主键值</param> | |||
@@ -49,13 +42,6 @@ namespace Learun.Application.OA | |||
/// <param name="newsEntity">公告实体</param> | |||
/// <returns></returns> | |||
void SaveEntity(string keyValue, NewsEntity newsEntity); | |||
/// <summary> | |||
/// 保存失物招领信息 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <param name="newsEntity"></param> | |||
void SaveFormForLostArticle(string keyValue, NewsEntity newsEntity); | |||
#endregion | |||
#region 扩展数据 | |||
@@ -71,37 +71,6 @@ namespace Learun.Application.OA | |||
} | |||
} | |||
/// <summary> | |||
/// 失物招领分页列表 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="keyword">关键词</param> | |||
/// <returns></returns> | |||
public IEnumerable<NewsEntity> GetPageListForLostArticle(Pagination pagination, string keyword) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT * FROM LR_OA_News t WHERE t.F_TypeId = 3 and F_CategoryId=99 "); | |||
if (!string.IsNullOrEmpty(keyword)) | |||
{ | |||
strSql.Append(" AND F_FullHead like @keyword"); | |||
} | |||
return this.BaseRepository().FindList<NewsEntity>(strSql.ToString(), new { keyword = "%" + keyword + "%" }, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 新闻公告实体 | |||
/// </summary> | |||
@@ -228,44 +197,7 @@ namespace Learun.Application.OA | |||
} | |||
} | |||
/// <summary> | |||
/// 保存(新增、修改)失物招领 | |||
/// </summary> | |||
/// <param name="keyValue">主键值</param> | |||
/// <param name="newsEntity">新闻公告实体</param> | |||
/// <returns></returns> | |||
public void SaveFormForLostArticle(string keyValue, NewsEntity newsEntity) | |||
{ | |||
try | |||
{ | |||
newsEntity.F_TypeId = 3; | |||
newsEntity.F_CategoryId = "99"; | |||
newsEntity.F_Category = "失物招领"; | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
newsEntity.Modify(keyValue); | |||
this.BaseRepository().Update(newsEntity); | |||
} | |||
else | |||
{ | |||
newsEntity.Create(); | |||
this.BaseRepository().Insert(newsEntity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 扩展数据 | |||