@@ -0,0 +1,47 @@ | |||
using Learun.Util.Operat; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Web; | |||
using Learun.Application.TwoDevelopment; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
namespace Learun.Application.Web | |||
{ | |||
public class FinaChargeOperatorHelper | |||
{ | |||
private static FinaChargeLogService finaChargeLogService = new FinaChargeLogService(); | |||
public static FinaChargeOperatorHelper Instance | |||
{ | |||
get { return new FinaChargeOperatorHelper(); } | |||
} | |||
public void WriteOperateLog(OperateLogModel operateLogModel) | |||
{ | |||
try | |||
{ | |||
if (operateLogModel.userInfo == null) | |||
{ | |||
operateLogModel.userInfo = LoginUserInfo.Get(); | |||
} | |||
FinaChargeLogEntity logEntity = new FinaChargeLogEntity(); | |||
logEntity.F_CategoryId = 3; | |||
logEntity.F_OperateTypeId = ((int)operateLogModel.type).ToString(); | |||
logEntity.F_OperateType = EnumAttribute.GetDescription(operateLogModel.type); | |||
logEntity.F_OperateAccount = operateLogModel.userInfo?.account + "(" + operateLogModel.userInfo.realName + ")"; | |||
logEntity.F_OperateUserId = operateLogModel.userInfo?.userId; | |||
logEntity.F_Module = operateLogModel.title; | |||
logEntity.F_ExecuteResult = 1; | |||
logEntity.F_ExecuteResultJson = "访问地址:" + operateLogModel.url; | |||
logEntity.F_SourceObjectId = operateLogModel.sourceObjectId; | |||
logEntity.F_SourceContentJson = operateLogModel.sourceContentJson; | |||
logEntity.F_Description = "PC端"; | |||
finaChargeLogService.WriteLog(logEntity); | |||
} | |||
catch (Exception) | |||
{ | |||
} | |||
} | |||
} | |||
} |
@@ -101,6 +101,26 @@ namespace Learun.Application.Web | |||
return Content(new ResParameter { code = ResponseCode.success, info = info, data = new object { } }.ToJson()); | |||
} | |||
/// <summary> | |||
/// 带操作日志 | |||
/// </summary> | |||
/// <param name="info"></param> | |||
/// <returns></returns> | |||
protected virtual ActionResult Success_FinaCharge(string info, string title, OperationType type, string keyValue, string content) | |||
{ | |||
OperateLogModel operateLogModel = new OperateLogModel(); | |||
operateLogModel.title = title; | |||
operateLogModel.type = type; | |||
operateLogModel.url = (string)WebHelper.GetHttpItems("currentUrl"); | |||
operateLogModel.sourceObjectId = keyValue; | |||
operateLogModel.sourceContentJson = content; | |||
FinaChargeOperatorHelper.Instance.WriteOperateLog(operateLogModel); | |||
return Content(new ResParameter { code = ResponseCode.success, info = info, data = new object { } }.ToJson()); | |||
} | |||
/// <summary> | |||
/// 返回失败消息 | |||
/// </summary> | |||
@@ -28,6 +28,12 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult FinaCharge() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
@@ -0,0 +1,24 @@ | |||
@{ | |||
ViewBag.Title = "教师注册功能开关控制"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout "> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/TeachSwitch/FinaCharge.js") |
@@ -0,0 +1,80 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-07-08 17:19 | |||
* 描 述:教师注册功能开关控制 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/TeachSwitch/Form?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/TeachSwitch/GetPageList', | |||
headData: [ | |||
{ | |||
label: "缴费开关", name: "type", width: 300, align: "left", | |||
formatter: function (val) { | |||
if (val == 'jf') { | |||
return '缴费开关'; | |||
} | |||
} | |||
}, | |||
{ | |||
label: "是否开启", name: "status", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'YesOrNoInt', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
], | |||
mainId: 'ID', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.JF = 1; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
page.init(); | |||
} |
@@ -5,6 +5,8 @@ using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using System; | |||
using System.Linq; | |||
using Learun.Loger; | |||
using Learun.Util.Operat; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
@@ -119,7 +121,20 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
#endregion | |||
#region 提交数据 | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult Lock(string keyValue) | |||
{ | |||
finaChargeItemIBLL.Lock(keyValue); | |||
return Success_FinaCharge("操作成功!", "收费项目设置", OperationType.Lock, keyValue, "启用收费项目"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult UnLock(string keyValue) | |||
{ | |||
finaChargeItemIBLL.UnLock(keyValue); | |||
return Success_FinaCharge("操作成功!", "收费项目设置", OperationType.UnLock, keyValue, "停用收费项目"); | |||
} | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
@@ -136,7 +151,7 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
} | |||
finaChargeItemIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
return Success_FinaCharge("删除成功!", "收费项目设置", OperationType.Delete, keyValue, "删除收费项目"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
@@ -160,18 +175,39 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
} | |||
else | |||
{ | |||
if (model.ChargeItemID != Convert.ToInt32(keyValue)) | |||
if (model.ChargeItemID != keyValue) | |||
{ | |||
return Fail("收费项目名称不能重复!"); | |||
} | |||
} | |||
} | |||
var modelcode = finaChargeItemIBLL.GetFinaChargeItemEntityByChargeItemCode(entity.ChargeItemCode); | |||
if (modelcode != null) | |||
{ | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
return Fail("收费项目代码不能重复!"); | |||
} | |||
else | |||
{ | |||
if (modelcode.ChargeItemID != keyValue) | |||
{ | |||
return Fail("收费项目代码不能重复!"); | |||
} | |||
} | |||
} | |||
entity.CreateDate = DateTime.Now; | |||
entity.CreateUserId = loginUserInfo.userId; | |||
entity.CreateUserName = loginUserInfo.realName; | |||
finaChargeItemIBLL.SaveEntity(keyValue, entity); | |||
return Success("保存成功!"); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
return Success_FinaCharge("保存成功!", "收费项目设置", OperationType.Create, entity.ChargeItemID,entity.ToJson()); | |||
} | |||
else | |||
return Success_FinaCharge("保存成功!", "收费项目设置", OperationType.Update, entity.ChargeItemID, entity.ToJson()); | |||
} | |||
#endregion | |||
@@ -0,0 +1,117 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-20 16:06 | |||
/// 描 述:收费系统操作日志 | |||
/// </summary> | |||
public class FinaChargeLogController : MvcControllerBase | |||
{ | |||
private FinaChargeLogIBLL finaChargeLogIBLL = new FinaChargeLogBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeLogIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeLogData = finaChargeLogIBLL.GetFinaChargeLogEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeLog = FinaChargeLogData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
finaChargeLogIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeLogEntity entity = strEntity.ToObject<FinaChargeLogEntity>(); | |||
finaChargeLogIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,136 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using Learun.Util.Operat; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-18 18:07 | |||
/// 描 述:FinaChargeRefund | |||
/// </summary> | |||
public class FinaChargeRefundController : MvcControllerBase | |||
{ | |||
private FinaChargeRefundIBLL FinaChargeRefundIBLL = new FinaChargeRefundBLL(); | |||
private FinaChargeStuYearItemIBLL finaChargeStuYearItemIbll = new FinaChargeStuYearItemBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult FormView() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = FinaChargeRefundIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeRefundList = finaChargeStuYearItemIbll.GetFinaChargeRefundList( keyValue ); | |||
var jsonData = new { | |||
FinaChargeRefundList = FinaChargeRefundList, | |||
}; | |||
return Success(jsonData); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormDataById(string keyValue) | |||
{ | |||
var FinaChargeRefund = FinaChargeRefundIBLL.GetFinaChargeRefundEntityByFSYIId(keyValue); | |||
var jsonData = new | |||
{ | |||
FinaChargeRefund = FinaChargeRefund, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
FinaChargeRefundIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="FinaChargeRefundList">FinaChargeRefundList</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string FinaChargeRefundList,string strEntity) | |||
{ | |||
List<FinaChargeStuYearItemEntity> list = FinaChargeRefundList.ToObject<List<FinaChargeStuYearItemEntity>>(); | |||
FinaChargeRefundEntity entity = strEntity.ToObject<FinaChargeRefundEntity>(); | |||
FinaChargeRefundIBLL.SaveEntity(list, entity); | |||
return Success_FinaCharge("操作成功!","退费管理",OperationType.Update,"", FinaChargeRefundList); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,117 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-16 11:02 | |||
/// 描 述:费用变更明细 | |||
/// </summary> | |||
public class FinaChargeStuBalanceController : MvcControllerBase | |||
{ | |||
private FinaChargeStuBalanceIBLL finaChargeStuBalanceIBLL = new FinaChargeStuBalanceBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeStuBalanceIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStuBalanceData = finaChargeStuBalanceIBLL.GetFinaChargeStuBalanceEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeStuBalance = FinaChargeStuBalanceData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
finaChargeStuBalanceIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStuBalanceEntity entity = strEntity.ToObject<FinaChargeStuBalanceEntity>(); | |||
finaChargeStuBalanceIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,156 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Util.Operat; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-12 22:06 | |||
/// 描 述:缴费订单管理 | |||
/// </summary> | |||
public class FinaChargeStuOrderController : MvcControllerBase | |||
{ | |||
private FinaChargeStuOrderIBLL finaChargeStuOrderIBLL = new FinaChargeStuOrderBLL(); | |||
private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult Import() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeStuOrderIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStuOrderData = finaChargeStuOrderIBLL.GetFinaChargeStuOrderEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeStuOrder = FinaChargeStuOrderData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
finaChargeStuOrderIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStuOrderEntity entity = strEntity.ToObject<FinaChargeStuOrderEntity>(); | |||
finaChargeStuOrderIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 导入 | |||
/// </summary> | |||
/// <param name="fileGuid"></param> | |||
/// <param name="chunks"></param> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
public ActionResult ExecuteImportExcel(string fileGuid, int chunks, string queryJson) | |||
{ | |||
string path = annexesFileIBLL.SaveAnnexes(fileGuid, fileGuid, chunks, LoginUserInfo.Get()); | |||
if (!string.IsNullOrEmpty(path)) | |||
{ | |||
DataTable dt = ExcelHelper.ExcelImport(path); | |||
string res = finaChargeStuOrderIBLL.ExecuteImportExcel(dt, fileGuid, queryJson); | |||
var data = new | |||
{ | |||
Success = res.Split('|')[0], | |||
Fail = res.Split('|')[1] | |||
}; | |||
Success_FinaCharge("导入成功!", "缴费订单管理", OperationType.Create, "", "导入线下缴费记录成功:" + res.Split('|')[0] + "条,失败:" + res.Split('|')[1] + "条"); | |||
return JsonResult(data); | |||
} | |||
else | |||
{ | |||
return Fail("导入数据失败!"); | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,117 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-12 22:14 | |||
/// 描 述:FinaChargeStuOrderDetail | |||
/// </summary> | |||
public class FinaChargeStuOrderDetailController : MvcControllerBase | |||
{ | |||
private FinaChargeStuOrderDetailIBLL fFinaChargeStuOrderDetailIBLL = new FinaChargeStuOrderDetailBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = fFinaChargeStuOrderDetailIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStuOrderDetailData = fFinaChargeStuOrderDetailIBLL.GetFinaChargeStuOrderDetailEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeStuOrderDetail = FinaChargeStuOrderDetailData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
fFinaChargeStuOrderDetailIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStuOrderDetailEntity entity = strEntity.ToObject<FinaChargeStuOrderDetailEntity>(); | |||
fFinaChargeStuOrderDetailIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,365 @@ | |||
using System; | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using System.Drawing; | |||
using System.IO; | |||
using System.Security.Cryptography; | |||
using System.Text; | |||
using System.Web; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using Learun.Util.Operat; | |||
using Newtonsoft.Json; | |||
using ThoughtWorks.QRCode.Codec; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-07 15:52 | |||
/// 描 述:学生年度缴费管理 | |||
/// </summary> | |||
public class FinaChargeStuYearController : MvcControllerBase | |||
{ | |||
private FinaChargeStuYearIBLL finaChargeStuYearIBLL = new FinaChargeStuYearBLL(); | |||
private FinaChargeStuOrderIBLL finaChargeStuOrderIbll = new FinaChargeStuOrderBLL(); | |||
private TeachSwitchIBLL teachSwitchIbll = new TeachSwitchBLL(); | |||
private ClassInfoIBLL classInfoIbll = new ClassInfoBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult IndexForTeacher() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult IndexForStudent() | |||
{ | |||
return View(""); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult InvoiceForm() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult PayFeeForm() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult GenerateByConditionForm() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult IfCanPay() | |||
{ | |||
var eastatus = teachSwitchIbll.GetFirst("jf"); | |||
if (eastatus != null && eastatus.status == "1") | |||
{ | |||
return Success(new { success = "1" }); | |||
} | |||
else | |||
return Success(new { success = "0",info= "当前不在缴费时间范围" }); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetYearTree() | |||
{ | |||
var data = finaChargeStuYearIBLL.GetTree(); | |||
return Success(data); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetClassByEmpNo() | |||
{ | |||
var data = classInfoIbll.GetClassByEmpNo(LoginUserInfo.Get().account); | |||
return Success(data); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetDeptByEmpNo() | |||
{ | |||
var data = classInfoIbll.GetDeptByEmpNo(LoginUserInfo.Get().account); | |||
return Success(data); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetMajorByEmpNo() | |||
{ | |||
var data = classInfoIbll.GetMajorByEmpNo(LoginUserInfo.Get().account); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeStuYearIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStuYearData = finaChargeStuYearIBLL.GetFinaChargeStuYearEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
FinaChargeStuYear = FinaChargeStuYearData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetInvoiceRecord(string keyValue) | |||
{ | |||
var invoiceRecord = finaChargeStuYearIBLL.GetStuInvoice(keyValue); | |||
return Success(invoiceRecord); | |||
} | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPayFeeDetail(string keyValue) | |||
{ | |||
//学生基础信息 | |||
var FinaChargeStuYearData = finaChargeStuYearIBLL.GetFinaChargeStuYearEntity(keyValue); | |||
//学生缴费明细 | |||
var FinaChargeStuItemList = finaChargeStuYearIBLL.GetFinaChargeStuItemList(keyValue); | |||
var jsonData = new | |||
{ | |||
StuInfoFreshData = FinaChargeStuYearData, | |||
FinaChargesStandardList = FinaChargeStuItemList, | |||
PayFeeTotal = FinaChargeStuYearData.NeedToPay, | |||
SJAmount = FinaChargeStuYearData.SJAmount | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
finaChargeStuYearIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStuYearEntity entity = strEntity.ToObject<FinaChargeStuYearEntity>(); | |||
finaChargeStuYearIBLL.SaveEntity(keyValue, entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveGenerateByCondition(string strEntity) | |||
{ | |||
FinaChargeStuYearEntity entity = strEntity.ToObject<FinaChargeStuYearEntity>(); | |||
finaChargeStuYearIBLL.SaveGenerateByCondition(entity); | |||
return Success_FinaCharge("生成成功!", "学生年度缴费管理", OperationType.Create, "", "生成学生年度缴费数据成功"); | |||
} | |||
#endregion | |||
#region 二维码缴费 | |||
/// <summary> | |||
/// 生成缴费二维码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult PayFeeQRCode(string strEntity, string detailList) | |||
{ | |||
FinaChargeStuYearEntity entity = strEntity.ToObject<FinaChargeStuYearEntity>(); | |||
List<FinaChargeStuOrderDetailEntity> list = detailList.ToObject<List<FinaChargeStuOrderDetailEntity>>(); | |||
var imgUrl = ""; | |||
Random ran = new Random(); | |||
string merchantid = "105000082201406";//商户号 | |||
string posid = "043724806";//商户柜台代码 | |||
string branchid = "510000000";//分行代码 | |||
string orderid = DateTime.Now.ToString("yyyyMMddhhmmss") + ran.Next(0, 100000); | |||
string payment = entity.PayMoney.ToString(); | |||
string curcode = "01"; | |||
string txcode = "530550"; | |||
string remark1 = entity.StuNo; | |||
string remark2 = entity.FSYear.ToString(); | |||
string returntype = "3"; | |||
string timeout = DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"); | |||
string pub32tr2 = "40d987faa793a0a27e7a86ef020111"; | |||
string bankURL = "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; | |||
string tmp = "MERCHANTID=" + merchantid + "&POSID=" + posid + "&BRANCHID=" + branchid + "&ORDERID=" + orderid; | |||
tmp += "&PAYMENT=" + payment + "&CURCODE=" + curcode + "&TXCODE=" + txcode + "&REMARK1=" + remark1; | |||
tmp += "&REMARK2=" + remark2 + "&RETURNTYPE=" + returntype + "&TIMEOUT=" + timeout; | |||
MD5 md5 = MD5.Create(); | |||
string tmp1 = tmp; | |||
tmp += "&PUB=" + pub32tr2; | |||
byte[] buffer = Encoding.Default.GetBytes(tmp); | |||
byte[] md5Buffer = md5.ComputeHash(buffer); | |||
string strMd5 = ""; | |||
//hdnOrderId.Value = orderid; | |||
foreach (byte item in md5Buffer) | |||
{ | |||
strMd5 += item.ToString("x2"); | |||
} | |||
String url = bankURL + "&" + tmp1 + "&MAC=" + strMd5; | |||
string reJson = HttpMethods.Post(url); | |||
LogEntity logEntity = new LogEntity(); | |||
logEntity.F_CategoryId = 121; | |||
logEntity.F_ExecuteResultJson = reJson; | |||
logEntity.WriteLog(); | |||
//HttpConnect conn = new HttpConnect(); | |||
//string reJson = conn.Post(url, ""); | |||
JsonBean MemberInfoList = JsonConvert.DeserializeObject<JsonBean>(reJson); | |||
if (MemberInfoList.SUCCESS.Equals("true")) | |||
{ | |||
string imgCode = HttpMethods.Post(MemberInfoList.PAYURL); | |||
logEntity.F_CategoryId = 121; | |||
logEntity.F_ExecuteResultJson = imgCode; | |||
logEntity.WriteLog(); | |||
MemberInfoList = JsonConvert.DeserializeObject<JsonBean>(imgCode); | |||
if (MemberInfoList.SUCCESS.Equals("true")) | |||
{ | |||
imgUrl = CreateQRImg(MemberInfoList.QRURL, orderid); | |||
} | |||
} | |||
if (!string.IsNullOrEmpty(imgUrl)) | |||
{ | |||
entity.orderid = orderid; | |||
finaChargeStuOrderIbll.SaveOrderData(entity, list); | |||
} | |||
return Success(imgUrl); | |||
} | |||
public class JsonBean | |||
{ | |||
/// <summary> | |||
/// | |||
/// </summary> | |||
public string SUCCESS { get; set; } | |||
public string PAYURL { get; set; } | |||
public string QRURL { get; set; } | |||
} | |||
/// <summary> | |||
/// 生成并保存二维码图片的方法 | |||
/// </summary> | |||
/// <param name="str">输入的内容</param> | |||
public string CreateQRImg(string str, string orderId) | |||
{ | |||
Random ran = new Random(); | |||
Bitmap bt; | |||
str = HttpUtility.UrlDecode(str); | |||
string enCodeString = str; | |||
//生成设置编码实例 | |||
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); | |||
//设置二维码的规模,默认4 | |||
qrCodeEncoder.QRCodeScale = 3; | |||
//设置二维码的版本,默认7 | |||
qrCodeEncoder.QRCodeVersion = 7; | |||
//设置错误校验级别,默认中等 | |||
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; | |||
//生成二维码图片 | |||
bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8); | |||
//二维码图片的名称 | |||
string filename = orderId; | |||
if (!Directory.Exists(Server.MapPath("~/Content/images/QRCode/"))) | |||
{ | |||
Directory.CreateDirectory(Server.MapPath("~/Content/images/QRCode/")); | |||
} | |||
var path = Server.MapPath("~/Content/images/QRCode/") + filename + ".jpg"; | |||
//保存二维码图片在photos路径下 | |||
try | |||
{ | |||
bt.Save(path); | |||
} | |||
catch (Exception ex) | |||
{ | |||
return ""; | |||
} | |||
//图片控件要显示的二维码图片路径 | |||
return "/Content/images/QRCode/" + filename + ".jpg"; | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,174 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Util.Operat; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-07 16:40 | |||
/// 描 述:FinaChargeStuYearItem | |||
/// </summary> | |||
public class FinaChargeStuYearItemController : MvcControllerBase | |||
{ | |||
private FinaChargeStuYearItemIBLL finaChargeStuYearItemIBLL = new FinaChargeStuYearItemBLL(); | |||
private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult IndexForTeacher() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult IndexForRefund() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult Import() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeStuYearItemIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStuYearItemData = finaChargeStuYearItemIBLL.GetFinaChargeStuYearItemEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeStuYearItem = FinaChargeStuYearItemData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
finaChargeStuYearItemIBLL.DeleteEntity(keyValue); | |||
return Success_FinaCharge("作废成功!", "收费明细管理", OperationType.Delete, keyValue, "作废成功"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult UnDeleteForm(string keyValue) | |||
{ | |||
finaChargeStuYearItemIBLL.UnDeleteEntity(keyValue); | |||
return Success_FinaCharge("恢复成功!", "收费明细管理", OperationType.Create, keyValue, "恢复成功"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStuYearItemEntity entity = strEntity.ToObject<FinaChargeStuYearItemEntity>(); | |||
finaChargeStuYearItemIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 导入 | |||
/// </summary> | |||
/// <param name="fileGuid"></param> | |||
/// <param name="chunks"></param> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
public ActionResult ExecuteImportExcel(string fileGuid, int chunks, string queryJson) | |||
{ | |||
string path = annexesFileIBLL.SaveAnnexes(fileGuid, fileGuid, chunks, LoginUserInfo.Get()); | |||
if (!string.IsNullOrEmpty(path)) | |||
{ | |||
DataTable dt = ExcelHelper.ExcelImport(path); | |||
string res = finaChargeStuYearItemIBLL.ExecuteImportExcel(dt, fileGuid, queryJson); | |||
var data = new | |||
{ | |||
Success = res.Split('|')[0], | |||
Fail = res.Split('|')[1] | |||
}; | |||
Success_FinaCharge("导入成功!", "收费明细管理", OperationType.Create, "", "导入收费明细成功:"+ res.Split('|')[0] + "条,失败:"+ res.Split('|')[1] + "条"); | |||
return JsonResult(data); | |||
} | |||
else | |||
{ | |||
return Fail("导入数据失败!"); | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,153 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using Learun.Util.Operat; | |||
namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-06 17:09 | |||
/// 描 述:缴费学生信息 | |||
/// </summary> | |||
public class FinaChargeStudentController : MvcControllerBase | |||
{ | |||
private FinaChargeStudentIBLL finaChargeStudentIBLL = new FinaChargeStudentBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = finaChargeStudentIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var FinaChargeStudentData = finaChargeStudentIBLL.GetFinaChargeStudentEntity( keyValue ); | |||
var jsonData = new { | |||
FinaChargeStudent = FinaChargeStudentData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult Lock(string keyValue) | |||
{ | |||
finaChargeStudentIBLL.Lock(keyValue); | |||
return Success_FinaCharge("审核成功!", "缴费学生信息", OperationType.Lock, keyValue,"审核成功"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult UnLock(string keyValue) | |||
{ | |||
finaChargeStudentIBLL.UnLock(keyValue); | |||
return Success_FinaCharge("去审成功!", "缴费学生信息", OperationType.UnLock, keyValue, "去审成功"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult ImportForm() | |||
{ | |||
finaChargeStudentIBLL.ImportForm(); | |||
return Success_FinaCharge("导入成功!", "缴费学生信息", OperationType.Create, "", "导入学生信息成功"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult UpdateForm() | |||
{ | |||
finaChargeStudentIBLL.UpdateForm(); | |||
return Success_FinaCharge("更新成功!", "缴费学生信息", OperationType.Update, "", "更新学生信息成功"); | |||
} | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
//判断有无余额数据 | |||
var stuchargeinfo = finaChargeStudentIBLL.GetFinaChargeStudentEntity(keyValue); | |||
if (stuchargeinfo.FSBlance.HasValue&&stuchargeinfo.FSBlance!=0) | |||
{ | |||
return Fail("本学生存在缴费数据,不能删除。请核对!"); | |||
} | |||
finaChargeStudentIBLL.DeleteEntity(keyValue); | |||
return Success_FinaCharge("删除成功!", "缴费学生信息", OperationType.Delete, keyValue, "删除缴费学生"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
FinaChargeStudentEntity entity = strEntity.ToObject<FinaChargeStudentEntity>(); | |||
finaChargeStudentIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -6,6 +6,8 @@ using System.Collections.Generic; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Linq; | |||
using System; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Util.Operat; | |||
using static Learun.Util.WebHelper; | |||
using Newtonsoft.Json; | |||
@@ -22,6 +24,7 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
private FinaChargesStandardIBLL finaChargesStandardIBLL = new FinaChargesStandardBLL(); | |||
private FinaChargeItemIBLL finaChargeItemIBLL = new FinaChargeItemBLL(); | |||
private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); | |||
#region 视图功能 | |||
@@ -43,6 +46,11 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult Import() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 编辑表单页 | |||
/// <summary> | |||
@@ -152,9 +160,9 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string majorNo, string academicYearNo, string semester, string grade) | |||
public ActionResult GetFormData(string majorNo, string syear,string grade) | |||
{ | |||
var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, academicYearNo, semester, grade); | |||
var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, syear, grade); | |||
var jsonData = new | |||
{ | |||
FinaChargesStandard = FinaChargesStandardData, | |||
@@ -187,11 +195,11 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
/// <summary> | |||
/// <returns></returns> | |||
[AjaxOnly] | |||
public ActionResult GetFinaChargesStandardListByMajorNo(string majorNo, string academicYearNo, string semester, string grade) | |||
public ActionResult GetFinaChargesStandardListByMajorNo(string majorNo, string syear, string grade) | |||
{ | |||
var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, academicYearNo, semester, grade); | |||
var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, syear, grade); | |||
var hasStandardData = FinaChargesStandardData.Where(x => x.ChargeStandardID > 0); | |||
var hasStandardData = FinaChargesStandardData.Where(x => x.ChargeStandardID !=""); | |||
var nohasStandardData = FinaChargesStandardData.Except(hasStandardData); | |||
var hasStandardResult = hasStandardData.Select(x => new | |||
@@ -228,20 +236,23 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
var entity = finaChargesStandardIBLL.GetFinaChargesStandardEntity(keyValue); | |||
if (entity == null) | |||
{ | |||
return Fail("收费标准不存在!"); | |||
} | |||
//判断某专业收费标准是否已使用 | |||
var isCharge = finaChargesStandardIBLL.IsChargeByMajorNo(entity.MajorNo, entity.AcademicYearNo, entity.Semester, entity.Grade); | |||
if (isCharge) | |||
{ | |||
return Fail("该信息正在被系统使用,不能删除!"); | |||
} | |||
finaChargesStandardIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
return Success_FinaCharge("删除成功!", "收费标准设置", OperationType.Delete, keyValue, "删除收费标准"); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult Lock(string deptno, string majorNo, string syear, string grade,string ChargeStandardID) | |||
{ | |||
finaChargesStandardIBLL.Lock(deptno, majorNo, syear, grade, ChargeStandardID); | |||
return Success_FinaCharge("审核成功!", "收费标准设置", OperationType.Lock, ChargeStandardID,"专业"+majorNo+"年度"+syear+"年级"+grade); | |||
} | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult UnLock(string deptno, string majorNo, string syear, string grade, string ChargeStandardID) | |||
{ | |||
finaChargesStandardIBLL.UnLock(deptno, majorNo, syear, grade, ChargeStandardID); | |||
return Success_FinaCharge("去审成功!", "收费标准设置", OperationType.UnLock, ChargeStandardID, "专业" + majorNo + "年度" + syear + "年级" + grade); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
@@ -250,13 +261,12 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string majorNo, string academicYearNo, string semester, string grade, string strEntity) | |||
public ActionResult SaveForm(string deptno,string majorNo, string syear, string grade, string strEntity) | |||
{ | |||
var aa = strEntity.ToObject<List<FinaChargesStandardEntity>>(); | |||
var aaa = aa.Where(x => x.Standard.HasValue && x.Standard.Value > 0).ToList(); | |||
finaChargesStandardIBLL.SaveFinaChargesStandardList(majorNo, academicYearNo, semester, grade, aaa); | |||
return Success("保存成功!"); | |||
finaChargesStandardIBLL.SaveFinaChargesStandardList(deptno,majorNo, syear, grade, aaa); | |||
return Success_FinaCharge("保存成功!", "收费标准设置", OperationType.Update, majorNo, "专业" + majorNo + "年度" + syear + "年级" + grade+aaa.ToJson()); | |||
} | |||
/// <summary> | |||
@@ -292,7 +302,35 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||
#endregion | |||
#region 扩展数据 | |||
/// <summary> | |||
/// 导入 | |||
/// </summary> | |||
/// <param name="fileGuid"></param> | |||
/// <param name="chunks"></param> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
public ActionResult ExecuteImportExcel(string fileGuid, int chunks, string queryJson) | |||
{ | |||
string path = annexesFileIBLL.SaveAnnexes(fileGuid, fileGuid, chunks, LoginUserInfo.Get()); | |||
if (!string.IsNullOrEmpty(path)) | |||
{ | |||
DataTable dt = ExcelHelper.ExcelImport(path); | |||
string res = finaChargesStandardIBLL.ExecuteImportExcel(dt, fileGuid, queryJson); | |||
var data = new | |||
{ | |||
Success = res.Split('|')[0], | |||
Fail = res.Split('|')[1] | |||
}; | |||
Success_FinaCharge("导入成功!", "收费标准设置", OperationType.Create, "", "导入收费标准设置成功:" + res.Split('|')[0] + "条,失败:" + res.Split('|')[1] + "条"); | |||
return JsonResult(data); | |||
} | |||
else | |||
{ | |||
return Fail("导入数据失败!"); | |||
} | |||
} | |||
/// <summary> | |||
/// 学年 | |||
/// </summary> | |||
@@ -3,21 +3,25 @@ | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeItem" > | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeItem"> | |||
<div class="lr-form-item-title">收费项目名称<font face="宋体">*</font></div> | |||
<input id="ChargeItemName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeItem" > | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;" ></textarea> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeItem"> | |||
<div class="lr-form-item-title">收费项目编号<font face="宋体">*</font></div> | |||
<input id="ChargeItemCode" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeItem" > | |||
<div class="lr-form-item-title">系统保留标志</div> | |||
<div id="KeyWordMark"></div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeItem"> | |||
<div class="lr-form-item-title">收费项目类型<font face="宋体">*</font></div> | |||
<div id="ChargeItemType"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeItem" > | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeItem"> | |||
<div class="lr-form-item-title">优先级<font face="宋体">*</font></div> | |||
<input id="priority" type="text" class="form-control" isvalid="yes" checkexpession="Num" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeItem"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeItem/Form.js") |
@@ -13,15 +13,9 @@ var bootstrap = function ($, learun) { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
//默认:系统保留标志为否 | |||
$('#KeyWordMark').find('input').eq(1).trigger('click'); | |||
}, | |||
bind: function () { | |||
$('#KeyWordMark').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'YesOrNoInt', | |||
}); | |||
$('#ChargeItemType').lrDataItemSelect({ code:'ChargeItemType'}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
@@ -36,6 +36,8 @@ | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_lock" class="btn btn-default"><i class="fa fa-lock"></i> 启用</a> | |||
<a id="lr_unlock" class="btn btn-default"><i class="fa fa-unlock"></i> 停用</a> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -37,10 +37,10 @@ var bootstrap = function ($, learun) { | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ChargeItemID'); | |||
if (learun.checkrow(keyValue)) { | |||
var keyWordMark = $('#gridtable').jfGridValue('KeyWordMark'); | |||
if (keyWordMark == "1") { | |||
learun.alert.warning("系统保留项目,不允许修改!"); | |||
return false; | |||
var CheckMark = $('#gridtable').jfGridValue('CheckMark'); | |||
if (CheckMark.indexOf('true') != -1) { | |||
learun.alert.warning("编辑失败,选中记录中包含已启用项目!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
@@ -58,10 +58,14 @@ var bootstrap = function ($, learun) { | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ChargeItemID'); | |||
if (learun.checkrow(keyValue)) { | |||
var keyWordMark = $('#gridtable').jfGridValue('KeyWordMark'); | |||
if (keyWordMark == "1") { | |||
learun.alert.warning("系统保留项目,不允许删除!"); | |||
return false; | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行删除!"); | |||
return; | |||
} | |||
var CheckMark = $('#gridtable').jfGridValue('CheckMark'); | |||
if (CheckMark.indexOf('true') != -1) { | |||
learun.alert.warning("删除失败,选中记录中包含已启用项目!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
@@ -72,27 +76,82 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}); | |||
//启用 | |||
$('#lr_lock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ChargeItemID'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('CheckMark').toString(); | |||
if (CheckMark.indexOf('true') != -1) { | |||
learun.alert.warning("选中记录中包含已启用项目!"); | |||
return; | |||
} | |||
//if (CheckMark === true) { | |||
// learun.alert.warning("当前项目已启用!"); | |||
// return; | |||
//} | |||
learun.layerConfirm('是否确认启用该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeItem/Lock', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
//停用 | |||
$('#lr_unlock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ChargeItemID'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('CheckMark').toString(); | |||
if (CheckMark.indexOf('false') != -1) { | |||
learun.alert.warning("选中记录中包含已停用项目!"); | |||
return; | |||
} | |||
//if (CheckMark === false) { | |||
// learun.alert.warning("当前项目还未审核不需要去审核!"); | |||
// return; | |||
//} | |||
learun.layerConfirm('是否确认停用该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeItem/UnLock', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeItem/GetPageList', | |||
headData: [ | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 200, align: "left"}, | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 200, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 200, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 200, align: "left", formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "优先级", name: "priority", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 200, align: "left"}, | |||
{ label: "系统保留标志", name: "KeyWordMark", width: 100, align: "left", | |||
{ | |||
label: "是否启用", name: "CheckMark", width: 100, align: "left", | |||
formatter: function (cellvalue, rowObject) { | |||
return cellvalue == "1" ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; | |||
} | |||
}, | |||
{ label: "优先级", name: "priority", width: 100, align: "left" }, | |||
{ label: "时间", name: "CreateDate", width: 130, align: "left" }, | |||
{ label: "创建用户", name: "CreateUserName", width: 100, align: "left" }, | |||
} | |||
], | |||
isMultiselect: true, | |||
mainId:'ChargeItemID', | |||
isPage: true, | |||
sidx: 'priority', | |||
sord:'asc' | |||
sidx: 'ChargeItemCode' | |||
}); | |||
page.search(); | |||
}, | |||
@@ -103,7 +103,7 @@ | |||
<div class="chargeSec1Col5"> | |||
<div class="chargeSec1Box"> | |||
<input type="hidden" name="ChargeItemID" value="@item.ChargeItemID" /> | |||
<input type="hidden" name="KeyWordMark" value="@item.KeyWordMark" /> | |||
<input type="hidden" name="KeyWordMark" value="@item.CheckMark" /> | |||
<input type="hidden" name="ChargeItemCode" value="@item.ChargeItemCode" /> | |||
<input type="hidden" name="priority" value="@item.priority" /> | |||
<div class="chargeSec1Btn"> | |||
@@ -0,0 +1,35 @@ | |||
@{ | |||
ViewBag.Title = "收费系统操作日志"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">功能模块</div> | |||
<input id="F_Module" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">操作类型</div> | |||
<input id="F_OperateType" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">操作时间</div> | |||
<input id="F_OperateTime" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">操作用户</div> | |||
<input id="F_OperateAccount" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">用户IP</div> | |||
<input id="F_IPAddress" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">操作内容</div> | |||
<textarea id="F_SourceContentJson" class="form-control" style="height:300px;" disabled="disabled" ></textarea> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeLog" > | |||
<div class="lr-form-item-title">操作数据Id</div> | |||
<input id="F_SourceObjectId" type="text" class="form-control" disabled="disabled" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeLog/Form.js") |
@@ -0,0 +1,36 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-20 16:06 | |||
* 描 述:收费系统操作日志 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#F_OperateType').lrDataItemSelect({ code: '' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeLog/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,37 @@ | |||
@{ | |||
ViewBag.Title = "收费系统操作日志"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="datesearch"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">操作用户</div> | |||
<input id="F_OperateAccount" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 查看详细</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeLog/Index.js") |
@@ -0,0 +1,95 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-20 16:06 | |||
* 描 述:收费系统操作日志 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var startTime; | |||
var endTime; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 时间搜索框 | |||
$('#datesearch').lrdate({ | |||
dfdata: [ | |||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } | |||
], | |||
// 月 | |||
mShow: false, | |||
premShow: false, | |||
// 季度 | |||
jShow: false, | |||
prejShow: false, | |||
// 年 | |||
ysShow: false, | |||
yxShow: false, | |||
preyShow: false, | |||
yShow: false, | |||
// 默认 | |||
dfvalue: '1', | |||
selectfn: function (begin, end) { | |||
startTime = begin; | |||
endTime = end; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
$('#lr_view').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('F_LogId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'formview', | |||
title: '查看详细', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeLog/Form?keyValue=' + keyValue, | |||
width: 700, | |||
height: 600, | |||
btn:null | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeLog/GetPageList', | |||
headData: [ | |||
{ label: "功能模块", name: "F_Module", width: 120, align: "left"}, | |||
{ label: "操作类型", name: "F_OperateType", width: 100, align: "left"}, | |||
{ label: "操作时间", name: "F_OperateTime", width: 180, align: "left"}, | |||
{ label: "操作用户", name: "F_OperateAccount", width: 150, align: "left"}, | |||
{ label: "用户IP", name: "F_IPAddress", width: 100, align: "left"}, | |||
{ label: "操作内容", name: "F_SourceContentJson", width: 200, align: "left"}, | |||
{ label: "操作数据Id", name: "F_SourceObjectId", width: 100, align: "left"}, | |||
], | |||
mainId:'F_LogId', | |||
isPage: true, | |||
sidx:'F_OperateTime desc' | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,18 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeRefund"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item lr-form-item-grid"> | |||
<div id="FinaChargeRefundList"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;"></textarea> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">退费方式<font face="宋体">*</font></div> | |||
<div id="RType" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeRefund/Form.js") |
@@ -0,0 +1,105 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-18 18:07 | |||
* 描 述:FinaChargeRefund | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#ChargeItemType').lrDataItemSelect({ code: 'ChargeItemType' }); | |||
$('#RType').lrDataItemSelect({ code: 'RType' }); | |||
$('#FinaChargeRefundList').jfGrid({ | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "缴费年度", name: "FSYear", width: 80, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "收费标准", name: "Standard", width: 80, align: "left" }, | |||
{ label: "实缴金额", name: "SJAmount", width: 80, align: "left" }, | |||
{ label: "应退费金额", name: "FSBlance", width: 80, align: "left" }, | |||
], | |||
height: 400, | |||
mainId: 'FSYIId' | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
FinaChargeRefundList: JSON.stringify($('#FinaChargeRefundList').jfGridGet("rowdatas")), | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/SaveForm', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,35 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeRefund"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">缴费项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" disabled="disabled"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">缴费项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" disabled="disabled"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">退费方式</div> | |||
<div id="RType" disabled="disabled"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">退费金额</div> | |||
<input id="Amount" type="text" class="form-control" disabled="disabled"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">操作时间</div> | |||
<input id="F_CreateDate" type="text" class="form-control" disabled="disabled"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">操作人</div> | |||
<input id="F_CreateUserName" type="text" class="form-control" disabled="disabled"/> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeRefund"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height: 100px;" disabled="disabled"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeRefund/FormView.js") |
@@ -0,0 +1,37 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-18 18:07 | |||
* 描 述:FinaChargeRefund | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#RType').lrDataItemSelect({ code: 'RType' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/GetFormDataById?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,49 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeRefund"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control"/> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">退费方式</div> | |||
<div id="RType"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeRefund/Index.js") |
@@ -0,0 +1,103 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-18 18:07 | |||
* 描 述:FinaChargeRefund | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
$('#RType').lrDataItemSelect({ code: 'RType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "退费金额", name: "Amount", width: 100, align: "left" }, | |||
{ label: "退费时间", name: "F_CreateDate", width: 150, align: "left" }, | |||
{ | |||
label: "退费方式", name: "RType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'RType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
], | |||
mainId: 'Id', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,59 @@ | |||
@{ | |||
ViewBag.Title = "费用变更明细"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="FSYear" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">收费项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">收费项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">收费标准</div> | |||
<input id="Standard" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">本次待缴金额</div> | |||
<input id="DJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">变动金额</div> | |||
<input id="PaymentAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">剩余待缴金额</div> | |||
<input id="QJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">当前余额</div> | |||
<input id="OldBalance" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">本次变动金额</div> | |||
<input id="ChangeAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">本次余额</div> | |||
<input id="NowBalance" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">变动时间</div> | |||
<input id="ChangeDate" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuBalance" > | |||
<div class="lr-form-item-title">变动原因</div> | |||
<input id="ChangeType" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuBalance/Form.js") |
@@ -0,0 +1,50 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-16 11:02 | |||
* 描 述:费用变更明细 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuBalance/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuBalance/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,46 @@ | |||
@{ | |||
ViewBag.Title = "费用变更明细"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout "> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="datesearch"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="FSYear" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">变动原因</div> | |||
<div id="ChangeType"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuBalance/Index.js") |
@@ -0,0 +1,156 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-16 11:02 | |||
* 描 述:费用变更明细 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var startTime; | |||
var endTime; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 时间搜索框 | |||
$('#datesearch').lrdate({ | |||
dfdata: [ | |||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } | |||
], | |||
// 月 | |||
mShow: false, | |||
premShow: false, | |||
// 季度 | |||
jShow: false, | |||
prejShow: false, | |||
// 年 | |||
ysShow: false, | |||
yxShow: false, | |||
preyShow: false, | |||
yShow: false, | |||
// 默认 | |||
dfvalue: '1', | |||
selectfn: function (begin, end) { | |||
startTime = begin; | |||
endTime = end; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
$("#ChangeType").lrDataItemSelect({ code: 'ChangeType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuBalance/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 150, align: "left" }, | |||
{ | |||
label: "系所", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | |||
{ label: "本次应缴余额", name: "DJAmount", width: 100, align: "left" }, | |||
{ label: "缴费金额", name: "PaymentAmount", width: 100, align: "left" }, | |||
{ label: "剩余应缴余额", name: "QJAmount", width: 100, align: "left" }, | |||
{ label: "当前超出应收额", name: "OldBalance", width: 100, align: "left" }, | |||
{ label: "本次变动金额", name: "ChangeAmount", width: 100, align: "left" }, | |||
{ label: "超出应收额", name: "NowBalance", width: 100, align: "left" }, | |||
{ label: "变动时间", name: "ChangeDate", width: 150, align: "left" }, | |||
{ | |||
label: "变动原因", name: "ChangeType", width: 100, align: "left", formatter: function (cellvalue, row) { | |||
if (cellvalue === 1) { | |||
return '<span class=\"label label-success\">二维码缴费</span>'; | |||
} else if (cellvalue === 2) { | |||
return '<span class=\"label label-success\">导入贷款</span>'; | |||
} else if (cellvalue === 3) { | |||
return '<span class=\"label label-success\">导入现金</span>'; | |||
} else if (cellvalue === 4) { | |||
return '<span class=\"label label-warning\">退费</span>'; | |||
} else if (cellvalue === 5) { | |||
return '<span class=\"label label-info\">自动分配扣减</span>'; | |||
} else if (cellvalue === 6) { | |||
return '<span class=\"label label-warning\">自动分配增加</span>'; | |||
} else if (cellvalue === 7) { | |||
return '<span class=\"label label-warning\">导入POS收款</span>'; | |||
} | |||
} | |||
}, | |||
], | |||
mainId: 'Id', | |||
isPage: true, | |||
sidx:'ChangeDate' | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,59 @@ | |||
@{ | |||
ViewBag.Title = "缴费订单管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="YearNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">订单编号</div> | |||
<input id="orderid" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">应缴金额</div> | |||
<input id="YJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">实缴金额</div> | |||
<input id="SJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">待缴金额</div> | |||
<input id="DJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">超出余额</div> | |||
<input id="NowBlance" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="Status" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">订单生成时间</div> | |||
<input id="PlaceOrderTime" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">付款时间</div> | |||
<input id="PayTime" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">支付方式</div> | |||
<div id="PayMode" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">订单来源</div> | |||
<div id="OrderType" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||
<div class="lr-form-item-title">银行订单号</div> | |||
<input id="BankOrder" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js") |
@@ -0,0 +1,53 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-12 22:06 | |||
* 描 述:缴费订单管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#Status').lrDataItemSelect({ code: 'PayStatus' }); | |||
$('#PayMode').lrDataItemSelect({ code: 'PayMode' }); | |||
$('#OrderType').lrDataItemSelect({ code: 'OrderType' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,26 @@ | |||
@{ | |||
ViewBag.Title = "Form"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<link href="~/Content/webuploader/webuploader.css" rel="stylesheet" /> | |||
<script src="~/Content/webuploader/webuploader.nolog.min.js"></script> | |||
@Html.AppendCssFile("/Areas/LR_SystemModule/Views/ExcelImport/ImportForm.css") | |||
<div class="lr-form-layout lr-form-layout-top-bottom"> | |||
<div class="lr-form-layout-header"> | |||
<div id="lr_add_file_btn"><i class="fa fa-cloud-upload"></i><span class="lrlt">上传文件</span></div> | |||
<div class="webuploader-pick" id="lr_down_file_btn"><i class="fa fa-download"></i><span class="lrlt">下载模板</span></div> | |||
</div> | |||
<div class="lr-form-layout-body"> | |||
<div class="lr-form-file-queue-wrap" id="lr_form_file_queue"> | |||
<div class="lr-form-file-queue" id="lr_form_file_queue_list"> | |||
</div> | |||
<div class="lr-form-file-queue-bg"> | |||
<h1><span class="lrlt">试试将电脑里的文件拖拽到此上传</span></h1> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Import.js") |
@@ -0,0 +1,175 @@ | |||
/* | |||
* 描 述:附件上传管理 | |||
*/ | |||
var gridId = request('gridtable'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var fileInfo = {}; | |||
// 触发合并文件碎片 | |||
var mergeFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['fileName'] = fileInfo[file.id].name; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
var queryJson = JSON.stringify(learun.frameTab.currentIframe().queryJson); | |||
param['queryJson'] = queryJson; | |||
learun.httpAsyncPost(top.$.rootUrl + "/ReceiveSendFeeManagement/FinaChargeStuOrder/ExecuteImportExcel", param, function (res) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
if (res.code == learun.httpCode.success) { | |||
if (res.data.Success != '0') { | |||
learun.alert.success('导入成功' + res.data.Success + '条'); | |||
} | |||
// 文件保存成功后 | |||
$fileItem.append('<div class="lr-msg2"><span>' + res.data.Success + '</span><span>/</span><span style="color:#b94a48;" >' + res.data.Fail + '</span></div>'); | |||
// 如果有失败 | |||
if (res.data.Fail != '0') { | |||
learun.download({ url: top.$.rootUrl + '/LR_SystemModule/ExcelImport/DownImportErrorFile', param: { fileId: fileInfo[file.id].fileGuid, fileName: fileInfo[file.id].name, __RequestVerificationToken: $.lrToken }, method: 'POST' }); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
}); | |||
} | |||
// 触发清楚文件碎片 | |||
var reomveFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/MergeAnnexesFile", param, function (res) { }); | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
// 删除文件 | |||
var DeleteFile = function (fileId) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileId'] = fileInfo[fileId].fileGuid; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/DeleteAnnexesFile", param, function (res) { }); | |||
var file = page.uploader.getFile(fileId); | |||
if (!!file) { | |||
page.uploader.removeFile(file); | |||
} | |||
delete fileInfo[fileId]; | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + fileId); | |||
$fileItem.remove(); | |||
if ($('#lr_form_file_queue_list>div').length == 0) { | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').show(); | |||
} | |||
} | |||
var page = { | |||
uploader: null, | |||
init: function () { | |||
if (!WebUploader.Uploader.support()) { | |||
alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器'); | |||
throw new Error('WebUploader does not support the browser you are using.'); | |||
} | |||
/*导入模板下载*/ | |||
$('#lr_down_file_btn').on('click', function () { | |||
learun.download({ | |||
method: "get", | |||
url: '/Content/excel/线下缴费记录.xls' | |||
}); | |||
}); | |||
page.uploader = WebUploader.create({ | |||
auto: true, | |||
swf: top.$.rootUrl + '/Content/webuploader/Uploader.swf', | |||
// 文件接收服务端。 | |||
server: top.$.rootUrl + "/LR_SystemModule/Annexes/UploadAnnexesFileChunk", | |||
// 选择文件的按钮。可选。 | |||
// 内部根据当前运行是创建,可能是input元素,也可能是flash. | |||
pick: '#lr_add_file_btn', | |||
dnd: '#lr_form_file_queue', | |||
paste: 'document.body', | |||
disableGlobalDnd: true, | |||
accept: { | |||
extensions: "xls,xlsx" | |||
}, | |||
multiple: false, | |||
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! | |||
resize: false, | |||
// 文件分片上传 | |||
chunked: true, | |||
chunkRetry: 3, | |||
prepareNextFile: true, | |||
chunkSize: '1048576', | |||
// 上传参数 | |||
formData: { | |||
__RequestVerificationToken: $.lrToken | |||
} | |||
}); | |||
page.uploader.on('fileQueued', page.fileQueued); | |||
page.uploader.on('uploadStart', page.uploadStart); | |||
page.uploader.on('uploadBeforeSend', page.uploadBeforeSend); | |||
page.uploader.on('uploadProgress', page.uploadProgress); | |||
page.uploader.on('uploadSuccess', page.uploadSuccess); | |||
page.uploader.on('uploadError', page.uploadError); | |||
page.uploader.on('uploadComplete', page.uploadComplete); | |||
page.uploader.on('error', page.error); | |||
//$('#lr_form_file_queue').mCustomScrollbar({ // 优化滚动条 | |||
// theme: "minimal-dark" | |||
//}); | |||
}, | |||
fileQueued: function (file) {// 文件加载到队列 | |||
fileInfo[file.id] = { name: file.name }; | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').hide(); | |||
// 添加一条文件记录 | |||
var $item = $('<div class="lr-form-file-queue-item" id="lr_filequeue_' + file.id + '" ></div>'); | |||
$item.append('<div class="lr-file-image"><img src="' + top.$.rootUrl + '/Content/images/filetype/' + file.ext + '.png"></div>'); | |||
$item.append('<span class="lr-file-name">' + file.name + '(' + learun.countFileSize(file.size) + ')</span>'); | |||
$('#lr_form_file_queue_list').append($item); | |||
}, | |||
uploadStart: function (file) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.append('<div class="lr-uploader-progress"><div class="lr-uploader-progress-bar" style="width:0%;"></div></div>'); | |||
}, | |||
uploadBeforeSend: function (object, data, headers) { | |||
data.chunk = data.chunk || 0; | |||
data.chunks = data.chunks || 1; | |||
fileInfo[data.id].fileGuid = fileInfo[data.id].fileGuid || WebUploader.Base.guid(); | |||
data.fileGuid = fileInfo[data.id].fileGuid; | |||
fileInfo[data.id].chunks = data.chunks; | |||
}, | |||
uploadProgress: function (file, percentage) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress-bar').css('width', (percentage * 100 + '%')); | |||
}, | |||
uploadSuccess: function (file, res) { | |||
if (res.code == 200) {// 上传成功 | |||
mergeFileChunks(file); | |||
} | |||
else {// 上传失败 | |||
reomveFileChunks(file); | |||
} | |||
}, | |||
uploadError: function (file, code) { | |||
reomveFileChunks(file); | |||
}, | |||
uploadComplete: function (file) { | |||
}, | |||
error: function (type) { | |||
switch (type) { | |||
case 'Q_TYPE_DENIED': | |||
learun.alert.error('当前文件类型不允许上传'); | |||
break; | |||
}; | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,58 @@ | |||
@{ | |||
ViewBag.Title = "缴费订单管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="datesearch"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="YearNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="Status"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">支付方式</div> | |||
<div id="PayMode"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">订单来源</div> | |||
<div id="OrderType"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">银行订单号</div> | |||
<input id="BankOrder" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_import" class="btn btn-default"><i class="fa fa-plus"></i> 导入线下缴费记录</a> | |||
<a id="lr_detail" class="btn btn-default"><i class="fa fa-reorder"></i> 查看明细</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js") |
@@ -0,0 +1,198 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-12 22:06 | |||
* 描 述:缴费订单管理 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var startTime; | |||
var endTime; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 时间搜索框 | |||
$('#datesearch').lrdate({ | |||
dfdata: [ | |||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } | |||
], | |||
// 月 | |||
mShow: false, | |||
premShow: false, | |||
// 季度 | |||
jShow: false, | |||
prejShow: false, | |||
// 年 | |||
ysShow: false, | |||
yxShow: false, | |||
preyShow: false, | |||
yShow: false, | |||
// 默认 | |||
dfvalue: '1', | |||
selectfn: function (begin, end) { | |||
startTime = begin; | |||
endTime = end; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
$('#Status').lrDataItemSelect({ code: 'PayStatus' }); | |||
$('#PayMode').lrDataItemSelect({ code: 'PayMode' }); | |||
$('#OrderType').lrDataItemSelect({ code: 'OrderType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 导入 | |||
$('#lr_import').on('click', function () { | |||
learun.layerForm({ | |||
id: 'indexImport', | |||
title: "导入线下缴费记录", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/Import', | |||
width: 600, | |||
height: 400, | |||
maxmin: true, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
}); | |||
//明细 | |||
$('#lr_detail').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'detail', | |||
title: "订单明细", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrderDetail/Index?keyValue=' + keyValue, | |||
width: 800, | |||
height: 450, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 150, align: "left" }, | |||
{ | |||
label: "系所", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "缴费年度", name: "YearNo", width: 80, align: "left" }, | |||
{ label: "订单编号", name: "orderid", width: 150, align: "left"}, | |||
{ label: "收费标准", name: "YJAmount", width: 100, align: "left"}, | |||
{ label: "缴费金额", name: "SJAmount", width: 100, align: "left"}, | |||
{ label: "应缴余额", name: "DJAmount", width: 100, align: "left"}, | |||
{ label: "超出应收额", name: "NowBlance", width: 100, align: "left"}, | |||
{ label: "缴费状态", name: "Status", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op,$cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'PayStatus', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
}}, | |||
{ label: "订单生成时间", name: "PlaceOrderTime", width: 150, align: "left"}, | |||
{ label: "付款时间", name: "PayTime", width: 150, align: "left"}, | |||
{ label: "支付方式", name: "PayMode", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op,$cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'PayMode', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
}}, | |||
{ label: "订单来源", name: "OrderType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op,$cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'OrderType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
}}, | |||
{ label: "银行订单号", name: "BankOrder", width: 100, align: "left"}, | |||
], | |||
mainId:'Id', | |||
isPage: true, | |||
sidx:'PlaceOrderTime desc' | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,31 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuOrderDetail"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">收费项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">收费项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">应缴金额</div> | |||
<input id="YJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">实缴金额</div> | |||
<input id="SJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">待缴金额</div> | |||
<input id="DJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||
<div class="lr-form-item-title">超出余额</div> | |||
<input id="NowBlance" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrderDetail/Form.js") |
@@ -0,0 +1,50 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-12 22:14 | |||
* 描 述:FinaChargeStuOrderDetail | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrderDetail/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrderDetail/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,21 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuOrderDetail"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrderDetail/Index.js") |
@@ -0,0 +1,50 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-12 22:14 | |||
* 描 述:FinaChargeStuOrderDetail | |||
*/ | |||
var refreshGirdData; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrderDetail/GetPageList', | |||
headData: [ | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left"}, | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 100, align: "left"}, | |||
{ label: "收费标准", name: "YJAmount", width: 100, align: "left"}, | |||
{ label: "缴费金额", name: "SJAmount", width: 100, align: "left"}, | |||
{ label: "应缴余额", name: "DJAmount", width: 100, align: "left"}, | |||
{ label: "超出应收额", name: "NowBlance", width: 100, align: "left"}, | |||
], | |||
mainId:'Id', | |||
isPage: true, | |||
sidx: 'ChargeItemCode' | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.FCSOId = keyValue; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,31 @@ | |||
@{ | |||
ViewBag.Title = "学生年度缴费管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="FSYear" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">应缴金额</div> | |||
<input id="YJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">实缴金额</div> | |||
<input id="SJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">缴费年度余额</div> | |||
<input id="FSBlance" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYear" > | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="PayFeeStatus" ></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Form.js") |
@@ -0,0 +1,51 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 15:52 | |||
* 描 述:学生年度缴费管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,14 @@ | |||
@{ | |||
ViewBag.Title = "按条件清空排课数据"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度<font face="宋体">*</font></div> | |||
<div id="FSYear" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div>已有缴费项目不会被覆盖!</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/GenerateByConditionForm.js") |
@@ -0,0 +1,42 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-02-27 11:05 | |||
* 描 述:按条件清空排课数据 | |||
*/ | |||
var acceptClick; | |||
var sDeptNo, sMajorNo, sGrade; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#FSYear').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
var now = new Date(); | |||
$('#FSYear').lrselectSet(now.getFullYear()); | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('#form').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/SaveGenerateByCondition', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,64 @@ | |||
@{ | |||
ViewBag.Title = "学生年度缴费管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout lr-layout-left-center" id="lr_layout"> | |||
<div class="lr-layout-left"> | |||
<div class="lr-layout-wrap"> | |||
<div class="lr-layout-title lrlt ">缴费年度</div> | |||
<div id="dataTree" class="lr-layout-body"></div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap "> | |||
<div class="lr-layout-title"> | |||
<span id="titleinfo" class="lrlt">学生缴费信息</span> | |||
</div> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">身份证号</div> | |||
<input id="IdentityCardNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</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> 生成缴费信息</a> | |||
<a id="lr_detail" class="btn btn-default"><i class="fa fa-reorder"></i> 查看明细</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Index.js") |
@@ -0,0 +1,154 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 15:52 | |||
* 描 述:学生年度缴费管理 | |||
*/ | |||
var refreshGirdData; | |||
var fSYear; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 初始化左侧树形数据 | |||
$('#dataTree').lrtree({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetYearTree', | |||
nodeClick: function (item) { | |||
fSYear = item.value; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 250, 400); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//明细 | |||
$('#lr_detail').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'detail', | |||
title: "收费明细", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/Index?keyValue=' + keyValue, | |||
width: 1400, | |||
height: 600, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
} | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '生成缴费信息', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GenerateByConditionForm', | |||
width: 400, | |||
height: 200, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 150, align: "left" }, | |||
{ | |||
label: "系所", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "缴费年度", name: "FSYear", width: 80, align: "left" }, | |||
{ label: "收费标准", name: "YJAmount", width: 80, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 80, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 80, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 80, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue === 0) { | |||
return '<span class=\"label label-default\">未缴费</span>'; | |||
} else if (cellvalue === 1) { | |||
return '<span class=\"label label-success\">已缴费</span>'; | |||
} else { | |||
return '<span class=\"label label-warning\">部分缴纳</span>'; | |||
} | |||
} | |||
}, | |||
], | |||
mainId: 'FSYId', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.fSYear = fSYear; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,32 @@ | |||
@{ | |||
ViewBag.Title = "学生年度缴费管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout"> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle"> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="FSYear" style="width: 150px;"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> 查询</a> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_pay" class="btn btn-default"><i class="fa fa-qrcode"></i> 二维码缴费</a> | |||
@*<a id="lr_detail" class="btn btn-default"><i class="fa fa-list"></i> 缴费记录</a>*@ | |||
<a id="lr_viewinvoice" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 查看发票</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js") |
@@ -0,0 +1,181 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 15:52 | |||
* 描 述:学生年度缴费管理 | |||
*/ | |||
var refreshGirdData; | |||
var fSYear; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
learun.httpAsync("get", "/ReceiveSendFeeManagement/FinaChargeStuYear/IfCanPay", {}, function (data) { | |||
if (data.success == "0") { | |||
learun.alert.error(data.info); | |||
} else { | |||
setTimeout(function () { | |||
page.initGird(); | |||
}, 500);//延迟 | |||
} | |||
}); | |||
}, | |||
bind: function () { | |||
$('#FSYear').lrselect({ | |||
placeholder:"请选择缴费年度", | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
var now = new Date(); | |||
fSYear = now.getFullYear(); | |||
$('#FSYear').lrselectSet(fSYear); | |||
$('#btn_Search').on('click', function () { | |||
page.search(); | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//二维码缴费 | |||
$('#lr_pay').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYId'); | |||
var selectedRow = $('#gridtable').jfGridGet('rowdata'); | |||
if (learun.checkrow(keyValue)) { | |||
if (selectedRow.PayFeeStatus == "1") { | |||
learun.alert.warning("当前学生已缴费!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form_payCode', | |||
title: '二维码缴费', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/PayFeeForm?keyValue=' + keyValue, | |||
width: 800, | |||
height: 690, | |||
btn: null | |||
}); | |||
} | |||
}); | |||
//查看发票 | |||
$('#lr_viewinvoice').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYId'); | |||
var selectedRow = $('#gridtable').jfGridGet('rowdata'); | |||
if (learun.checkrow(keyValue)) { | |||
if (selectedRow.PayFeeStatus == "1" || selectedRow.PayFeeStatus == "4") { | |||
//查询发票链接 | |||
learun.httpAsyncGet( | |||
top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetInvoiceRecord?keyValue=' + keyValue, function (res) { | |||
if (!!res.data && res.data.length > 0) { | |||
learun.layerForm({ | |||
id: 'form_invoice', | |||
title: '查看发票', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/InvoiceForm?keyValue=' + keyValue, | |||
width: 1000, | |||
height: 800, | |||
btn: null | |||
}); | |||
} else { | |||
learun.alert.warning("当前学生尚未开具发票,请缴费成功后耐心等待!"); | |||
return; | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("当前学生尚未开票,请缴费成功后耐心等待!"); | |||
return; | |||
} | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 100, align: "left" }, | |||
{ | |||
label: "系所", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 100, align: "left" }, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费标准", name: "YJAmount", width: 80, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 80, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 80, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 80, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue === 0) { | |||
return '<span class=\"label label-default\">未缴费</span>'; | |||
} else if (cellvalue === 1) { | |||
return '<span class=\"label label-success\">已缴费</span>'; | |||
} else { | |||
return '<span class=\"label label-warning\">部分缴纳</span>'; | |||
} | |||
} | |||
}, | |||
], | |||
mainId: 'FSYId', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
var userinfo = learun.clientdata.get(['userinfo']); | |||
param.StuNo = userinfo.account; | |||
param.F_CheckMark = 1; | |||
param.FSYear = $("#FSYear").lrselectGet(); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,63 @@ | |||
@{ | |||
ViewBag.Title = "学生年度缴费管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout lr-layout-left-center" id="lr_layout"> | |||
<div class="lr-layout-left"> | |||
<div class="lr-layout-wrap"> | |||
<div class="lr-layout-title lrlt ">缴费年度</div> | |||
<div id="dataTree" class="lr-layout-body"></div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap "> | |||
<div class="lr-layout-title"> | |||
<span id="titleinfo" class="lrlt">学生缴费信息</span> | |||
</div> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">身份证号</div> | |||
<input id="IdentityCardNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_detail" class="btn btn-default"><i class="fa fa-reorder"></i> 查看明细</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForTeacher.js") |
@@ -0,0 +1,154 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 15:52 | |||
* 描 述:学生年度缴费管理 | |||
*/ | |||
var refreshGirdData; | |||
var fSYear; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 初始化左侧树形数据 | |||
$('#dataTree').lrtree({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetYearTree', | |||
nodeClick: function (item) { | |||
fSYear = item.value; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 250, 400); | |||
$('#DeptNo').lrselect({ | |||
url: "/ReceiveSendFeeManagement/FinaChargeStuYear/GetDeptByEmpNo", | |||
value: "DeptNo", | |||
text: "DeptName" | |||
}); | |||
$('#MajorNo').lrselect({ | |||
url: "/ReceiveSendFeeManagement/FinaChargeStuYear/GetMajorByEmpNo", | |||
value: "MajorNo", | |||
text: "MajorName" | |||
}); | |||
$('#ClassNo').lrselect({ | |||
url:"/ReceiveSendFeeManagement/FinaChargeStuYear/GetClassByEmpNo", | |||
value: "ClassNo", | |||
text: "ClassName" | |||
}); | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//明细 | |||
$('#lr_detail').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYId'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'detail', | |||
title: "收费明细", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/IndexForTeacher?keyValue=' + keyValue, | |||
width: 1400, | |||
height: 600, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 150, align: "left" }, | |||
{ | |||
label: "系所", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费标准", name: "YJAmount", width: 80, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 80, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 80, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 80, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue === 0) { | |||
return '<span class=\"label label-default\">未缴费</span>'; | |||
} else if (cellvalue === 1) { | |||
return '<span class=\"label label-success\">已缴费</span>'; | |||
} else { | |||
return '<span class=\"label label-warning\">部分缴纳</span>'; | |||
} | |||
} | |||
}, | |||
], | |||
mainId: 'FSYId', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.fSYear = fSYear; | |||
param.Teacher = 1; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,15 @@ | |||
@{ | |||
ViewBag.Title = "新生缴费管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<style> | |||
#btnBox { | |||
text-align: center; | |||
} | |||
</style> | |||
<div class="lr-form-tabs" id="lr_form_tabs"> | |||
<ul class="nav nav-tabs" id="tabul"></ul> | |||
</div> | |||
<div class="tab-content lr-tab-content" id="lr_tab_content"> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/InvoiceForm.js") |
@@ -0,0 +1,53 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-08-08 17:21 | |||
* 描 述:新生缴费管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#lr_form_tabs').lrFormTab(); | |||
//$('#lr_form_tabs ul li').eq(0).trigger('click'); | |||
//取消缴费 | |||
$('#cancelPayFee').click(function () { | |||
learun.layerClose(window.name); | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
learun.httpAsyncGet( | |||
top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetInvoiceRecord?keyValue=' + keyValue, function (res) { | |||
if (!!res.data) { | |||
var ulHtml = ""; | |||
var contentHtml = ""; | |||
for (var i = 0; i < res.data.length; i++) { | |||
ulHtml += '<li><a data-value="tab' + (i + 1) + '">票据' + (i + 1) + '</a></li>'; | |||
contentHtml += '<div class="lr-form-wrap tab-pane tabClass" id="tab' + (i + 1) + '" >'; | |||
contentHtml += '<iframe width="100%" scrolling="auto" height="100%" frameborder="0" src="' + res.data[i].billUrl + '"></iframe>'; | |||
contentHtml += '</div>'; | |||
} | |||
$('#tabul').html(ulHtml); | |||
$('#lr_tab_content').html(contentHtml); | |||
$('#lr_form_tabs ul li').eq(0).trigger('click'); | |||
} else { | |||
learun.alert.warning("当前新生尚未开具发票,请缴费成功后耐心等待!"); | |||
return; | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,50 @@ | |||
@{ | |||
ViewBag.Title = "新生缴费管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<style> | |||
.title { | |||
text-align: center; | |||
font-size: 16px; | |||
margin-bottom: 10px; | |||
} | |||
#form { | |||
padding: 10px 20px; | |||
} | |||
#btnBox { | |||
text-align: center; | |||
} | |||
#btnBox > div { | |||
margin-right: 50px; | |||
margin-top: 20px; | |||
} | |||
.table { | |||
text-align: center; | |||
margin: auto; | |||
} | |||
.tableLeft { | |||
width: 20%; | |||
font-weight: bold; | |||
} | |||
.tableCenter { | |||
width: 55%; | |||
} | |||
</style> | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="title">费用明细</div> | |||
<table class="table table-bordered" id="PayFeeDetail"></table> | |||
<div id="btnBox"> | |||
<div id="confirmPayFee" class="btn btn-primary">支付</div> | |||
<div id="cancelPayFee" class="btn btn-default">取消</div> | |||
<div id="queryPayFee" class="btn btn-primary">查询缴费结果</div> | |||
</div> | |||
<div id="btnBox"> | |||
<span style="color: red;">注意:1.点击【支付】按钮使用手机支付宝、微信扫描右上角二维码进行支付。<br />2.请于支付成功5分钟后,点击【查询缴费结果】或关闭本窗口刷新列表获取缴费结果。<br />3.发票会在缴费结果变更后开具。</span> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js") |
@@ -0,0 +1,162 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-08-08 17:21 | |||
* 描 述:老生缴费管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var PayFeeTotal = 0;//应交费用 | |||
var SJAmount = 0;//已交费用 | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
//获取缴费二维码 | |||
$('#confirmPayFee').click(function () { | |||
if (parseFloat($('#PayMoney').html()) === 0) { | |||
return learun.alert.warning("所交费用不能为0!"); | |||
} | |||
if (parseFloat($('#PayMoney').html()) > PayFeeTotal) { | |||
return learun.alert.warning("所交费用超出应交费用!"); | |||
} | |||
if (SJAmount > 0) { | |||
learun.layerConfirm('当前年度已存在缴费记录,是否继续缴费!', | |||
function (res) { | |||
if (!res) { | |||
return false; | |||
} else { | |||
page.getQRCode(); | |||
} | |||
}); | |||
} else { | |||
page.getQRCode(); | |||
} | |||
}); | |||
//取消缴费 | |||
$('#cancelPayFee').click(function () { | |||
learun.layerClose(window.name); | |||
}); | |||
$('#queryPayFee').click(function () { | |||
location.reload(); | |||
}); | |||
//计算实交金额 | |||
$('table').on('change', | |||
'.paydetail', | |||
function () { | |||
var num = 0; | |||
num = parseFloat(num); | |||
$(".paydetail").each(function (i, item) { | |||
var val = 0; | |||
if (!!$(this).val()) { | |||
val = parseFloat($(this).val()).toFixed(2); | |||
} | |||
num += parseFloat(val); | |||
}); | |||
$('#PayMoney').html(parseFloat(num).toFixed(2)); | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPayFeeDetail?keyValue=' + keyValue, function (data) { | |||
if (data['FinaChargesStandardList'].length == 0) { | |||
learun.alert.warning("未查询到该学生收费明细!请先维护收费明细。"); | |||
learun.layerClose(window.name); | |||
return; | |||
} | |||
var StuInfoFresh = data['StuInfoFreshData']; | |||
var className = ""; | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: StuInfoFresh.ClassNo, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
className = _data['classname']; | |||
if (!className) { | |||
className = "未知"; | |||
} | |||
} | |||
}); | |||
var deptName = ""; | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: StuInfoFresh.DeptNo, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
deptName = _data['deptname']; | |||
if (!deptName) { | |||
deptName = "未知"; | |||
} | |||
} | |||
}); | |||
PayFeeTotal = parseFloat(data['PayFeeTotal']); | |||
SJAmount = parseFloat(data['SJAmount']); | |||
var html = "<tr><td class=\"tableLeft\">学号</td><td class=\"tableCenter\" id=\"StuNo\">" + StuInfoFresh.StuNo + "</td><td class=\"tableRight qrcode\" rowspan=\"5\"><img id='qrcodeImg'/></td></tr>"; | |||
html += "<tr><td class=\"tableLeft\">姓名</td> <td>" + StuInfoFresh.StuName + "</td></tr>"; | |||
html += "<tr><td class=\"tableLeft\">班级</td><td>" + className + "</td></tr>"; | |||
html += "<tr><td class=\"tableLeft\">系别</td><td>" + deptName + "</td></tr>"; | |||
html += "<tr><td class=\"tableLeft\">缴费年度</td><td id=\"FSYear\">" + StuInfoFresh.FSYear + "</td></tr>"; | |||
html += '<tr style="border-top: 10px solid blue;"><td class=\"tableLeft\">缴费项目</td><td class=\"tableLeft\">收费标准</td><td class=\"tableLeft\">本次实缴</td></tr>'; | |||
$.each(data['FinaChargesStandardList'], function (i, item) { | |||
html += '<tr><td class=\"tableLeft\">' + item.ChargeItemName + '</td><td>' + item.Standard + '元</td><td>' + | |||
'<input id="' + item.ChargeItemCode + '" onkeyup="if(this.value > ' + item.NeedToPay + '){this.value=' + item.NeedToPay + '}" onafterpaste="if(this.value > ' + item.NeedToPay + '){this.value=' + item.NeedToPay +'}" ' + | |||
' max="' + item.NeedToPay + '" min="0" data-amount="' + item.Standard + '" data-name="' + item.ChargeItemName + '" type="number" class="form-control paydetail" value="' + item.NeedToPay + '" /></td></tr>'; | |||
}); | |||
html += '<tr><td class=\"tableLeft\">应缴合计</td><td>' + data['PayFeeTotal'] + '元</td><td><span id="PayMoney">' + PayFeeTotal + '</span></td></tr>'; | |||
html += '<tr><td class=\"tableLeft\"> </td><td colspan="2"> </td></tr>'; | |||
html += '<tr><td class=\"tableLeft\">已缴金额</td><td colspan="2">' + SJAmount + '</td></tr>'; | |||
$('#PayFeeDetail').html(html); | |||
}); | |||
} | |||
}, | |||
getQRCode: function () { | |||
var list = []; | |||
var ifisnull = false; | |||
$('.paydetail').each(function (i, item) { | |||
var value = 0; | |||
if (!!$(this).val()) { | |||
value = parseFloat($(this).val()); | |||
} else { | |||
ifisnull = true; | |||
} | |||
var entity = { | |||
ChargeItemName: ($(this).attr('data-name')).replace(/^\s*|\s*$/g, ""), | |||
ChargeItemCode: $(this).attr('id'), | |||
YJAmount: $(this).attr('data-amount'), | |||
SJAmount: value | |||
}; | |||
list.push(entity); | |||
}); | |||
if (ifisnull) { | |||
learun.alert.warning("收费项目金额不能为空!请检查并填写。"); | |||
return; | |||
} | |||
$('.paydetail').each(function(i, item) { | |||
$(this).attr('disabled', 'disabled'); | |||
}); | |||
var param = {}; | |||
param.FSYId = keyValue; | |||
param.StuNo = $('#StuNo').html(); | |||
param.FSYear = $('#FSYear').html(); | |||
param.PayMoney = $('#PayMoney').html(); | |||
learun.loading(true, '正在生成付款信息请稍等...'); | |||
$("#confirmPayFee").hide(); | |||
learun.httpAsyncPost(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/PayFeeQRCode', { strEntity: JSON.stringify(param), detailList: JSON.stringify(list) }, function (res) { | |||
learun.loading(false); | |||
$('#qrcodeImg').attr('src', res.info); | |||
}); | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,31 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuYearItem"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">收费项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">收费项名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">收费项目类型</div> | |||
<div id="ChargeItemType" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">应缴金额</div> | |||
<input id="Standard" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">实缴金额</div> | |||
<input id="SJAmount" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuYearItem" > | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="PayFeeStatus" ></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Form.js") |
@@ -0,0 +1,52 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 16:40 | |||
* 描 述:FinaChargeStuYearItem | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#ChargeItemType').lrDataItemSelect({ code: 'ChargeItemType' }); | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,26 @@ | |||
@{ | |||
ViewBag.Title = "Form"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<link href="~/Content/webuploader/webuploader.css" rel="stylesheet" /> | |||
<script src="~/Content/webuploader/webuploader.nolog.min.js"></script> | |||
@Html.AppendCssFile("/Areas/LR_SystemModule/Views/ExcelImport/ImportForm.css") | |||
<div class="lr-form-layout lr-form-layout-top-bottom"> | |||
<div class="lr-form-layout-header"> | |||
<div id="lr_add_file_btn"><i class="fa fa-cloud-upload"></i><span class="lrlt">上传文件</span></div> | |||
<div class="webuploader-pick" id="lr_down_file_btn"><i class="fa fa-download"></i><span class="lrlt">下载模板</span></div> | |||
</div> | |||
<div class="lr-form-layout-body"> | |||
<div class="lr-form-file-queue-wrap" id="lr_form_file_queue"> | |||
<div class="lr-form-file-queue" id="lr_form_file_queue_list"> | |||
</div> | |||
<div class="lr-form-file-queue-bg"> | |||
<h1><span class="lrlt">试试将电脑里的文件拖拽到此上传</span></h1> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Import.js") |
@@ -0,0 +1,175 @@ | |||
/* | |||
* 描 述:附件上传管理 | |||
*/ | |||
var gridId = request('gridtable'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var fileInfo = {}; | |||
// 触发合并文件碎片 | |||
var mergeFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['fileName'] = fileInfo[file.id].name; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
var queryJson = JSON.stringify(learun.frameTab.currentIframe().queryJson); | |||
param['queryJson'] = queryJson; | |||
learun.httpAsyncPost(top.$.rootUrl + "/ReceiveSendFeeManagement/FinaChargeStuYearItem/ExecuteImportExcel", param, function (res) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
if (res.code == learun.httpCode.success) { | |||
if (res.data.Success != '0') { | |||
learun.alert.success('导入成功' + res.data.Success + '条'); | |||
} | |||
// 文件保存成功后 | |||
$fileItem.append('<div class="lr-msg2"><span>' + res.data.Success + '</span><span>/</span><span style="color:#b94a48;" >' + res.data.Fail + '</span></div>'); | |||
// 如果有失败 | |||
if (res.data.Fail != '0') { | |||
learun.download({ url: top.$.rootUrl + '/LR_SystemModule/ExcelImport/DownImportErrorFile', param: { fileId: fileInfo[file.id].fileGuid, fileName: fileInfo[file.id].name, __RequestVerificationToken: $.lrToken }, method: 'POST' }); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
}); | |||
} | |||
// 触发清楚文件碎片 | |||
var reomveFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/MergeAnnexesFile", param, function (res) { }); | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
// 删除文件 | |||
var DeleteFile = function (fileId) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileId'] = fileInfo[fileId].fileGuid; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/DeleteAnnexesFile", param, function (res) { }); | |||
var file = page.uploader.getFile(fileId); | |||
if (!!file) { | |||
page.uploader.removeFile(file); | |||
} | |||
delete fileInfo[fileId]; | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + fileId); | |||
$fileItem.remove(); | |||
if ($('#lr_form_file_queue_list>div').length == 0) { | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').show(); | |||
} | |||
} | |||
var page = { | |||
uploader: null, | |||
init: function () { | |||
if (!WebUploader.Uploader.support()) { | |||
alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器'); | |||
throw new Error('WebUploader does not support the browser you are using.'); | |||
} | |||
/*导入模板下载*/ | |||
$('#lr_down_file_btn').on('click', function () { | |||
learun.download({ | |||
method: "get", | |||
url: '/Content/excel/缴费明细.xls' | |||
}); | |||
}); | |||
page.uploader = WebUploader.create({ | |||
auto: true, | |||
swf: top.$.rootUrl + '/Content/webuploader/Uploader.swf', | |||
// 文件接收服务端。 | |||
server: top.$.rootUrl + "/LR_SystemModule/Annexes/UploadAnnexesFileChunk", | |||
// 选择文件的按钮。可选。 | |||
// 内部根据当前运行是创建,可能是input元素,也可能是flash. | |||
pick: '#lr_add_file_btn', | |||
dnd: '#lr_form_file_queue', | |||
paste: 'document.body', | |||
disableGlobalDnd: true, | |||
accept: { | |||
extensions: "xls,xlsx" | |||
}, | |||
multiple: false, | |||
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! | |||
resize: false, | |||
// 文件分片上传 | |||
chunked: true, | |||
chunkRetry: 3, | |||
prepareNextFile: true, | |||
chunkSize: '1048576', | |||
// 上传参数 | |||
formData: { | |||
__RequestVerificationToken: $.lrToken | |||
} | |||
}); | |||
page.uploader.on('fileQueued', page.fileQueued); | |||
page.uploader.on('uploadStart', page.uploadStart); | |||
page.uploader.on('uploadBeforeSend', page.uploadBeforeSend); | |||
page.uploader.on('uploadProgress', page.uploadProgress); | |||
page.uploader.on('uploadSuccess', page.uploadSuccess); | |||
page.uploader.on('uploadError', page.uploadError); | |||
page.uploader.on('uploadComplete', page.uploadComplete); | |||
page.uploader.on('error', page.error); | |||
//$('#lr_form_file_queue').mCustomScrollbar({ // 优化滚动条 | |||
// theme: "minimal-dark" | |||
//}); | |||
}, | |||
fileQueued: function (file) {// 文件加载到队列 | |||
fileInfo[file.id] = { name: file.name }; | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').hide(); | |||
// 添加一条文件记录 | |||
var $item = $('<div class="lr-form-file-queue-item" id="lr_filequeue_' + file.id + '" ></div>'); | |||
$item.append('<div class="lr-file-image"><img src="' + top.$.rootUrl + '/Content/images/filetype/' + file.ext + '.png"></div>'); | |||
$item.append('<span class="lr-file-name">' + file.name + '(' + learun.countFileSize(file.size) + ')</span>'); | |||
$('#lr_form_file_queue_list').append($item); | |||
}, | |||
uploadStart: function (file) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.append('<div class="lr-uploader-progress"><div class="lr-uploader-progress-bar" style="width:0%;"></div></div>'); | |||
}, | |||
uploadBeforeSend: function (object, data, headers) { | |||
data.chunk = data.chunk || 0; | |||
data.chunks = data.chunks || 1; | |||
fileInfo[data.id].fileGuid = fileInfo[data.id].fileGuid || WebUploader.Base.guid(); | |||
data.fileGuid = fileInfo[data.id].fileGuid; | |||
fileInfo[data.id].chunks = data.chunks; | |||
}, | |||
uploadProgress: function (file, percentage) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress-bar').css('width', (percentage * 100 + '%')); | |||
}, | |||
uploadSuccess: function (file, res) { | |||
if (res.code == 200) {// 上传成功 | |||
mergeFileChunks(file); | |||
} | |||
else {// 上传失败 | |||
reomveFileChunks(file); | |||
} | |||
}, | |||
uploadError: function (file, code) { | |||
reomveFileChunks(file); | |||
}, | |||
uploadComplete: function (file) { | |||
}, | |||
error: function (type) { | |||
switch (type) { | |||
case 'Q_TYPE_DENIED': | |||
learun.alert.error('当前文件类型不允许上传'); | |||
break; | |||
}; | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,69 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuYearItem"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<div id="FSYear"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="PayFeeStatus"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">项目类型</div> | |||
<div id="ChargeItemType"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</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> 导入非固定项</a> | |||
<a id="lr_undelete" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 恢复</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 作废</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 退费</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Index.js") |
@@ -0,0 +1,190 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 16:40 | |||
* 描 述:FinaChargeStuYearItem | |||
*/ | |||
var refreshGirdData; | |||
var sYear; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
setTimeout(function () { | |||
page.initGird(); | |||
}, 500);//延迟 | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 300, 400); | |||
$('#FSYear').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
var now = new Date(); | |||
sYear = now.getFullYear(); | |||
$('#FSYear').lrselectSet(sYear); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
$('#ChargeItemType').lrDataItemSelect({ code: 'ChargeItemType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 导入 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'indexImport', | |||
title: "导入收费", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/Import', | |||
width: 600, | |||
height: 400, | |||
maxmin: true, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
}); | |||
// 恢复 | |||
$('#lr_undelete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYIId'); | |||
var F_DeleteMark = $('#gridtable').jfGridValue('F_DeleteMark').toString(); | |||
if (learun.checkrow(keyValue)) { | |||
if (F_DeleteMark.indexOf('false') != -1) { | |||
learun.alert.error("包含未作废项目,不能恢复"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认恢复该项!', function (res) { | |||
if (res) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/UnDeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 作废 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYIId'); | |||
var ChargeItemType = $('#gridtable').jfGridValue('ChargeItemType'); | |||
var PayFeeStatus = $('#gridtable').jfGridValue('PayFeeStatus'); | |||
if (learun.checkrow(keyValue)) { | |||
if (ChargeItemType.indexOf('1')!=-1) { | |||
learun.alert.error("包含固定收费项目,不能作废"); | |||
return; | |||
} | |||
if (PayFeeStatus.indexOf('1') != -1 || PayFeeStatus.indexOf('4') != -1) { | |||
learun.alert.error("包含已缴费项目,不能作废"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认作废该项!', function (res) { | |||
if (res) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 100, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 100, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 100, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'PayStatus', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "是否作废", name: "F_DeleteMark", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue ===true) { | |||
return '<span class=\"label label-warning\">作废</span>'; | |||
} else{ | |||
return '<span class=\"label label-success\">正常</span>'; | |||
} | |||
} | |||
} | |||
], | |||
mainId: 'FSYIId', | |||
isPage: true, | |||
isMultiselect: true, | |||
sidx:'MajorNo,ClassNo,StuNo,ChargeItemCode' | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.FSYId = keyValue; | |||
param.FSYear = $('#FSYear').lrselectGet(); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,67 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuYearItem"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<div id="FSYear"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">退费状态</div> | |||
<div id="RefundStatus"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">项目类型</div> | |||
<div id="ChargeItemType"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_refund" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 退费</a> | |||
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 查看</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/IndexForRefund.js") |
@@ -0,0 +1,181 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 16:40 | |||
* 描 述:FinaChargeStuYearItem | |||
*/ | |||
var refreshGirdData; | |||
var sYear; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
setTimeout(function () { | |||
page.initGird(); | |||
}, 500);//延迟 | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 300, 400); | |||
$('#FSYear').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
var now = new Date(); | |||
sYear = now.getFullYear(); | |||
$('#FSYear').lrselectSet(sYear); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#RefundStatus').lrDataItemSelect({ code: 'RefundStatus' }); | |||
$('#ChargeItemType').lrDataItemSelect({ code: 'ChargeItemType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//退费 | |||
$('#lr_refund').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYIId'); | |||
var RefundStatus = $('#gridtable').jfGridValue('RefundStatus').toString(); | |||
if (learun.checkrow(keyValue)) { | |||
if (RefundStatus.indexOf('true') != -1) { | |||
learun.alert.error("包含已退费项目,不能退费"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formrefund', | |||
title: '退费', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/Form?keyValue=' + keyValue, | |||
width: 1200, | |||
height: 700, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
//查看 | |||
$('#lr_view').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSYIId'); | |||
var RefundStatus = $('#gridtable').jfGridValue('RefundStatus').toString(); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.error("查看操作只支持单条记录"); | |||
return; | |||
} | |||
if (RefundStatus.indexOf('false')!=-1) { | |||
learun.alert.error("未进行退费操作,请核对。"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formview', | |||
title: '查看', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeRefund/FormView?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
btn:null | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 100, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 100, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 100, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'PayStatus', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "是否退费", name: "RefundStatus", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue ===true) { | |||
return '<span class=\"label label-success\">已退费</span>'; | |||
} else{ | |||
return '<span class=\"label label-warning\">未退费</span>'; | |||
} | |||
} | |||
} | |||
], | |||
mainId: 'FSYIId', | |||
isPage: true, | |||
isMultiselect: true, | |||
sidx:'MajorNo,ClassNo,StuNo,ChargeItemCode' | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.FSYId = keyValue; | |||
param.PayFeeStatus = 1; | |||
param.F_DeleteMark = 0; | |||
param.Refund = 1; | |||
param.FSYear = $('#FSYear').lrselectGet(); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,65 @@ | |||
@{ | |||
ViewBag.Title = "FinaChargeStuYearItem"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目名称</div> | |||
<input id="ChargeItemName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">项目编号</div> | |||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<div id="FSYear"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">缴费状态</div> | |||
<div id="PayFeeStatus"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">项目类型</div> | |||
<div id="ChargeItemType"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/IndexForTeacher.js") |
@@ -0,0 +1,135 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-07 16:40 | |||
* 描 述:FinaChargeStuYearItem | |||
*/ | |||
var refreshGirdData; | |||
var sYear; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
setTimeout(function () { | |||
page.initGird(); | |||
}, 500);//延迟 | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 300, 400); | |||
$('#FSYear').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
var now = new Date(); | |||
sYear = now.getFullYear(); | |||
$('#FSYear').lrselectSet(sYear); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#PayFeeStatus').lrDataItemSelect({ code: 'PayStatus' }); | |||
$('#ChargeItemType').lrDataItemSelect({ code: 'ChargeItemType' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYearItem/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "缴费年度", name: "FSYear", width: 100, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费项名称", name: "ChargeItemName", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | |||
{ label: "缴费金额", name: "SJAmount", width: 100, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 100, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 100, align: "left" }, | |||
{ | |||
label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'PayStatus', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "是否作废", name: "F_DeleteMark", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue ===true) { | |||
return '<span class=\"label label-warning\">作废</span>'; | |||
} else{ | |||
return '<span class=\"label label-success\">正常</span>'; | |||
} | |||
} | |||
} | |||
], | |||
mainId: 'FSYIId', | |||
isPage: true, | |||
isMultiselect: true, | |||
sidx:'MajorNo,ClassNo,StuNo,ChargeItemCode' | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.FSYId = keyValue; | |||
param.FSYear = $('#FSYear').lrselectGet(); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,43 @@ | |||
@{ | |||
ViewBag.Title = "缴费学生信息"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="GenderNo" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">身份证号</div> | |||
<input id="IdentityCardNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">系部</div> | |||
<div id="DeptNo" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">手机号</div> | |||
<input id="Mobile" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStudent" > | |||
<div class="lr-form-item-title">学生总余额</div> | |||
<input id="FSBlance" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStudent/Form.js") |
@@ -0,0 +1,54 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-06 17:09 | |||
* 描 述:缴费学生信息 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#GenderNo').lrDataItemSelect({ code: 'usersexbit' }); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo',value: 'deptno',text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo',value: 'majorno',text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj',value: 'classno',text: 'classname' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,58 @@ | |||
@{ | |||
ViewBag.Title = "缴费学生信息"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout " > | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">身份证号</div> | |||
<input id="IdentityCardNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</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> 导入学生</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-edit"></i> 更新学生信息</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_lock" class="btn btn-default"><i class="fa fa-lock"></i> 审核</a> | |||
<a id="lr_unlock" class="btn btn-default"><i class="fa fa-unlock"></i> 去审核</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStudent/Index.js") |
@@ -0,0 +1,183 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-08-06 17:09 | |||
* 描 述:缴费学生信息 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 250, 400); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerConfirm('是否确认导入!', function (res) { | |||
if (res) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/ImportForm', {}, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
learun.layerConfirm('是否确认更新!', function (res) { | |||
if (res) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/UpdateForm', {},function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSId'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行删除!"); | |||
return; | |||
} | |||
var CheckMark = $('#gridtable').jfGridValue('F_CheckMark').toString(); | |||
if (CheckMark.indexOf('true') != -1) { | |||
learun.alert.warning("选中记录中包含已审核项目!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
//启用 | |||
$('#lr_lock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSId'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('F_CheckMark').toString(); | |||
if (CheckMark.indexOf('true') != -1) { | |||
learun.alert.warning("选中记录中包含已审核项目!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认审核该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/Lock', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
//停用 | |||
$('#lr_unlock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('FSId'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('F_CheckMark').toString(); | |||
if (CheckMark.indexOf('false') != -1) { | |||
learun.alert.warning("选中记录中包含已去审项目!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认去审核该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/UnLock', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStudent/GetPageList', | |||
headData: [ | |||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "男" : "女"; | |||
} | |||
}, | |||
{ label: "身份证号", name: "IdentityCardNo", width: 200, align: "left" }, | |||
{ | |||
label: "系部", name: "DeptNo", width: 150, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 200, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 200, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "手机号", name: "Mobile", width: 100, align: "left" }, | |||
{ label: "应缴余额", name: "NeedToPay", width: 80, align: "left" }, | |||
{ label: "超出应收额", name: "FSBlance", width: 80, align: "left" }, | |||
{ | |||
label: "审核标志", name: "F_CheckMark", width: 80, align: "left", formatter: function (cellvalue, rowObject) { | |||
return cellvalue == "1" ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; | |||
} | |||
}, | |||
], | |||
mainId: 'FSId', | |||
isMultiselect: true, | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -4,17 +4,17 @@ | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargesStandard"> | |||
<div class="lr-form-item-title">学年</div> | |||
<input id="AcademicYearNo" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargesStandard"> | |||
<div class="lr-form-item-title">学期</div> | |||
<input id="Semester" type="text" class="form-control" readonly="readonly" /> | |||
<div class="lr-form-item-title">缴费年度</div> | |||
<input id="SYear" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargesStandard"> | |||
<div class="lr-form-item-title">年级</div> | |||
<input id="Grade" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargesStandard"> | |||
<div class="lr-form-item-title">系部编号</div> | |||
<input id="DeptNo" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="FinaChargesStandard"> | |||
<div class="lr-form-item-title">专业编号</div> | |||
<input id="MajorNo" type="text" class="form-control" readonly="readonly" /> | |||
@@ -5,9 +5,9 @@ | |||
* 描 述:收费标准设置 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue');//专业编号 | |||
var academicYearNo = request('academicYearNo'); | |||
var semester = request('semester'); | |||
var deptno = request('deptno'); | |||
var majorno = request('majorno'); | |||
var syear = request('syear'); | |||
var grade = request('grade'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
@@ -19,16 +19,30 @@ var bootstrap = function ($, learun) { | |||
}, | |||
bind: function () { | |||
//绑定值 | |||
$('#AcademicYearNo').val(academicYearNo); | |||
$('#Semester').val(semester); | |||
$('#SYear').val(syear); | |||
$('#Grade').val(grade); | |||
$('#MajorNo').val(keyValue); | |||
$('#DeptNo').val(deptno); | |||
$('#MajorNo').val(majorno); | |||
//收费项目下的收费标准表格 | |||
$('#FinaChargesStandard').jfGrid({ | |||
headData: [ | |||
{ | |||
label: '收费项目名称', name: 'ChargeItemName', width: 200, align: 'left' | |||
}, | |||
{ | |||
label: '收费项目编号', name: 'ChargeItemCode', width: 200, align: 'left' | |||
}, | |||
{ | |||
label: '收费项目类型', name: 'ChargeItemType', width: 200, align: 'left', formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: '收费标准', name: 'Standard', width: 100, align: 'left' | |||
, edit: { | |||
@@ -38,13 +52,12 @@ var bootstrap = function ($, learun) { | |||
], | |||
isEdit: false, | |||
height: 400, | |||
sidx: 'ChargeItemID', | |||
sord: 'asc' | |||
sidx: 'ChargeItemCode' | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GetFormData?majorNo=' + keyValue + '&academicYearNo=' + academicYearNo + '&semester=' + semester + '&grade=' + grade + '', function (data) { | |||
if (!!majorno) { | |||
$.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GetFormData?majorNo=' + majorno + '&syear=' + syear + '&grade=' + grade + '', function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
@@ -67,7 +80,7 @@ var bootstrap = function ($, learun) { | |||
for (var i = 0; i < data.length; i++) { | |||
var item = data[i]; | |||
if (item.Standard != null && !isNumber(item.Standard)) { | |||
learun.alert.warning("收费标准中存在非法字符!"); | |||
learun.alert.warning("收费标准必须是数字!"); | |||
return false; | |||
} | |||
} | |||
@@ -75,7 +88,7 @@ var bootstrap = function ($, learun) { | |||
var postData = { | |||
strEntity: JSON.stringify(data) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/SaveForm?majorNo=' + keyValue + '&academicYearNo=' + academicYearNo + '&semester=' + semester + '&grade=' + grade + '', postData, function (res) { | |||
$.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/SaveForm?deptno=' + deptno+'&majorNo=' + majorno + '&syear=' + syear + '&grade=' + grade + '', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
@@ -0,0 +1,26 @@ | |||
@{ | |||
ViewBag.Title = "Form"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<link href="~/Content/webuploader/webuploader.css" rel="stylesheet" /> | |||
<script src="~/Content/webuploader/webuploader.nolog.min.js"></script> | |||
@Html.AppendCssFile("/Areas/LR_SystemModule/Views/ExcelImport/ImportForm.css") | |||
<div class="lr-form-layout lr-form-layout-top-bottom"> | |||
<div class="lr-form-layout-header"> | |||
<div id="lr_add_file_btn"><i class="fa fa-cloud-upload"></i><span class="lrlt">上传文件</span></div> | |||
<div class="webuploader-pick" id="lr_down_file_btn"><i class="fa fa-download"></i><span class="lrlt">下载模板</span></div> | |||
</div> | |||
<div class="lr-form-layout-body"> | |||
<div class="lr-form-file-queue-wrap" id="lr_form_file_queue"> | |||
<div class="lr-form-file-queue" id="lr_form_file_queue_list"> | |||
</div> | |||
<div class="lr-form-file-queue-bg"> | |||
<h1><span class="lrlt">试试将电脑里的文件拖拽到此上传</span></h1> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargesStandard/Import.js") |
@@ -0,0 +1,175 @@ | |||
/* | |||
* 描 述:附件上传管理 | |||
*/ | |||
var gridId = request('gridtable'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var fileInfo = {}; | |||
// 触发合并文件碎片 | |||
var mergeFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['fileName'] = fileInfo[file.id].name; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
var queryJson = JSON.stringify(learun.frameTab.currentIframe().queryJson); | |||
param['queryJson'] = queryJson; | |||
learun.httpAsyncPost(top.$.rootUrl + "/ReceiveSendFeeManagement/FinaChargesStandard/ExecuteImportExcel", param, function (res) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
if (res.code == learun.httpCode.success) { | |||
if (res.data.Success != '0') { | |||
learun.alert.success('导入成功' + res.data.Success + '条'); | |||
} | |||
// 文件保存成功后 | |||
$fileItem.append('<div class="lr-msg2"><span>' + res.data.Success + '</span><span>/</span><span style="color:#b94a48;" >' + res.data.Fail + '</span></div>'); | |||
// 如果有失败 | |||
if (res.data.Fail != '0') { | |||
learun.download({ url: top.$.rootUrl + '/LR_SystemModule/ExcelImport/DownImportErrorFile', param: { fileId: fileInfo[file.id].fileGuid, fileName: fileInfo[file.id].name, __RequestVerificationToken: $.lrToken }, method: 'POST' }); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
}); | |||
} | |||
// 触发清楚文件碎片 | |||
var reomveFileChunks = function (file) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileGuid'] = fileInfo[file.id].fileGuid; | |||
param['chunks'] = fileInfo[file.id].chunks; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/MergeAnnexesFile", param, function (res) { }); | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress').remove(); | |||
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>'); | |||
} | |||
// 删除文件 | |||
var DeleteFile = function (fileId) { | |||
var param = {}; | |||
param['__RequestVerificationToken'] = $.lrToken; | |||
param['fileId'] = fileInfo[fileId].fileGuid; | |||
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/DeleteAnnexesFile", param, function (res) { }); | |||
var file = page.uploader.getFile(fileId); | |||
if (!!file) { | |||
page.uploader.removeFile(file); | |||
} | |||
delete fileInfo[fileId]; | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + fileId); | |||
$fileItem.remove(); | |||
if ($('#lr_form_file_queue_list>div').length == 0) { | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').show(); | |||
} | |||
} | |||
var page = { | |||
uploader: null, | |||
init: function () { | |||
if (!WebUploader.Uploader.support()) { | |||
alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器'); | |||
throw new Error('WebUploader does not support the browser you are using.'); | |||
} | |||
/*导入模板下载*/ | |||
$('#lr_down_file_btn').on('click', function () { | |||
learun.download({ | |||
method: "get", | |||
url: '/Content/excel/收费标准设置.xls' | |||
}); | |||
}); | |||
page.uploader = WebUploader.create({ | |||
auto: true, | |||
swf: top.$.rootUrl + '/Content/webuploader/Uploader.swf', | |||
// 文件接收服务端。 | |||
server: top.$.rootUrl + "/LR_SystemModule/Annexes/UploadAnnexesFileChunk", | |||
// 选择文件的按钮。可选。 | |||
// 内部根据当前运行是创建,可能是input元素,也可能是flash. | |||
pick: '#lr_add_file_btn', | |||
dnd: '#lr_form_file_queue', | |||
paste: 'document.body', | |||
disableGlobalDnd: true, | |||
accept: { | |||
extensions: "xls,xlsx" | |||
}, | |||
multiple: false, | |||
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! | |||
resize: false, | |||
// 文件分片上传 | |||
chunked: true, | |||
chunkRetry: 3, | |||
prepareNextFile: true, | |||
chunkSize: '1048576', | |||
// 上传参数 | |||
formData: { | |||
__RequestVerificationToken: $.lrToken | |||
} | |||
}); | |||
page.uploader.on('fileQueued', page.fileQueued); | |||
page.uploader.on('uploadStart', page.uploadStart); | |||
page.uploader.on('uploadBeforeSend', page.uploadBeforeSend); | |||
page.uploader.on('uploadProgress', page.uploadProgress); | |||
page.uploader.on('uploadSuccess', page.uploadSuccess); | |||
page.uploader.on('uploadError', page.uploadError); | |||
page.uploader.on('uploadComplete', page.uploadComplete); | |||
page.uploader.on('error', page.error); | |||
//$('#lr_form_file_queue').mCustomScrollbar({ // 优化滚动条 | |||
// theme: "minimal-dark" | |||
//}); | |||
}, | |||
fileQueued: function (file) {// 文件加载到队列 | |||
fileInfo[file.id] = { name: file.name }; | |||
$('#lr_form_file_queue .lr-form-file-queue-bg').hide(); | |||
// 添加一条文件记录 | |||
var $item = $('<div class="lr-form-file-queue-item" id="lr_filequeue_' + file.id + '" ></div>'); | |||
$item.append('<div class="lr-file-image"><img src="' + top.$.rootUrl + '/Content/images/filetype/' + file.ext + '.png"></div>'); | |||
$item.append('<span class="lr-file-name">' + file.name + '(' + learun.countFileSize(file.size) + ')</span>'); | |||
$('#lr_form_file_queue_list').append($item); | |||
}, | |||
uploadStart: function (file) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.append('<div class="lr-uploader-progress"><div class="lr-uploader-progress-bar" style="width:0%;"></div></div>'); | |||
}, | |||
uploadBeforeSend: function (object, data, headers) { | |||
data.chunk = data.chunk || 0; | |||
data.chunks = data.chunks || 1; | |||
fileInfo[data.id].fileGuid = fileInfo[data.id].fileGuid || WebUploader.Base.guid(); | |||
data.fileGuid = fileInfo[data.id].fileGuid; | |||
fileInfo[data.id].chunks = data.chunks; | |||
}, | |||
uploadProgress: function (file, percentage) { | |||
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); | |||
$fileItem.find('.lr-uploader-progress-bar').css('width', (percentage * 100 + '%')); | |||
}, | |||
uploadSuccess: function (file, res) { | |||
if (res.code == 200) {// 上传成功 | |||
mergeFileChunks(file); | |||
} | |||
else {// 上传失败 | |||
reomveFileChunks(file); | |||
} | |||
}, | |||
uploadError: function (file, code) { | |||
reomveFileChunks(file); | |||
}, | |||
uploadComplete: function (file) { | |||
}, | |||
error: function (type) { | |||
switch (type) { | |||
case 'Q_TYPE_DENIED': | |||
learun.alert.error('当前文件类型不允许上传'); | |||
break; | |||
}; | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -13,10 +13,13 @@ | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="AcademicYearNo" type="lrselect" class="lr-select"></div> | |||
<div id="DeptNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Semester" type="lrselect" class="lr-select"></div> | |||
<div id="MajorNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="SYear" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Grade" type="lrselect" class="lr-select"></div> | |||
@@ -30,9 +33,11 @@ | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</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> 录入</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 设置费用</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_lock" class="btn btn-default"><i class="fa fa-lock"></i> 审核</a> | |||
<a id="lr_unlock" class="btn btn-default"><i class="fa fa-unlock"></i> 去审核</a> | |||
<a id="lr_import" class="btn btn-default"><i class="fa fa-file-excel-o"></i> 导入</a> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -8,44 +8,16 @@ var refreshGirdData; | |||
var selectedRow; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var academicYearNo; | |||
var semester; | |||
var grade; | |||
var sYear, grade, deptno, majorno; | |||
var page = { | |||
init: function () { | |||
//获取当前学年和学期 | |||
learun.httpAsyncGet(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/AcademicAndSemeter', function (res) { | |||
if (res.code == 200) { | |||
academicYearNo = res.data.academic; | |||
semester = res.data.semester; | |||
grade = res.data.grade; | |||
$('#AcademicYearNo').lrselectSet(res.data.academic); | |||
$('#Semester').lrselectSet(res.data.semester); | |||
$('#Grade').lrselectSet(res.data.grade); | |||
//todo:暂定 | |||
semester = "1"; | |||
$('#Semester').lrselectSet("1"); | |||
page.initGird(); | |||
}; | |||
}); | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GenerateNearByAcademic', | |||
value: 'value', | |||
text: 'text', | |||
maxHeight: 200 | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学期", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GenerateNearBySemeter', | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
//缴费年度 | |||
$('#SYear').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', | |||
value: 'value', | |||
text: 'text', | |||
maxHeight: 200 | |||
text: 'text' | |||
}); | |||
//年级 | |||
$('#Grade').lrselect({ | |||
@@ -55,8 +27,13 @@ var bootstrap = function ($, learun) { | |||
text: 'text', | |||
maxHeight: 200 | |||
}); | |||
var now = new Date(); | |||
sYear = now.getFullYear(); | |||
$('#SYear').lrselectSet(sYear); | |||
grade = sYear.toString().substring(2); | |||
$('#Grade').lrselectSet(grade); | |||
page.bind(); | |||
page.initGird(); | |||
}, | |||
bind: function () { | |||
@@ -66,11 +43,35 @@ var bootstrap = function ($, learun) { | |||
}); | |||
// 查询 | |||
$('#lr_search').on('click', function () { | |||
academicYearNo = $('#AcademicYearNo').lrselectGet(); | |||
semester = $('#Semester').lrselectGet(); | |||
sYear = $('#SYear').lrselectGet(); | |||
if (!sYear) { | |||
learun.alert.warning("请选择收费年度!"); | |||
return; | |||
} | |||
grade = $('#Grade').lrselectGet(); | |||
if (!grade) { | |||
learun.alert.warning("请选择年级!"); | |||
return; | |||
} | |||
deptno = $('#DeptNo').lrselectGet(); | |||
majorno = $('#MajorNo').lrselectGet(); | |||
page.search(); | |||
}); | |||
// 导入 | |||
$('#lr_import').on('click', function () { | |||
learun.layerForm({ | |||
id: 'indexImport', | |||
title: "导入收费标准", | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/Import', | |||
width: 600, | |||
height: 400, | |||
maxmin: true, | |||
btn: null, | |||
end: function () { | |||
refreshGirdData(); | |||
} | |||
}); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('TempId'); | |||
@@ -83,7 +84,7 @@ var bootstrap = function ($, learun) { | |||
learun.layerForm({ | |||
id: 'formFinaChargesStandard', | |||
title: '新增', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/Form?keyValue=' + selectedRow.MajorNo + '&academicYearNo=' + academicYearNo + '&semester=' + semester + '&grade=' + grade + '', | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/Form?deptno=' + selectedRow.DeptNo + '&majorno=' + selectedRow.MajorNo + '&syear=' + sYear + '&grade=' + grade + '', | |||
width: 1000, | |||
height: 600, | |||
callBack: function (id) { | |||
@@ -117,11 +118,16 @@ var bootstrap = function ($, learun) { | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('TempId'); | |||
selectedRow = $('#gridtable').jfGridGet('rowdata'); | |||
console.log(selectedRow); | |||
if (learun.checkrow(keyValue)) { | |||
if (selectedRow.ChargeStandardID == 0) {//专业下收费标准 | |||
learun.alert.warning("请选择具体的收费项目!"); | |||
return false; | |||
} | |||
if (selectedRow.CheckMark==true) { | |||
learun.alert.warning("删除失败,选中记录中包含已审核项目!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/DeleteForm', { keyValue: selectedRow.ChargeStandardID }, function () { | |||
@@ -131,32 +137,112 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}); | |||
//审核 | |||
$('#lr_lock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('TempId'); | |||
selectedRow = $('#gridtable').jfGridGet('rowdata'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认审核该项!', function (res) { | |||
if (res) { | |||
if (selectedRow.ChargeStandardID == 0) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/Lock', | |||
{ deptno: selectedRow.DeptNo, majorno: selectedRow.MajorNo, syear: sYear, grade: grade, ChargeStandardID: '' }, | |||
function () { | |||
refreshGirdData(); | |||
}); | |||
} else { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/Lock', | |||
{ deptno: '', majorno: '', syear: '', grade: '', ChargeStandardID: selectedRow.ChargeStandardID }, | |||
function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
} | |||
}); | |||
} | |||
}); | |||
//去审 | |||
$('#lr_unlock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('TempId'); | |||
selectedRow = $('#gridtable').jfGridGet('rowdata'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认去审该项!', function (res) { | |||
if (res) { | |||
if (selectedRow.ChargeStandardID == 0) { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/UnLock', | |||
{ deptno: selectedRow.DeptNo, majorno: selectedRow.MajorNo, syear: sYear, grade: grade, ChargeStandardID: '' }, | |||
function () { | |||
refreshGirdData(); | |||
}); | |||
} else { | |||
learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/UnLock', | |||
{ deptno: '', majorno: '', syear: '', grade: '', ChargeStandardID: selectedRow.ChargeStandardID }, | |||
function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GetTreeList', | |||
headData: [ | |||
{ | |||
label: "系部", name: "DeptNo", width: 200, align: "left", formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "专业编号", name: "MajorNo", width: 100, align: "left" }, | |||
{ label: "专业名称", name: "MajorName", width: 100, align: "left" }, | |||
{ label: "专业名称", name: "MajorName", width: 200, align: "left" }, | |||
{ label: "缴费年度", name: "SYear", width: 80, align: "left" }, | |||
{ label: "年级", name: "Grade", width: 80, align: "left" }, | |||
{ label: "收费项目名称", name: "ChargeItemName", width: 200, align: "left" }, | |||
{ label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left" }, | |||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | |||
{ | |||
label: "收费项目类型", name: "ChargeItemType", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ChargeItemType', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "是否审核", name: "CheckMark", width: 100, align: "left", | |||
formatter: function (cellvalue, rowObject) { | |||
return cellvalue == "1" ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; | |||
} | |||
} | |||
], | |||
isTree: true, | |||
mainId: 'TempId', | |||
parentId: 'ParentId', | |||
//mainId:'ChargeStandardID', | |||
isPage: true, | |||
sidx: 'MajorNo', | |||
sord: 'asc' | |||
//sidx: 'MajorNo asc ,ChargeItemCode asc', | |||
//sord: 'asc' | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.AcademicYearNo = academicYearNo; | |||
param.Semester = semester; | |||
param.SYear = sYear; | |||
param.Grade = grade; | |||
param.DeptNo = deptno; | |||
param.MajorNo = majorno; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
@@ -431,6 +431,8 @@ namespace Learun.Application.Web.Controllers | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
#if DEBUG | |||
#else | |||
//判断当前ip是否是123服务器,如果是123服务器,跳过授权验证 | |||
if (Net.GetLanIp() != "172.17.3.181") | |||
{ | |||
@@ -441,6 +443,7 @@ namespace Learun.Application.Web.Controllers | |||
return Content("<script>alert('" + lc.Message + "');location.href='/ShowRegister/Index';</script>"); | |||
} | |||
} | |||
#endif | |||
//return View("AdminTop"); | |||
string learn_UItheme = WebHelper.GetCookie("Learn_ADMS_V6.1_UItheme"); | |||
@@ -667,7 +670,7 @@ namespace Learun.Application.Web.Controllers | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#endregion | |||
private ICache cache = CacheFactory.CaChe(); | |||
@@ -209,6 +209,8 @@ namespace Learun.Application.Web.Controllers | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
#if DEBUG | |||
#else | |||
//判断当前ip是否是123服务器,如果是123服务器,跳过授权验证 | |||
if (Net.GetLanIp() != "172.17.3.181") | |||
{ | |||
@@ -219,6 +221,7 @@ namespace Learun.Application.Web.Controllers | |||
return Content("<script>alert('" + lc.Message + "');location.href='/ShowRegister/Index';</script>"); | |||
} | |||
} | |||
#endif | |||
//获取错误次数 | |||
ViewBag.errornum = OperatorHelper.Instance.GetCurrentErrorNum(); | |||
//获取高职版跳转地址 | |||
@@ -95,7 +95,11 @@ namespace Learun.Application.Web.Controllers | |||
case "listfile": | |||
return ListFileManager(UeditorConfig.GetString("fileManagerListPath"), UeditorConfig.GetStringList("fileManagerAllowFiles")); | |||
case "catchimage": | |||
return CrawlerHandler(); | |||
//return CrawlerHandler();存在漏洞 | |||
return Content(new | |||
{ | |||
state = "action 参数为空或者 action 不被支持。" | |||
}.ToJson()); | |||
default: | |||
return Content(new | |||
{ | |||
@@ -23,7 +23,7 @@ | |||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir> | |||
<RestorePackages>true</RestorePackages> | |||
<UseGlobalApplicationHostFile /> | |||
<Use64BitIISExpress /> | |||
<Use64BitIISExpress>false</Use64BitIISExpress> | |||
<SccProjectName> | |||
</SccProjectName> | |||
<SccLocalPath> | |||
@@ -316,6 +316,7 @@ | |||
<Compile Include="App_Start\01 Handler\MvcControllerBaseNoLogin.cs" /> | |||
<Compile Include="App_Start\01 Handler\MvcControllerBase.cs" /> | |||
<Compile Include="App_Start\01 Handler\ResultFillters.cs" /> | |||
<Compile Include="App_Start\01 Handler\FinaChargeOperatorHelper.cs" /> | |||
<Compile Include="App_Start\FilterConfig.cs" /> | |||
<Compile Include="App_Start\RouteConfig.cs" /> | |||
<Compile Include="App_Start\Startup.cs" /> | |||
@@ -885,6 +886,14 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\Exam_ArrangeExamTermItemNewController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ExamSubjectController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuInfoBasic_PayFeeController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStudentController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearItemController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuOrderController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuOrderDetailController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuBalanceController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeRefundController.cs" /> | |||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeLogController.cs" /> | |||
<Compile Include="Areas\PersonnelManagement\Controllers\Gz_ItemsController.cs" /> | |||
<Compile Include="Areas\PersonnelManagement\Controllers\Gz_AmountsController.cs" /> | |||
</ItemGroup> | |||
@@ -1195,6 +1204,7 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\Sys_SendFile\ReadListParty.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\Sys_SendFile\ReadListDocument.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ClassPlanTeach\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TeachSwitch\FinaCharge.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TextBookIndentDetail\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TextBookIndent\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TextBookIndent\FormDetail.js" /> | |||
@@ -1626,6 +1636,17 @@ | |||
<Content Include="Areas\PersonnelManagement\Views\WorkStudyPositionApply\Form.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\WorkStudyPositionApply\FormView.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\WorkStudyPositionApply\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\FormView.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargesStandard\Import.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Import.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\IndexForRefund.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\IndexForTeacher.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForTeacher.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForStudent.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\InvoiceForm.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\PayFeeForm.js" /> | |||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerIndex.js" /> | |||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerQuery.js" /> | |||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\Form.js" /> | |||
@@ -6638,6 +6659,38 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic_PayFee\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic_PayFee\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic_PayFee\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStudent\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStudent\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStudent\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStudent\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrderDetail\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrderDetail\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrderDetail\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrderDetail\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuBalance\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuBalance\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuBalance\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuBalance\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\Form.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeLog\Index.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeLog\Index.js" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeLog\Form.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeLog\Form.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Gz_Items\Index.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Gz_Items\Index.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Gz_Items\Form.cshtml" /> | |||
@@ -7946,6 +7999,21 @@ | |||
<Content Include="Content\excel\AccommodationImport.xls" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoFresh\ExcelImportPay.cshtml" /> | |||
<Content Include="Content\excel\OrderDetail.xls" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.cshtml" /> | |||
<Content Include="Content\excel\缴费明细.xls" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForStudent.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\PayFeeForm.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\InvoiceForm.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForTeacher.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\IndexForTeacher.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\IndexForRefund.cshtml" /> | |||
<Content Include="Content\excel\线下缴费记录.xls" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Import.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeRefund\FormView.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TeachSwitch\FinaCharge.cshtml" /> | |||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargesStandard\Import.cshtml" /> | |||
<Content Include="Content\excel\收费标准设置.xls" /> | |||
<Content Include="Areas\PersonnelManagement\Views\Gz_Amounts\GzImport.cshtml" /> | |||
<Content Include="Content\elementui\fonts\element-icons.ttf" /> | |||
<Content Include="Content\elementui\fonts\element-icons.woff" /> | |||
@@ -1,45 +1,5 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<connectionStrings> | |||
<!--本机--> | |||
<!--<add name="BaseDb" connectionString="Server=.;Initial Catalog=adms7ultimate2;User ID=sa;Password=1" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=.;Initial Catalog=CollegeMIS;User ID=sa;Password=1" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />--> | |||
<!--126--> | |||
<!--<add name="BaseDb" connectionString="Server=192.168.2.126;Initial Catalog=adms7ultimate2;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=192.168.2.126;Initial Catalog=CollegeMIS;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />--> | |||
<!--西昌--> | |||
<!--<add name="BaseDb" connectionString="Server=112.45.152.8;Initial Catalog=adms7ultimate2;User ID=sa;Password=qj@2018" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=112.45.152.8;Initial Catalog=NewCollegeMIS;User ID=sa;Password=qj@2018" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=112.45.152.8;Initial Catalog=HangFire;User ID=sa;Password=qj@2018" providerName="System.Data.SqlClient" />--> | |||
<!--demo.quanjiang.com--> | |||
<!--<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />--> | |||
<!--<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
--> | |||
<!--获取网上缴费数据--> | |||
<!-- | |||
<add name="IsPay" connectionString="Server=192.168.53.19;Initial Catalog=u8gx;User ID=jfcx;Password=xcyz1234567." providerName="System.Data.SqlClient" />--> | |||
<!--<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_20200403test;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_20200403test;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />--> | |||
<!--金隅--> | |||
<!--<add name="BaseDb" connectionString="Server=192.168.100.225;Initial Catalog=adms7ultimate2;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=192.168.100.225;Initial Catalog=CollegeMIS;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=192.168.100.225;Initial Catalog=Hangfire;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient" />--> | |||
<!--126西昌测试--> | |||
<!--<add name="BaseDb" connectionString="Server=192.168.2.126;Initial Catalog=adms7ultimate2_西昌;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=192.168.2.126;Initial Catalog=CollegeMIS_西昌;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />--> | |||
<!--测试公共提交--> | |||
<!--塔里木测试--> | |||
<!--<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_塔里木;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_塔里木;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />--> | |||
<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
@@ -13,7 +13,7 @@ | |||
<AppDesignerFolder>Properties</AppDesignerFolder> | |||
<RootNamespace>Learun.Application.WebApi</RootNamespace> | |||
<AssemblyName>Learun.Application.WebApi</AssemblyName> | |||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> | |||
<UseIISExpress>true</UseIISExpress> | |||
<IISExpressSSLPort /> | |||
<IISExpressAnonymousAuthentication /> | |||
@@ -107,7 +107,6 @@ | |||
<HintPath>..\packages\Oracle.ManagedDataAccess.EntityFramework.12.1.2400\lib\net45\Oracle.ManagedDataAccess.EntityFramework.dll</HintPath> | |||
</Reference> | |||
<Reference Include="System.Activities" /> | |||
<Reference Include="System.Data.DataSetExtensions" /> | |||
<Reference Include="System.Net.Http" /> | |||
<Reference Include="System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.4\lib\net45\System.Net.Http.Formatting.dll</HintPath> | |||
@@ -121,7 +120,6 @@ | |||
<Reference Include="System.ComponentModel.DataAnnotations" /> | |||
<Reference Include="System" /> | |||
<Reference Include="System.Data" /> | |||
<Reference Include="System.Web.Extensions" /> | |||
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath> | |||
</Reference> | |||
@@ -155,7 +153,6 @@ | |||
<Reference Include="System.Configuration" /> | |||
<Reference Include="System.Web.Services" /> | |||
<Reference Include="System.EnterpriseServices" /> | |||
<Reference Include="System.Xml.Linq" /> | |||
<Reference Include="ThoughtWorks.QRCode, Version=1.0.4778.30637, Culture=neutral, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\ThoughtWorks.QRCode.1.1.0\lib\ThoughtWorks.QRCode.dll</HintPath> | |||
</Reference> | |||
@@ -195,6 +192,7 @@ | |||
<ItemGroup> | |||
<Compile Include="Bootstraper.cs" /> | |||
<Compile Include="Modules\AnnexesApiWx.cs" /> | |||
<Compile Include="Modules\ReceiveSendFeeManagement\FinaChargeStuYearApi.cs" /> | |||
<Compile Include="Modules\EducationalAdministration\AddressBookApi.cs" /> | |||
<Compile Include="Modules\PersonnelManagement\GzAmountApi.cs" /> | |||
<Compile Include="Modules\StuFreshPayFeeApi.cs" /> | |||
@@ -363,6 +361,9 @@ | |||
<Analyzer Include="..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\cs\Microsoft.DependencyValidation.Analyzers.resources.dll" /> | |||
<Analyzer Include="..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\Microsoft.DependencyValidation.Analyzers.dll" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<WCFMetadata Include="Connected Services\" /> | |||
</ItemGroup> | |||
<PropertyGroup> | |||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> | |||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> | |||
@@ -0,0 +1,220 @@ | |||
using System; | |||
using Learun.Application.Organization; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using Learun.Application.TwoDevelopment.EvaluationTeach; | |||
using Learun.Util; | |||
using Nancy; | |||
using System.Collections.Generic; | |||
using System.Drawing; | |||
using System.IO; | |||
using System.Linq; | |||
using System.Security.Cryptography; | |||
using System.Text; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Application.TwoDevelopment.Ask; | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using Newtonsoft.Json; | |||
using ThoughtWorks.QRCode.Codec; | |||
namespace Learun.Application.WebApi.Modules | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创建人:数字化智慧校园-框架开发组 | |||
/// 日 期:2018.01.04 | |||
/// 描 述: | |||
/// </summary> | |||
public class FinaChargeStuYearApi : BaseApi | |||
{ | |||
private FinaChargeStuYearIBLL finaChargeStuYearIBLL = new FinaChargeStuYearBLL(); | |||
private FinaChargeStuOrderIBLL finaChargeStuOrderIbll = new FinaChargeStuOrderBLL(); | |||
private TeachSwitchIBLL teachSwitchIbll = new TeachSwitchBLL(); | |||
public FinaChargeStuYearApi() | |||
: base("/ReceiveSendFeeManagement/FinaChargeStuYearApi") | |||
{ | |||
Get["/getpayfeelist"] = GetPayfeeList;// 获取缴费列表 | |||
Get["/getpayfeeinfo"] = GetPayfeeInfo;//获取缴费明细 | |||
Post["/generateqrcode"] = PayFeeQRCode;//生成缴费二维码 | |||
Get["/getinvoice"] = GetInvoice;//获取发票 | |||
} | |||
public Response GetInvoice(dynamic _) | |||
{ | |||
string keyValue = Request.Query["keyValue"]; | |||
var list = finaChargeStuYearIBLL.GetStuInvoice(keyValue); | |||
return Success(list); | |||
} | |||
public Response GetPayfeeList(dynamic _) | |||
{ | |||
var eastatus = teachSwitchIbll.GetFirst("jf"); | |||
if (eastatus != null && eastatus.status == "1") | |||
{ | |||
ReqPageParam parameter = this.GetReqData<ReqPageParam>(); | |||
var data = finaChargeStuYearIBLL.GetPageList(parameter.pagination, parameter.queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = parameter.pagination.total, | |||
page = parameter.pagination.page, | |||
records = parameter.pagination.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
else | |||
{ | |||
return Fail("当前不在缴费时间范围"); | |||
} | |||
} | |||
public Response GetPayfeeInfo(dynamic _) | |||
{ | |||
string keyValue = Request.Query["keyValue"]; | |||
//学生基础信息 | |||
var FinaChargeStuYearData = finaChargeStuYearIBLL.GetFinaChargeStuYearEntity(keyValue); | |||
//学生缴费明细 | |||
var FinaChargeStuItemList = finaChargeStuYearIBLL.GetFinaChargeStuItemList(keyValue); | |||
var jsonData = new | |||
{ | |||
StuInfoFreshData = FinaChargeStuYearData, | |||
FinaChargesStandardList = FinaChargeStuItemList, | |||
PayFeeTotal =FinaChargeStuYearData.NeedToPay, | |||
SJAmount = FinaChargeStuYearData.SJAmount | |||
}; | |||
return Success(jsonData); | |||
} | |||
public class PayfeeRequest | |||
{ | |||
public string strEntity { get; set; } | |||
public string detailList { get; set; } | |||
} | |||
/// <summary> | |||
/// 生成缴费二维码 | |||
/// </summary> | |||
/// <returns></returns> | |||
public Response PayFeeQRCode(dynamic _) | |||
{ | |||
PayfeeRequest parameter = this.GetReqData<PayfeeRequest>(); | |||
FinaChargeStuYearEntity entity = parameter.strEntity.ToObject<FinaChargeStuYearEntity>(); | |||
List<FinaChargeStuOrderDetailEntity> list = parameter.detailList.ToObject<List<FinaChargeStuOrderDetailEntity>>(); | |||
var imgUrl = ""; | |||
Random ran = new Random(); | |||
string merchantid = "105000082201406";//商户号 | |||
string posid = "043724806";//商户柜台代码 | |||
string branchid = "510000000";//分行代码 | |||
string orderid = DateTime.Now.ToString("yyyyMMddhhmmss") + ran.Next(0, 100000); | |||
string payment = entity.PayMoney.ToString(); | |||
string curcode = "01"; | |||
string txcode = "530550"; | |||
string remark1 = entity.StuNo; | |||
string remark2 = entity.FSYear.ToString(); | |||
string returntype = "3"; | |||
string timeout = DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"); | |||
string pub32tr2 = "40d987faa793a0a27e7a86ef020111"; | |||
string bankURL = "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; | |||
string tmp = "MERCHANTID=" + merchantid + "&POSID=" + posid + "&BRANCHID=" + branchid + "&ORDERID=" + orderid; | |||
tmp += "&PAYMENT=" + payment + "&CURCODE=" + curcode + "&TXCODE=" + txcode + "&REMARK1=" + remark1; | |||
tmp += "&REMARK2=" + remark2 + "&RETURNTYPE=" + returntype + "&TIMEOUT=" + timeout; | |||
MD5 md5 = MD5.Create(); | |||
string tmp1 = tmp; | |||
tmp += "&PUB=" + pub32tr2; | |||
byte[] buffer = Encoding.Default.GetBytes(tmp); | |||
byte[] md5Buffer = md5.ComputeHash(buffer); | |||
string strMd5 = ""; | |||
//hdnOrderId.Value = orderid; | |||
foreach (byte item in md5Buffer) | |||
{ | |||
strMd5 += item.ToString("x2"); | |||
} | |||
String url = bankURL + "&" + tmp1 + "&MAC=" + strMd5; | |||
string reJson = HttpMethods.Post(url); | |||
LogEntity logEntity = new LogEntity(); | |||
logEntity.F_CategoryId = 121; | |||
logEntity.F_ExecuteResultJson = reJson; | |||
logEntity.WriteLog(); | |||
//HttpConnect conn = new HttpConnect(); | |||
//string reJson = conn.Post(url, ""); | |||
JsonBean MemberInfoList = JsonConvert.DeserializeObject<JsonBean>(reJson); | |||
if (MemberInfoList.SUCCESS.Equals("true")) | |||
{ | |||
string imgCode = HttpMethods.Post(MemberInfoList.PAYURL); | |||
logEntity.F_CategoryId = 121; | |||
logEntity.F_ExecuteResultJson = imgCode; | |||
logEntity.WriteLog(); | |||
MemberInfoList = JsonConvert.DeserializeObject<JsonBean>(imgCode); | |||
if (MemberInfoList.SUCCESS.Equals("true")) | |||
{ | |||
imgUrl = CreateQRImg(MemberInfoList.QRURL, orderid); | |||
} | |||
} | |||
if (!string.IsNullOrEmpty(imgUrl)) | |||
{ | |||
entity.orderid = orderid; | |||
finaChargeStuOrderIbll.SaveOrderData(entity, list); | |||
} | |||
var backimgUrl = new { imgUrl }; | |||
return Success(backimgUrl); | |||
} | |||
public class JsonBean | |||
{ | |||
/// <summary> | |||
/// | |||
/// </summary> | |||
public string SUCCESS { get; set; } | |||
public string PAYURL { get; set; } | |||
public string QRURL { get; set; } | |||
} | |||
/// <summary> | |||
/// 生成并保存二维码图片的方法 | |||
/// </summary> | |||
/// <param name="str">输入的内容</param> | |||
public string CreateQRImg(string str, string orderId) | |||
{ | |||
string QRCodeFile = Config.GetValue("QRCodeFile"); | |||
Random ran = new Random(); | |||
Bitmap bt; | |||
str = HttpUtility.UrlDecode(str); | |||
string enCodeString = str; | |||
//生成设置编码实例 | |||
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); | |||
//设置二维码的规模,默认4 | |||
qrCodeEncoder.QRCodeScale = 3; | |||
//设置二维码的版本,默认7 | |||
qrCodeEncoder.QRCodeVersion = 7; | |||
//设置错误校验级别,默认中等 | |||
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; | |||
//生成二维码图片 | |||
bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8); | |||
//二维码图片的名称 | |||
string filename = orderId; | |||
if (!DirFileHelper.IsExistFile(QRCodeFile + "/Content/images/QRCode/")) | |||
{ | |||
Directory.CreateDirectory(QRCodeFile + "/Content/images/QRCode/"); | |||
} | |||
var path = QRCodeFile + "/Content/images/QRCode/" + filename + ".jpg"; | |||
//保存二维码图片在photos路径下 | |||
try | |||
{ | |||
bt.Save(path); | |||
} | |||
catch (Exception ex) | |||
{ | |||
return ""; | |||
} | |||
//图片控件要显示的二维码图片路径 | |||
return "/Content/images/QRCode/" + filename + ".jpg"; | |||
} | |||
} | |||
} |
@@ -25,7 +25,7 @@ | |||
</system.Web> | |||
--> | |||
<system.web> | |||
<compilation debug="true" targetFramework="4.6.1" /> | |||
<compilation debug="true" targetFramework="4.6.2" /> | |||
<pages controlRenderingCompatibilityVersion="4.0" /> | |||
<!--最大请求长度,单位为KB(千字节),默认为4M,设置为1G,上限为2G --> | |||
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> | |||
@@ -222,6 +222,9 @@ | |||
<Analyzer Include="..\..\..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\cs\Microsoft.DependencyValidation.Analyzers.resources.dll" /> | |||
<Analyzer Include="..\..\..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\Microsoft.DependencyValidation.Analyzers.dll" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<WCFMetadata Include="Connected Services\" /> | |||
</ItemGroup> | |||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> | |||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||
@@ -588,6 +588,14 @@ | |||
<Compile Include="EducationalAdministration\Exam_ArrangeExamTermItemNewMap.cs" /> | |||
<Compile Include="EducationalAdministration\ExamSubjectMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuInfoBasic_PayFeeMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeLogMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStudentMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItemMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrderMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrderDetailMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuBalanceMap.cs" /> | |||
<Compile Include="ReceiveSendFeeManagement\FinaChargeRefundMap.cs" /> | |||
<Compile Include="PersonnelManagement\Gz_ItemsMap.cs" /> | |||
<Compile Include="PersonnelManagement\Gz_AmountsMap.cs" /> | |||
</ItemGroup> | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-20 16:06 | |||
/// 描 述:收费系统操作日志 | |||
/// </summary> | |||
public class FinaChargeLogMap : EntityTypeConfiguration<FinaChargeLogEntity> | |||
{ | |||
public FinaChargeLogMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGELOG"); | |||
//主键 | |||
this.HasKey(t => t.F_LogId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-18 18:07 | |||
/// 描 述:FinaChargeRefund | |||
/// </summary> | |||
public class FinaChargeRefundMap : EntityTypeConfiguration<FinaChargeRefundEntity> | |||
{ | |||
public FinaChargeRefundMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGEREFUND"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-16 11:02 | |||
/// 描 述:费用变更明细 | |||
/// </summary> | |||
public class FinaChargeStuBalanceMap : EntityTypeConfiguration<FinaChargeStuBalanceEntity> | |||
{ | |||
public FinaChargeStuBalanceMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUBALANCE"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-12 22:14 | |||
/// 描 述:FinaChargeStuOrderDetail | |||
/// </summary> | |||
public class FinaChargeStuOrderDetailMap : EntityTypeConfiguration<FinaChargeStuOrderDetailEntity> | |||
{ | |||
public FinaChargeStuOrderDetailMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUORDERDETAIL"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-12 22:06 | |||
/// 描 述:缴费订单管理 | |||
/// </summary> | |||
public class FinaChargeStuOrderMap : EntityTypeConfiguration<FinaChargeStuOrderEntity> | |||
{ | |||
public FinaChargeStuOrderMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUORDER"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-07 16:40 | |||
/// 描 述:FinaChargeStuYearItem | |||
/// </summary> | |||
public class FinaChargeStuYearItemMap : EntityTypeConfiguration<FinaChargeStuYearItemEntity> | |||
{ | |||
public FinaChargeStuYearItemMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUYEARITEM"); | |||
//主键 | |||
this.HasKey(t => t.FSYIId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-07 15:52 | |||
/// 描 述:学生年度缴费管理 | |||
/// </summary> | |||
public class FinaChargeStuYearMap : EntityTypeConfiguration<FinaChargeStuYearEntity> | |||
{ | |||
public FinaChargeStuYearMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUYEAR"); | |||
//主键 | |||
this.HasKey(t => t.FSYId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2023-08-06 17:09 | |||
/// 描 述:缴费学生信息 | |||
/// </summary> | |||
public class FinaChargeStudentMap : EntityTypeConfiguration<FinaChargeStudentEntity> | |||
{ | |||
public FinaChargeStudentMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("FINACHARGESTUDENT"); | |||
//主键 | |||
this.HasKey(t => t.FSId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||