diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs
index 28166cfc8..079f0848b 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs
@@ -382,6 +382,54 @@ namespace Learun.Application.Organization
}
}
}
+
+ ///
+ /// 用户列表(导出Excel)【家长】
+ ///
+ ///
+ public void GetExportListOfFamily()
+ {
+ try
+ {
+ //取出数据源
+ DataTable exportTable = userService.GetExportListOfFamily();
+ //设置导出格式
+ ExcelConfig excelconfig = new ExcelConfig();
+ excelconfig.Title = "家长用户导出";
+ excelconfig.TitleFont = "微软雅黑";
+ excelconfig.TitlePoint = 25;
+ excelconfig.FileName = "家长用户导出.xls";
+ excelconfig.IsAllSizeColumn = true;
+ //每一列的设置,没有设置的列信息,系统将按datatable中的列名导出
+ excelconfig.ColumnEntity = new List();
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_account", ExcelColumn = "账户" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_realname", ExcelColumn = "姓名" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_gender", ExcelColumn = "性别" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_birthday", ExcelColumn = "生日" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_mobile", ExcelColumn = "手机" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_telephone", ExcelColumn = "电话" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_wechat", ExcelColumn = "微信" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_company", ExcelColumn = "学校" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_department", ExcelColumn = "系部" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_description", ExcelColumn = "说明" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_createdate", ExcelColumn = "创建日期" });
+ excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_createusername", ExcelColumn = "创建人" });
+ //调用导出方法
+ ExcelHelper.ExcelDownload(exportTable, excelconfig);
+ }
+ catch (Exception ex)
+ {
+ if (ex is ExceptionEx)
+ {
+ throw;
+ }
+ else
+ {
+ throw ExceptionEx.ThrowBusinessException(ex);
+ }
+ }
+ }
+
///
/// 获取实体,通过用户账号
///
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs
index fe666353f..cf230db1b 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs
@@ -70,6 +70,11 @@ namespace Learun.Application.Organization
///
void GetExportListOfStudent();
///
+ /// 用户列表(导出Excel)【家长】
+ ///
+ ///
+ void GetExportListOfFamily();
+ ///
/// 获取实体,通过用户账号
///
/// 用户账号
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs
index fd8eeb15c..3ed0a7ba5 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs
@@ -304,6 +304,45 @@ namespace Learun.Application.Organization
}
}
}
+
+ ///
+ /// 用户列表(导出Excel)【家长】
+ ///
+ ///
+ public DataTable GetExportListOfFamily()
+ {
+ try
+ {
+ var strSql = new StringBuilder();
+ strSql.Append(@"SELECT u.F_Account
+ ,u.F_RealName
+ ,CASE WHEN u.F_Gender=1 THEN '男' ELSE '女' END AS F_Gender
+ ,u.F_Birthday
+ ,u.F_Mobile
+ ,u.F_Telephone
+ ,u.F_WeChat
+ ,o.F_FullName AS F_Company
+ ,u.F_DepartmentId AS F_Department
+ ,u.F_Description
+ ,u.F_CreateDate
+ ,u.F_CreateUserName
+ FROM LR_Base_User u
+ INNER JOIN LR_Base_Company o ON u.F_CompanyId=o.F_CompanyId
+ WHERE u.F_DeleteMark = 0 and u.F_Description = '家长'");
+ return this.BaseRepository().FindTable(strSql.ToString());
+ }
+ catch (Exception ex)
+ {
+ if (ex is ExceptionEx)
+ {
+ throw;
+ }
+ else
+ {
+ throw ExceptionEx.ThrowServiceException(ex);
+ }
+ }
+ }
///
/// 用户实体
///
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs
index e11189411..e56939f12 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Controllers/UserController.cs
@@ -415,6 +415,16 @@ namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers
userIBLL.GetExportListOfStudent();
return Success("导出成功。");
}
+ ///
+ /// 导出用户列表【家长】
+ ///
+ ///
+ [HttpGet]
+ public ActionResult ExportUserListOfFamily()
+ {
+ userIBLL.GetExportListOfFamily();
+ return Success("导出成功。");
+ }
#endregion
#region 验证数据
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.cshtml
new file mode 100644
index 000000000..f28b56fa5
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.cshtml
@@ -0,0 +1,75 @@
+@{
+ ViewBag.Title = "家长用户管理";
+ Layout = "~/Views/Shared/_Index.cshtml";
+}
+
+
+
+
+
+ 未选择校区 - 用户信息
+
+
+
+
+
+
+
+
+
+@Html.AppendJsFile("/Areas/LR_OrganizationModule/Views/User/FamilyIndex.js")
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.js
new file mode 100644
index 000000000..2c0c93828
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_OrganizationModule/Views/User/FamilyIndex.js
@@ -0,0 +1,335 @@
+var selectedRow;
+var refreshGirdData;
+var bootstrap = function ($, learun) {
+ "use strict";
+ var companyId = '';
+ var departmentId = '';
+
+ var page = {
+ init: function () {
+ page.inittree();
+ page.initGrid();
+ page.bind();
+ },
+ bind: function () {
+ // 查询
+ $('#btn_Search').on('click', function () {
+ var keyword = $('#txt_Keyword').val();
+ page.search({ keyword: keyword });
+ });
+ // 系选择
+ $('#department_select').lrselect({
+ value: "deptno",
+ text: "deptname",
+ url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo',
+ placeholder: '请选择系',
+ // 是否允许搜索
+ allowSearch: true,
+ select: function (item) {
+ if (!item || item.value == '-1') {
+ departmentId = '';
+ }
+ else {
+ departmentId = item.deptno;
+ }
+ page.search();
+ }
+ });
+
+ // 刷新
+ $('#lr_refresh').on('click', function () {
+ location.reload();
+ });
+ //// 新增
+ //$('#lr_add').on('click', function () {
+ // if (!companyId) {
+ // learun.alert.warning('请选择公司!');
+ // return false;
+ // }
+ // selectedRow = null;
+ // learun.layerForm({
+ // id: 'form',
+ // title: '添加账号',
+ // url: top.$.rootUrl + '/LR_OrganizationModule/User/Form?companyId=' + companyId,
+ // width: 750,
+ // height: 450,
+ // callBack: function (id) {
+ // return top[id].acceptClick(refreshGirdData);
+ // }
+ // });
+ //});
+ //// 编辑
+ //$('#lr_edit').on('click', function () {
+ // var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ // selectedRow = $('#gridtable').jfGridGet('rowdata')[0];
+ // if (learun.checkrow(keyValue)) {
+ // if (keyValue.indexOf(',') != -1) {
+ // learun.alert.warning('只能选择一条数据!');
+ // return;
+ // }
+ // learun.layerForm({
+ // id: 'form',
+ // title: '编辑账号',
+ // url: top.$.rootUrl + '/LR_OrganizationModule/User/Form?companyId=' + companyId,
+ // width: 750,
+ // height: 450,
+ // callBack: function (id) {
+ // return top[id].acceptClick(refreshGirdData);
+ // }
+ // });
+ // }
+ //});
+ // 删除
+ $('#lr_delete').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ learun.layerConfirm('是否确认删除该项!', function (res) {
+ if (res) {
+ learun.deleteForm(top.$.rootUrl + '/LR_OrganizationModule/User/DeleteForm', { keyValue: keyValue }, function () {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+ // 用户数据导出
+ $('#lr_export').on('click', function () {
+ location.href = top.$.rootUrl + "/LR_OrganizationModule/User/ExportUserListOfFamily";
+ });
+ // 启用
+ $('#lr_enabled').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ if (keyValue.indexOf(',') != -1) {
+ learun.alert.warning('只能选择一条数据!');
+ return;
+ }
+ learun.layerConfirm('是否确认要【启用】账号!', function (res) {
+ if (res) {
+ learun.postForm(top.$.rootUrl + '/LR_OrganizationModule/User/UpdateState', { keyValue: keyValue, state: 1 }, function () {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+ // 禁用
+ $('#lr_disabled').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ if (keyValue.indexOf(',') != -1) {
+ learun.alert.warning('只能选择一条数据!');
+ return;
+ }
+ learun.layerConfirm('是否确认要【禁用】账号!', function (res) {
+ if (res) {
+ learun.postForm(top.$.rootUrl + '/LR_OrganizationModule/User/UpdateState', { keyValue: keyValue, state: 0 }, function () {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+ // 重置账号
+ $('#lr_resetpassword').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ learun.layerConfirm('是否确认要【重置密码】!', function (res) {
+ if (res) {
+ learun.postForm(top.$.rootUrl + '/LR_OrganizationModule/User/ResetPassword', { keyValue: keyValue }, function () {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+ // 重置密码(八位)
+ $('#lr_resetpasswordeight').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ learun.layerConfirm('是否确认要【重置密码(八位)】!', function (res) {
+ if (res) {
+ learun.postForm(top.$.rootUrl + '/LR_OrganizationModule/User/ResetPasswordEight', { keyValue: keyValue }, function () {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+ // 功能授权
+ $('#lr_authorize').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ selectedRow = $('#gridtable').jfGridGet('rowdata')[0];
+ if (learun.checkrow(keyValue)) {
+ if (keyValue.indexOf(',') != -1) {
+ learun.alert.warning('只能选择一条数据!');
+ return;
+ }
+ learun.layerForm({
+ id: 'authorizeForm',
+ title: '功能授权 - ' + selectedRow.F_RealName,
+ url: top.$.rootUrl + '/LR_AuthorizeModule/Authorize/Form?objectId=' + keyValue + '&objectType=2',
+ width: 550,
+ height: 690,
+ btn: null
+ });
+ }
+ });
+ // 移动功能授权
+ $('#lr_appauthorize').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ selectedRow = $('#gridtable').jfGridGet('rowdata')[0];
+ if (learun.checkrow(keyValue)) {
+ if (keyValue.indexOf(',') != -1) {
+ learun.alert.warning('只能选择一条数据!');
+ return;
+ }
+ learun.layerForm({
+ id: 'appAuthorizeForm',
+ title: '移动功能授权 - ' + selectedRow.F_RealName,
+ url: top.$.rootUrl + '/LR_AuthorizeModule/Authorize/AppForm?objectId=' + keyValue + '&objectType=2',
+ width: 550,
+ height: 690,
+ callBack: function (id) {
+ return top[id].acceptClick();
+ }
+ });
+ }
+ });
+ // 数据授权
+ $('#lr_dataauthorize').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ selectedRow = $('#gridtable').jfGridGet('rowdata')[0];
+ if (learun.checkrow(keyValue)) {
+ if (keyValue.indexOf(',') != -1) {
+ learun.alert.warning('只能选择一条数据!');
+ return;
+ }
+ learun.layerForm({
+ id: 'dataAuthorizeForm',
+ title: '数据授权 - ' + selectedRow.F_RealName,
+ url: top.$.rootUrl + '/LR_AuthorizeModule/DataAuthorize/Index?objectId=' + keyValue + '&objectType=2',
+ width: 1100,
+ height: 700,
+ maxmin: true,
+ btn: null
+ });
+ }
+ });
+ //学生角色批量添加
+ //$("#lr_addRelation").on('click', function () {
+ // learun.getForm(top.$.rootUrl + '/LR_OrganizationModule/User/ResetStudentRelation', function () {
+ // refreshGirdData();
+ // });
+
+ //});
+
+ // 解绑微信
+ $('#lr_cancelweixinbind').on('click', function () {
+ var keyValue = $('#gridtable').jfGridValue('F_UserId');
+ if (learun.checkrow(keyValue)) {
+ learun.layerConfirm('是否确认要【解绑微信】!', function (res) {
+ if (res) {
+ learun.postForm(top.$.rootUrl + '/Home/CancelWeiXinBind', { keyValue: keyValue }, function (data) {
+ refreshGirdData();
+ });
+ }
+ });
+ }
+ });
+
+ $("#lr_closeuser1").on('click', function () {
+ learun.alert.success('禁用成功');
+ })
+ $("#lr_closeuser2").on('click', function () {
+ learun.alert.success('禁用成功');
+ })
+ $("#lr_closeuser3").on('click', function () {
+ learun.alert.success('禁用成功');
+ })
+ },
+ inittree: function () {
+ $('#companyTree').lrtree({
+ url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetTree',
+ param: { parentId: '0' },
+ nodeClick: page.treeNodeClick
+ });
+ $('#companyTree').lrtreeSet('setValue', '53298b7a-404c-4337-aa7f-80b2a4ca6681');
+ },
+ treeNodeClick: function (item) {
+ companyId = item.id;
+ $('#titleinfo').text(item.text);
+
+ $('#department_select').lrselectRefresh({
+ // 访问数据接口地址
+ url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo'
+ });
+ departmentId = '';
+ page.search();
+ },
+ initGrid: function () {
+ $('#gridtable').lrAuthorizeJfGrid({
+ url: top.$.rootUrl + '/LR_OrganizationModule/User/GetPageList',
+ headData: [
+ { label: '账户', name: 'F_Account', width: 100, align: 'left' },
+ { label: '姓名', name: 'F_RealName', width: 160, align: 'left' },
+ { label: '手机', name: 'F_Mobile', width: 100, align: 'center' },
+ {
+ label: '系部', name: 'F_DepartmentId', 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: "F_EnabledMark", index: "F_EnabledMark", width: 50, align: "center",
+ formatter: function (cellvalue) {
+ if (cellvalue == 1) {
+ return '正常';
+ } else if (cellvalue == 0) {
+ return '禁用';
+ }
+ }
+ },
+ {
+ label: "最后登录时间", name: "F_UserId_Log", width: 200, align: "left", formatterAsync: function (callback, value, row) {
+ learun.httpAsyncGet(top.$.rootUrl + '/LR_OrganizationModule/User/GetLastLoginTime?userId=' + value, function (res) {
+ if (res.code == learun.httpCode.success) {
+ callback(res.data);
+ }
+ });
+ }
+ },
+ { label: "备注", name: "F_Description", index: "F_Description", width: 200, align: "left" }
+
+ ],
+ isPage: true,
+ reloadSelected: true,
+ mainId: 'F_UserId',
+ isMultiselect: true
+ });
+ },
+ search: function (param) {
+ param = param || {};
+ param.companyId = companyId;
+ param.departmentId = departmentId;
+ param.tp = "1";
+ $('#gridtable').jfGridSet('reload', param);
+ }
+ };
+
+ refreshGirdData = function () {
+ var keyword = $('#txt_Keyword').val();
+ page.search({ keyword: keyword });
+ };
+
+ page.init();
+}
+
+
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
index c7404e952..079f36df8 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
@@ -1174,6 +1174,7 @@
+
@@ -6994,6 +6995,7 @@
+