#### MailTable.setTableData(JSONObject tableData)
```js
tableData = {
formBoxType: "form_boxB", // 表格类型:Bform_boxA、form_boxB、form_boxC、form_boxD, 默认为 form_box
headerHtml: "This is a list of employee info", // 默认为空(可为html)
infoHtml: "You must check it and reply to me in two days from now on", // 默认为空(可为html)
tableHeader: ["序号", "姓名", "职务", "入职时间", "升职时间"], // 默认为空(JSONArray、Array)
tableRowData: [// 默认为空(JSONArray、Array)
["黎令魁1", "助理工程师1", "1998-01-01", "lilingkui@xinpoint.com"],
["黎令魁2", "助理工程师2", "1998-01-02", "lilingkui@xinpoint.com"],
["黎令魁3", "助理工程师3", "1998-01-03", "lilingkui@xinpoint.com"],
["黎令魁4", "助理工程师4", "1998-01-04", "lilingkui@xinpoint.com"],
["黎令魁5", "助理工程师5", "1998-01-05", "lilingkui@xinpoint.com"]
],
bottomHTML: "2022年6月18日21:13:00",// 可为html
footerHTML: "XinPoint" // 默认为 <a title='oa.xinpoint.com' href='https://oa.xinpoint.com'>XinPoint-OA</a>
}
```
#### MailTable.getHtmlMailStr() 最后将得到以下类似的html代码
```html
<style>
html,body{margin:0px;padding:0px;height:100%;line-height:100%;width:100%;border:none}
.f_cA{color:#1fbba6}
.f_cB{color:#e32727}
.f_cC{color:#3085be}
.f_cD{color:#4a91b9}
.msg{padding:10px 0px 10px 10px;color:#414141;font-size:12px}
address{text-align:center;font-style:normal;line-height:1.8em;color:#999;border-top:#dfe4e7 solid 1px;padding:20px 0px}
address span{color:#8c9bc1;padding-right:45px}
#Contents{padding:25px 20px 25px 20px;height:auto;overflow:auto}
#BtmMain .ttl{font-size:16px;float:left;padding:8px 20px 0px 0px}
#MainForm{background-color:#FFF;-webkit-box-shadow:#e0e0e0 0px 0px 10px;-moz-box-shadow:#e0e0e0 0px 0px 10px;box-shadow:#e0e0e0 0px 0px 10px;clear:both}
#MainForm h2{background-color:#f9f9f9;font-size:16px;padding:15px 20px 12px 20px;color:#333;font-weight:normal;border-bottom:#e8e8e8 solid 1px}
.form_boxA{}
.form_boxA table{width:100%}
.form_boxA th{border-bottom:#e3e3e3 solid 2px;text-align:center;font-size:14px;padding:10px 0px}
.form_boxA td{border-bottom:#e3e3e3 solid 1px;text-align:center;font-size:12px;padding:8px 15px}
.form_boxA a{color:#3085be;text-decoration:none}
.form_boxA a:hover{color:#1e628f;text-decoration:underline}
.info_boxA{text-align:left !important;font-size:16px;font-weight:bold;padding-left:20px !important;border-right:none !important}
.form_boxB{}
.form_boxB table{width:100%}
.form_boxB th{border-bottom:#e3e3e3 solid 2px;text-align:center;font-size:14px;padding:10px 0px}
.form_boxB td{border-bottom:#e3e3e3 solid 1px;border-right:#e3e3e3 solid 1px;text-align:center;font-size:12px;padding:8px 15px}
.form_boxB td.last{border-right:none !important}
.form_boxB a{color:#3085be;text-decoration:none}
.form_boxB a:hover{color:#1e628f;text-decoration:underline}
.info_boxB{text-align:left !important;font-size:16px;font-weight:bold;padding-left:20px !important;border-right:none !important}
.btn_boxB{-webkit-box-shadow:#e0e0e0 0px 0px 10px;-moz-box-shadow:#e0e0e0 0px 0px 10px;box-shadow:#e0e0e0 0px 0px 10px}
.btn_boxB input{height:33px;line-height:33px;vertical-align:middle;border:none;font-size:16px;background-color:#888;padding:0px 10px;color:#FFF;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;cursor:pointer
.form_boxC{padding:0px 20px}
.form_boxC th{font-size:14px;font-weight:normal;text-align:left;padding:5px 15px 5px 0px}
.form_boxC td{font-size:12px;padding:5px 0px}
.form_boxD{padding:0px 20px}
.form_boxD th{font-size:14px;font-weight:normal;text-align:left;padding:5px 15px 5px 0px;border-top:#e3e3e3 solid 1px}
.form_boxD td{font-size:12px;padding:5px 0px;border-top:#e3e3e3 solid 1px}
.form_boxD tr.ttl th{border-bottom:#CCC solid 1px;border-top:none !important}
.txtbox{padding:3px;background-color:#FFF;-webkit-box-shadow:#e0e0e0 0px 0px 10px;-moz-box-shadow:#e0e0e0 0px 0px 10px;box-shadow:#e0e0e0 0px 0px 10px}
.txtbox input{border:none;height:29px;line-height:29px;float:left;font-size:16px;padding:0px 10px}
.txtbox textarea{border:none;font-size:16px;padding:10px}
.btn_box {-webkit-box-shadow:#e0e0e0 0px 0px 10px;-moz-box-shadow:#e0e0e0 0px 0px 10px;box-shadow:#e0e0e0 0px 0px 10px}
.btn_box input{height:33px;line-height:33px;vertical-align:middle;border:none;font-size:16px;background-color:#1fbba6;padding:0px 10px;color:#FFF;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;cursor:pointer}
</style>
<!-- Contents -->
<div id="Contents">
<!-- MainForm -->
<div id="MainForm">
<div class="form_boxA">
<h2>This Is A List</h2>
<table>
<tr>
<td colspan="10" class="info_boxA">You Must Check It And Reply To Me In Time</td>
</tr>
<tr>
<th>姓名</th> <th>职位</th> <th>入职时间</th> <th>邮箱</th>
</tr>
<tr><td>黎令魁1</td><td>助理工程师1</td><td>1998-01-01</td><td class='last'><a title='Click To Send Email' href='Mailto:lilingkui@xinpoint.com'>lilingkui@xinpoint.com</a></td></tr><tr><td>黎令魁2</td><td>助理工程师2</td><td>1998-01-02</td><td class='last'><a title='Click To Send Email' href='Mailto:lilingkui@xinpoint.com'>lilingkui@xinpoint.com</a></td></tr><tr><td>黎令魁3</td><td>助理工程师3</td><td>1998-01-03</td><td class='last'><a title='Click To Send Email' href='Mailto:lilingkui@xinpoint.com'>lilingkui@xinpoint.com</a></td></tr><tr><td>黎令魁4</td><td>助理工程师4</td><td>1998-01-04</td><td class='last'><a title='Click To Send Email' href='Mailto:lilingkui@xinpoint.com'>lilingkui@xinpoint.com</a></td></tr><tr><td>黎令魁5</td><td>助理工程师5</td><td>1998-01-05</td><td class='last'><a title='Click To Send Email' href='Mailto:lilingkui@xinpoint.com'>lilingkui@xinpoint.com</a></td></tr>
</table>
<div class="msg">制表时间:2022年6月19日15:55:17</div>
</div>
</div>
<!-- /MainForm -->
</div>
<!-- /Contents -->
<!-- /footer -->
<footer>
<address><a title='oa.xinpoint.com' href='https://oa.xinpoint.com'>XinPoint-OA</a></address>
</footer>
<!-- /footer -->
```
个人开源项目 / XP-EKP部分代码
需积分: 0 145 浏览量
更新于2022-10-24
1
收藏 1.88MB ZIP 举报
在IT行业中,开源项目是推动技术创新和发展的重要力量。"个人开源项目 / XP-EKP部分代码"就是一个这样的贡献,它提供了一套针对ekp系统进行二次开发的完整源代码。ekp,全称可能是Enterprise Knowledge Platform(企业知识平台),通常是一个用于管理和分享企业内部知识的系统。这个开源项目为开发者提供了深入理解和定制ekp的功能,让企业能够根据自身需求打造个性化的知识管理解决方案。
在"XP-EKP部分代码"这个压缩包中,我们可以期待找到以下几个关键的知识点:
1. **ekp架构**:你需要了解ekp的基础架构,包括它的模块划分、数据模型以及工作流程。这将帮助你理解源码的组织结构和功能分布。
2. **编程语言和框架**:开源项目可能基于特定的编程语言,如Java、Python或JavaScript,以及某种Web开发框架,如Spring Boot或Django。了解这些基础将使你能够更好地阅读和修改代码。
3. **数据库交互**:ekp作为知识管理平台,可能会涉及数据库操作,比如MySQL、MongoDB等。学习如何与数据库进行交互,包括查询、插入、更新和删除数据,是理解源码中的数据库访问层的关键。
4. **API接口设计**:如果ekp支持与其他系统集成,那么API接口设计就很重要。通过阅读源码,你可以学习如何定义RESTful API,以及如何处理请求和响应。
5. **权限与安全**:企业级应用通常需要有严谨的权限控制和安全机制。源码可能包含用户认证、授权和会话管理的相关实现,这些都是二次开发时必须考虑的方面。
6. **前端技术**:ekp的用户界面可能涉及到HTML、CSS和JavaScript,或者使用React、Vue等现代前端框架。学习这些前端技术能让你理解用户交互的实现。
7. **版本控制与协作**:开源项目通常使用Git进行版本控制,因此熟悉Git命令和协作模式也是必要的。
8. **文档与注释**:良好的源码应该配有详尽的文档和注释,这有助于开发者理解代码的意图和工作方式。阅读源码的同时,不要忽视这些注释和文档。
9. **测试与调试**:ekp的源码可能包含单元测试和集成测试,学习如何编写和执行测试,以及如何利用调试工具定位问题,是提高代码质量的重要步骤。
10. **持续集成/持续部署(CI/CD)**:如果项目采用CI/CD流程,如Jenkins或GitHub Actions,了解其工作原理和配置将有利于项目的维护和升级。
"XP-EKP部分代码"提供了丰富的学习资源,涵盖了软件开发的多个层面,无论是对于ekp的定制化开发,还是提升个人技能,都是宝贵的资料。通过深入研究和实践,你可以更深入地理解企业知识平台的构建,并且提升自己的编程和项目管理能力。
Liquid-Li
- 粉丝: 953
- 资源: 10
最新资源
- 滑膜控制与模糊规则融合的后轮主动稳定控制策略:协同稳定性与轨迹跟踪优化,基于滑膜控制的后轮主动(ARS)和DYC的协调稳定性控制,上层根据模糊控制规则和滑膜控制产生期望后轮转角ARS和附加横摆力矩Mz
- 四旋翼ADRC控制器仿真结果详解:C语言代码生成与单片机运行研究指南,四旋翼ADRC控制器仿真,已调好 已经生成C语言了,要放到单片机运行的伙伴可以拿去研究 ,四旋翼; ADRC控制器; 仿真;
- 基于二次规划(QP)的Piecesie Jerk路径规划与速度规划Matlab实现与详细文档和C++实现可视化界面,基于二次规划(QP)的路径规划和速度规划 matlab代码实现 + 详细文档 pic
- 单相单极性SPWM调制电压型逆变器的仿真研究:自定义载波与调制波参数及调制比功能探究,单相单极性SPWM调制的电压型逆变仿真 自己搭建的单极性SPWM发波模块,可以方便的设置载波和调制波频率,以及调
- 三相PWM整流器闭环仿真研究:电压电流双闭环控制下的SVPWM与升压拓扑模型分析,三相PWM整流器闭环仿真,电压电流双闭环控制,输出直流电压做外环 模型中包含主电路,坐标变,电压电流双环PI控制器,S
- 基于容积卡尔曼滤波与滑膜控制的永磁同步电机无传感器控制技术研究:状态估计与控制精度提升的实践研究,基于容积卡尔曼以及滑膜控制的的永磁同步电机无传感器控制,无传感器采用的是容积卡尔曼滤波对转速及转子位置
- DSP28335与FPGA SPI通信:C语言与Verilog代码的联合实现,DSP28335与FPGA进行SPI通信,DSP为C语言代码,FPGA为verilog代码 ,核心关键词:DSP28335
- 磁耦合谐振式无线电能传输电路系统板LCC-S拓扑补偿网络:STM32主控与ESP通讯的电能传输与显示方案,磁耦合谐振式 无线电能传输电路系统板 LCC-S拓扑补偿网络 发射端电路采用Stm32f103
- 自动驾驶纵向控制:Apollo双PID纵向位置跟踪技术解析与实现,自动驾驶纵向控制-复现Apollo双pid纵向位置跟踪 复现百度apollo纵向控制 纵向控制已经制作好油门刹车标定表,无需自己做标定
- 基于Multisim仿真的水箱水位检测控制系统设计与实现:实时监测、分级控制及越线警报系统,数电设计水箱水位检测控制系统multisim仿真+设计报告+ 水箱水位控制系统仿真功能: 1.在水箱内的不同
- 基于模型图的风储调频和储能调频技术真实应用与实践探索,风储调频,储能调频,保证真实,模型如图,保证正常使用 ,风储调频; 储能调频; 真实保证; 模型; 正常使用,"风储调频与储能保障系统:真实可靠
- Prius 2004永磁同步电机设计详解:从设计程序到建模仿真与温升分析,Prius2004永磁同步电机设计报告: 磁路法、maxwell有限元法、MotorCAD温仿真、应力分析 (内容比较完善
- "COMSOL模拟随机裂隙注浆:浆液粘度影响下的扩散研究",comsol模拟随机裂隙注浆,浆液在多孔介质和裂隙中扩散,考虑浆液粘度时变性 ,关键词:Comsol模拟;随机裂隙注浆;浆液扩散;多孔介质
- 铅酸电池失效仿真模拟:COMSOL多物理场分析软件的应用探索,铅酸电池失效仿真comsol ,核心关键词:铅酸电池失效仿真; comsol; 电池仿真; 失效模式; 铅酸电池性能 ,"基于Comsol
- Cruise与Simulink联合仿真:纯电动汽车动力经济性研究,含BMS策略、再生制动及电机驱动详解,纯电动汽车动力经济性仿真,Cruise和Simulink联合仿真,提供Cruise整车模型和si
- "改进蚁群算法与动态窗口算法融合全局与局部路径规划仿真:多场景对比实验报告",改进蚁群算法+动态窗口算法全局结合局部路径规划仿真 静态路径规划算法 采用改进蚁群算法,有单独对比代码 动态实时规划 采