RookeyFrame 搭建OA系统 (东莞黄江)【自带 工作流 自定义表单 表单设计器 权限组织架构 移动端 】持续更新中一

  1. 第一步 到 https://gitee.com/rookey/Rookey.Frame-v2.0
  2. 下载 作者最新版的 2.0 系统 本地部署

第二步 扩展原有 员工Model
[ModuleConfig(Name = “员工管理”, ModuleEditMode = (int)ModuleEditModeEnum.TabFormEdit, PrimaryKeyFields = “Code”, TitleKey = “Name”, StandardJsFolder = “OrgM”, Sort = 73 )]
public class OrgM_Emp : BaseOrgMEntity
{
#region 基础信息

    /// <summary>
    /// 员工编号
    /// </summary>
    [FieldConfig(Display = "工号", RowNum = 1, ColNum = 1, IsFrozen = true, IsRequired = true, IsUnique = true, GroupName = "基础信息", HeadSort = 0)]
    [StringLength(100)]
    public string Code { get; set; }

    /// <summary>
    /// 员工姓名
    /// </summary>
    [FieldConfig(Display = "姓名", RowNum = 1, ColNum = 2, IsFrozen = true, IsRequired = true, GroupName = "基础信息", HeadSort = 1)]
    [StringLength(100)]
    public string Name { get; set; }

    /// <summary>
    /// 英文名
    /// </summary>
    [FieldConfig(Display = "英文名", RowNum = 2, ColNum = 1, GroupName = "基础信息", HeadSort = 2)]
    [StringLength(100)]
    public string EName { get; set; }

    /// <summary>
    /// 性别
    /// </summary>
    [FieldConfig(Display = "性别", ControlType = (int)ControlTypeEnum.ComboBox, RowNum = 2, ColNum = 2, GroupName = "基础信息", HeadSort = 3)]
    public int Gender { get; set; }

    /// <summary>
    /// 员工性别(枚举类型)
    /// </summary>
    [Ignore]
    public GenderEnum GenderOfEnum
    {
        get
        {
            return (GenderEnum)Enum.Parse(typeof(GenderEnum), Gender.ToString());
        }
        set { Gender = (int)value; }
    }

    /// <summary>
    /// 出生日期
    /// </summary>
    [FieldConfig(Display = "出生日期", ControlType = (int)ControlTypeEnum.DateBox, RowNum = 3, ColNum = 1, GroupName = "基础信息", HeadSort = 4)]
    public DateTime? BirthdayDate { get; set; }

    #endregion

    #region 联系方式
    /// <summary>
    /// 移动电话
    /// </summary>
    [FieldConfig(Display = "移动电话", ControlType = (int)ControlTypeEnum.TextBox, RowNum = 4, ColNum = 1, GroupName = "联系方式", HeadSort = 5)]
    public string Mobile { get; set; }

    /// <summary>
    /// 办公电话
    /// </summary>
    [FieldConfig(Display = "分机号码", ControlType = (int)ControlTypeEnum.TextBox, RowNum = 4, ColNum = 2, GroupName = "联系方式", HeadSort = 6)]
    public string OfficePhone { get; set; }


    /// <summary>
    /// 电子邮箱
    /// </summary>
    [FieldConfig(Display = "电子邮箱", ControlType = (int)ControlTypeEnum.TextBox, RowNum = 5, ColNum = 1, GroupName = "联系方式", HeadSort = 7)]
    public string Email { get; set; }



    /// <summary>
    /// 短号
    /// </summary>
    [FieldConfig(Display = "短号", ControlType = (int)ControlTypeEnum.TextBox, RowNum = 5, ColNum = 2, GroupName = "联系方式", HeadSort = 8)]
    public string ShortCode { get; set; }

    #endregion

    #region 状态信息
    /// <summary>
    /// 员工状态
    /// </summary>
    [FieldConfig(Display = "员工状态", ControlType = (int)ControlTypeEnum.ComboBox, RowNum = 6, ColNum = 1, GroupName = "状态信息", HeadSort = 9)]
    public int EmpStatus { get; set; }

    /// <summary>
    /// 员工状态(枚举类型)
    /// </summary>
    [Ignore]
    public EmpStatusEnum EmpStatusOfEnum
    {
        get
        {
            return (EmpStatusEnum)Enum.Parse(typeof(EmpStatusEnum), EmpStatus.ToString());
        }
        set { EmpStatus = (int)value; }
    }

    /// <summary>
    /// 员工类型
    /// </summary>
    [FieldConfig(Display = "员工类型", ControlType = (int)ControlTypeEnum.ComboBox, RowNum = 6, ColNum = 2, GroupName = "状态信息", HeadSort = 9)]
    public int EmployeeType { get; set; }

    /// <summary>
    /// 员工类型(枚举类型)
    /// </summary>
    [Ignore]
    public EmployeeTypeEnum EmployeeTypeOfEnum
    {
        get
        {
            return (EmployeeTypeEnum)Enum.Parse(typeof(EmployeeTypeEnum), EmployeeType.ToString());
        }
        set { EmployeeType = (int)value; }
    }

    #endregion

    #region 其他
    /// <summary>
    /// 部门ID
    /// </summary>
    [Ignore]
    public Guid? DeptId { get; set; }

    /// <summary>
    /// 部门名称
    /// </summary>
    [Ignore]
    public string DeptName { get; set; }

    /// <summary>
    /// 职务ID
    /// </summary>
    [Ignore]
    public Guid? DutyId { get; set; }

    /// <summary>
    /// 职务名称
    /// </summary>
    [Ignore]
    public string DutyName { get; set; }

    /// <summary>
    /// 自定义字段1
    /// </summary>
    [NoField]
    [StringLength(100)]
    public string F1 { get; set; }

    /// <summary>
    /// 自定义字段2
    /// </summary>
    [NoField]
    [StringLength(100)]
    public string F2 { get; set; }

    /// <summary>
    /// 自定义字段3
    /// </summary>
    [NoField]
    [StringLength(100)]
    public string F3 { get; set; }
    #endregion
}

扩展的目的 是让其 与后期的通讯录 可以同步使用

第三部 改造 登录注册方式 (让新添加的员工 就具备以工号为 账号 并初始密码为 123456)
那样员工 登录后就可以 申请一些流程 比如请假,出差 , 派车 等等
找到 Web.Config 下面
App.Setting
在这里插入图片描述
稍做配置 就可以了
最开始 我并不清楚 自己写触发过程 同步 ,后面发现同步后多了 几个null 用户
系统 自带此类功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lisuyan0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值