提交 2430dbba 编写于 作者: Skyeye云's avatar Skyeye云

代码更新

上级 3d171ad8

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.jsdt.core.javascriptValidator"/>
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
</launchConfiguration>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.validation.validationbuilder"/>
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
</launchConfiguration>
*.js linguist-language=java
*.css linguist-language=java
*.html linguist-language=java
...@@ -5,13 +5,12 @@ ...@@ -5,13 +5,12 @@
*.ear *.ear
class class
.idea
*.iml
.settings .settings
*.classpath *.classpath
/bin /bin
classes classes
/target/ /target/
/.project/ /.project/
/.metadata/ /logs/
/logs/ /.idea/
\ No newline at end of file *.iml
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>skyeye-promote</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
# skyeye
#### 项目介绍
智能办公OA系统[SpringBoot2-快速开发平台],适用于医院,学校,中小型企业等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。
# 开源版请下载`master`分支
# 开源版请下载`master`分支
# 开源版请下载`master`分支
- erp+生产演示视频:https://mp.weixin.qq.com/s/CrFM_VZShi-FIJ8zD0_Nqg
- 需要进微信群(加我拉你进群,wzq_598748873),请提供自己的邮箱,默认订阅每周更新内容推送。
- 不需要进群的,请直接加微信:ZhiJinShuLi
- `本项目分为开源版和企业版,不喜勿喷,谢谢。`
- 企业版信息:https://docs.qq.com/doc/DQlRxcVRMWWVjbU1i?_from=1&disableReturnList=1
- 参加企业版改进计划,享受最优惠价格,[点我查看](https://mp.weixin.qq.com/s/YIms04X-bbGJwMs1gree1g)
- 不会搭建环境的,可以出钱让作者帮忙搭建,一次100,先付。
- [说明文档](https://gitee.com/doc_wei01/skyeye/blob/master/%E9%A1%B9%E7%9B%AE%E6%96%87%E6%A1%A3.md)
- 采用Redis缓存做单点登录功能,全新风格的后台管理系统
- [MIT协议的高性能报表软件](https://gitee.com/doc_wei01/skyeye-report)
#### 功能介绍
功能|简介|功能|简介
-------|-------|-------|-------
菜单管理|配置系统菜单,操作权限,按钮权限标识等,用户可自定义桌面展示LOGO|员工管理|操作企业内部的员工信息,进行统一管理
用户管理|用户是系统操作者,该功能主要完成系统用户配置。|角色管理|角色菜单权限分配、设置角色按机构进行数据范围权限划分。
权限管理|给角色进行赋权|资源图标|系统中允许使用的font图标库
日志管理|系统正常操作日志记录和查询;系统异常信息日志记录和查询。|登录日志|系统登录日志记录查询包含登录异常。
多桌面管理|多个桌面程序,用户可通过鼠标滚动进行切换|系统基础设置|系统的基础信息设置
代码生成器|只能适用于该框架的代码生成器,配置模板即可生成,然后下载压缩包解压复制到项目中即可|自定义桌面菜单|用户可将自己常用的网站添加到系统中方便记录
在线性能监控|监视当前系统CPU、内存、磁盘、堆栈等相关信息。|多桌面|[演示](https://www.bilibili.com/video/av43650484)
聊天功能|[演示](https://www.bilibili.com/video/av43650782),支持单聊,群聊,进群申请,组建群组,在线用户监控等。|[我的日程](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E6%97%A5%E7%A8%8B%E6%A8%A1%E5%9D%97.md)(企业版)|[演示](https://www.bilibili.com/video/av45854959)|APP菜单管理(企业版)|手机端菜单以及权限管理
小程序管理(企业版)|微信小程序、H5手机自适应页面拖拽生成,可自定义配置小程序组件|多系统集成(企业版)|可以将多个系统进行应用集成,无需多次登陆,无需记录多个网址
流程图规划(企业版)|规划项目的流程图|问卷调查(企业版)|拖拽式生成问卷,可分页、复制、查看统计信息等
轻应用(企业版)|系统中提供各种小应用,如快递查询、高德地图等,用户可添加到自己的桌面上|开发文档(企业版)|系统支持二次开发,包含开发文档
工作日志(企业版)|记录每个员工的日报,周报,月报等,可同时发送多人,按时间轴查看等|多班次考勤管理(企业版)|记录每个员工的考勤打卡信息,包含报表,打卡,班次设置等
[我的笔记](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E7%AC%94%E8%AE%B0%E6%A8%A1%E5%9D%97.md)(企业版)|员工可记录自己日常的笔记,目前支持MD,富文本,表格操作|报表管理(企业版)|统计功能信息,可根据客户自定义免费定制
[文件管理](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86.md)(企业版)|公司内部、员工个人的文件管理,支持多格式文件在线查看,文档多人协作,在线解压缩等|附件管理(企业版)|保留员工所有上传过的附件,方便下次使用
邮件管理(企业版)|目前打通与QQ邮箱的交互,可以发邮件,收邮件,保存为草稿等|[工作流管理](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E5%B7%A5%E4%BD%9C%E6%B5%81%E4%BB%8B%E7%BB%8D%E6%96%87%E6%A1%A3.md)(企业版)|动态表单结合工作流生成自定义业务流程审核,可进行审批、撤回、回退、节点化表单项编辑设置、驳回、终止转办等功能,目前已支持四十多种流程管理
论坛(企业版)|包括标签管理,关键词管理,举报审核等操作,用户可自由发表文章,系统通过过滤算法进行关键词过滤|计划管理(企业版)|方便公司进行公司计划、部门计划、个人计划的规划,可根据类型(日计划、周计划、月计划、季度计划等)进行定义
动态表单(企业版)|通过自定义的方式生成提交表单页,可与动态数据进行结合,目前已和工作流结合|行政管理(企业版)|包含车辆管理、会议室管理、用品管理、印章管理、财产管理、证照管理。所有功能审核已和工作流结合
内部公告(企业版)|系统内部公告通知,可设置邮件通知,定时通知,人员选择等|通讯录(企业版)|记录个人、公司内部、公共通讯录信息
知识库(企业版)|企业文化支柱;[效果地址](https://gitee.com/doc_wei01/knowlg-pro)|[CRM客户管理](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/CRM%E5%AE%A2%E6%88%B7%E7%AE%A1%E7%90%86%E6%A8%A1%E5%9D%97.md)(企业版)|包含客户、商机、跟单、合同等多个模块化功能
[ERP进销存管理](https://gitee.com/doc_wei01/erp-pro)(企业版)|包含采购、销售、零售、客户、供应商等多个模块化功能;[效果地址](https://gitee.com/doc_wei01/erp-pro)|[项目管理](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86.md)(企业版)|包含项目、工作量、讨论帖、项目文档、成本费用等功能
[云售后管理系统](https://gitee.com/doc_wei01/skyeye/blob/master/%E5%8A%9F%E8%83%BD%E6%96%87%E6%A1%A3%E4%BB%8B%E7%BB%8D/%E5%94%AE%E5%90%8E%E5%B7%A5%E5%8D%95%E6%A8%A1%E5%9D%97.md)(企业版)|包含工单的派工,接单,签到,配件申领审批,完工,评价,审核等操作|生产模块(企业版)|已完成,[演示视频](https://www.bilibili.com/video/BV1yA411e7mm/)
|学校模块以及考试模块(企业版)|[地址](https://gitee.com/doc_wei01/schoolExam)|EHR模块(企业版)|管理企业员工的基础信息|
|薪资模块(企业版)|员工薪资管理,支持多种类型设定|财务模块|狂吃狂吃开发中,现在购买后期免费赠送|
|招聘模块|狂吃狂吃开发中,现在购买后期免费赠送|||
#### 技术选型
##### 后端技术:
技术|名称|官网
---|---|---
SpringBoot|核心框架|http://spring.io/projects/spring-boot
MyBatis|ORM框架|http://www.mybatis.org/mybatis-3/zh/index.html
Druid|数据库连接池|https://github.com/alibaba/druid
Maven|项目构建管理|http://maven.apache.org/
redis|key-value存储系统|https://redis.io/
webSocket|浏览器与服务器全双工(full-duplex)通信|http://www.runoob.com/html/html5-websocket.html
Activiti|工作流引擎|https://www.activiti.org/
spring mvc|视图框架|http://spring.io/
quartz 2.2.2|定时任务|http://www.quartz-scheduler.org/
ActiveMQ|消息队列|http://activemq.apache.org/replicated-leveldb-store.html
solr|企业级搜索应用服务器|https://lucene.apache.org/solr/
Spring Cloud|微服务框架(目前用户APP端接口)|https://springcloud.cc/
##### 前端技术:
技术|名称|官网
---|---|---
jQuery|函式库|http://jquery.com/
zTree|树插件|http://www.treejs.cn/v3/
layui|模块化前端UI|https://www.layui.com/
winui|win10风格UI|https://gitee.com/doc_wei01_admin/skyeye
codemirror|codemirror代码编辑器|https://codemirror.net/
handlebars|js模板引擎|http://www.ghostchina.com/introducing-the-handlebars-js-templating-engine/
webSocket|浏览器与服务器全双工(full-duplex)通信|http://www.runoob.com/html/html5-websocket.html
G6|流程图开发|https://antv.alipay.com/zh-cn/index.html
FullCalendar|日历插件|https://blog.csdn.net/qw_xingzhe/article/details/44920943
#### 代码描述
##### 前后台接口映射
```
<url id="前端请求id" path="后台接口" val="备注" allUse="是否需要登录">
<property id="前端请求key" name="后台接收key" ref="限制条件(参考项目内文档)" var="key含义"/>
</url>
```
##### 后台代码编写规范
###### 控制层
```
@RequestMapping("后台接口")
@ResponseBody
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception{
服务层接口对象.方法名(inputObject, outputObject);
}
```
###### 服务层
```
@Override
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();//接收参数
Map<String, Object> user = inputObject.getLogParams();//获取当前登录用户信息
/**
* 业务逻辑
*/
outputObject.setBean(bean);//返回单个实体Bean
outputObject.setBeans(beans);//返回集合
outputObject.settotal(total);//返回数量
outputObject.setreturnMessage("信息");//返回前端的错误信息
outputObject.setreturnMessage("信息", 错误码);//返回前端的错误信息,同时抛出异常(不常用)
}
```
#### 效果图
|效果图|效果图|
| ------------- | ------------- |
|![](https://s2.ax1x.com/2019/04/16/Avo0c8.png "1.png")|![](https://images.gitee.com/uploads/images/2019/0623/142954_6c8612f2_1541735.png "1.png")|
|![](https://images.gitee.com/uploads/images/2018/1107/104734_d9304e60_1541735.png "2.png")|![](https://images.gitee.com/uploads/images/2018/1107/104903_f244dfde_1541735.png "3.png")|
|![](https://s2.ax1x.com/2019/06/23/ZPS5h4.png)|![](https://images.gitee.com/uploads/images/2018/1118/191634_497ea929_1541735.png "微信图片_20181118191516.png")|
|![](https://images.gitee.com/uploads/images/2018/1118/193301_72d0bb49_1541735.png "微信截图_20181118193254.png")|![](https://s2.ax1x.com/2019/04/16/Av7lee.png "微信截图_20181120154643.png")|
|![](https://images.gitee.com/uploads/images/2018/1121/105120_65de9434_1541735.png "1.png")|![](https://images.gitee.com/uploads/images/2019/0623/145248_4a51c610_1541735.png)|
|![](https://images.gitee.com/uploads/images/2019/0122/113516_b0600e8f_1541735.png "1.png")|![](https://images.gitee.com/uploads/images/2018/1207/123501_3248346e_1541735.png "微信截图_20181207123447.png")|
|![](https://images.gitee.com/uploads/images/2019/0113/114947_1c7fa387_1541735.png "微信截图_20190113114922.png")|![](https://images.gitee.com/uploads/images/2019/0202/130711_7ed57951_1541735.png "3.png")|
|![](https://s2.ax1x.com/2019/06/23/ZPC6cd.png)|![](https://images.gitee.com/uploads/images/2019/0623/145351_dd55da65_1541735.png)|
|![](https://images.gitee.com/uploads/images/2019/0623/143810_e76aec71_1541735.png)|![](https://images.gitee.com/uploads/images/2019/0623/144143_1063782a_1541735.png)|
|![](https://images.gitee.com/uploads/images/2019/0904/143828_b7ef9748_1541735.png)|![](https://images.gitee.com/uploads/images/2019/0904/143937_42519798_1541735.png)|
#### 传统风格界面效果图
|效果图|效果图|
| ------------- | ------------- |
|![](https://images.gitee.com/uploads/images/2019/0904/143634_0c9da9ad_1541735.png)|![](https://images.gitee.com/uploads/images/2019/0904/143639_2e442328_1541735.png)|
|![输入图片说明](https://images.gitee.com/uploads/images/2019/1101/170700_738ed970_1541735.png "在这里输入图片标题")||
#### 合作方式
- 购买企业版源码
- 购买企业版Jar包
- 客户可提供文字版合作方式
### 捐助
如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡。
| 支付宝 | 微信 | 更新资讯公众号 |
| ------ | ---- | ---- |
| ![ ](https://images.gitee.com/uploads/images/2019/1016/094014_96f92c56_1541735.png "微信截图_20191016093832.png") | ![ ](https://images.gitee.com/uploads/images/2019/1016/094025_65ba24f0_1541735.png "微信截图_20191016093850.png")|![输入图片说明](https://images.gitee.com/uploads/images/2021/0320/091531_8c3ba4d8_1541735.jpeg "qrcode_for_gh_e7f97ff1beda_430.jpg")|
*.class
# Package Files #
*.war
*.ear
class
.settings
*.classpath
/bin
classes
/target/
/.project/
/logs/
/.idea/
*.iml
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>skyeye-web</artifactId>
<groupId>com.skyeye.web</groupId>
<version>1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>activiti</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
title: $("#title").val(),
classUrl: data.field.classUrl,
desc: $("#desc").val()
};
AjaxPostUtil.request({url:reqBasePath + "actbaseclass002", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var beanTemplate = $('#beanTemplate').html();
showGrid({
id: "showForm",
url: reqBasePath + "actbaseclass006",
params: {rowId: parent.rowId},
pagination: false,
template: beanTemplate,
ajaxSendAfter:function(json){
matchingLanguage();
}
});
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
showGrid({
id: "showForm",
url: reqBasePath + "actbaseclass004",
params: {rowId:parent.rowId},
pagination: false,
template: $('#beanTemplate').html(),
ajaxSendAfter:function(json){
matchingLanguage();
form.on('submit(formEditBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
title: $("#title").val(),
classUrl: $("#classUrl").val(),
desc: $("#desc").val()
};
AjaxPostUtil.request({url:reqBasePath + "actbaseclass005", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
}
});
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
authBtn('1569294297008');
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'actbaseclass001',
where: getTableParams(),
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'title', title: '标题', align: 'left', width: 200 },
{ field: 'classUrl', title: '类名', align: 'left', width: 400 },
{ field: 'desc', title: '描述', align: 'left', width: 400 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 257, toolbar: '#tableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') { //编辑
edit(data);
}else if (layEvent === 'delet') { //删除
delet(data);
}else if (layEvent === 'details') { //详情
details(data);
}
});
//添加
$("body").on("click", "#addBean", function(){
_openNewWindows({
url: "../../tpl/actBaseClass/actBaseClassAdd.html",
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "actBaseClassAdd",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
});
//删除
function delet(data){
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index){
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actbaseclass003", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//编辑
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/actBaseClass/actBaseClassEdit.html",
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "actBaseClassEdit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
}
//详情
function details(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/actBaseClass/actBaseClassDetails.html",
title: systemLanguage["com.skyeye.detailsPageTitle"][languageType],
pageId: "actBaseClassDetails",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
}
});
}
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
refreshTable();
}
return false;
});
//刷新数据
$("body").on("click", "#reloadTable", function(){
loadTable();
});
function loadTable(){
table.reload("messageTable", {where: getTableParams()});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where: getTableParams()});
}
function getTableParams(){
return {
title: $("#title").val(),
className: $("#className").val()
};
}
exports('actBaseClassList', {});
});
var clickId = "";//选中的用户组id
var name = ""; //用户组名
var userList = new Array();//选择用户返回的集合或者进行回显的集合
var userReturnList = new Array();//选择用户返回的集合或者进行回显的集合
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'tagEditor', 'contextMenu'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
authBtn('1563451355229');//新增用户
authBtn('1563451312404');//新增用户组
authBtn('1563451417564');//一键移除用户
authBtn('1572334408610');//同步人员到工作流
var userInfo = ""; //用户id
showLeft();
//初始化左侧菜单用户组数据
function showLeft(){
AjaxPostUtil.request({url:reqBasePath + "actgroup002", params: {}, type:'json', callback:function(json){
if(json.returnCode == 0){
var str = getDataUseHandlebars($('#userGroupTemplate').html(), json);
$("#setting").html(str);
if(json.rows.length > 0){
clickId = json.rows[0].id;
$("#setting").find("a[rowid='" + clickId + "']").addClass('selected');
}
showList();//展示用户组对应的用户列表
initRightMenu();//初始化右键
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
//初始化右键
function initRightMenu(){
var arrayObj = new Array();//创建一个数组
if(auth('1563451384406')){
arrayObj.push({
text: "删除",
img: "../../assets/images/delete-icon.png",
callback: function() {
deleteUserGroup();
}
})
}
if(auth('1563451371446')){
arrayObj.push({
text: "重命名",
img: "../../assets/images/rename-icon.png",
callback: function() {
var obj = $("#setting");
var html = obj.find("a[rowid='" + clickId + "']").html();
var newhtml = "<input value='" + html + "' class='layui-input setting-a-input' style='margin-top: 5px;'/>";
obj.find("a[rowid='" + clickId + "']").html(newhtml);
obj.find("input").select();
obj.find("input").blur(function(){
var value = obj.find("input").val();
if(!isNull(value)){
if(html != value){
AjaxPostUtil.request({url:reqBasePath + "actgroup004", params: {rowId: clickId, groupName: value}, type:'json', callback:function(json){
if(json.returnCode == 0){
obj.find("a[rowid='" + clickId + "']").html(value);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}else{
obj.find("a[rowid='" + clickId + "']").html(html);
}
}else{
obj.find("a[rowid='" + clickId + "']").html(html);
}
});
}
})
}
if(arrayObj.length > 0){
$("#setting").contextMenu({
width: 190, // width
itemHeight: 30, // 菜单项height
bgColor: "#FFFFFF", // 背景颜色
color: "#0A0A0A", // 字体颜色
fontSize: 12, // 字体大小
hoverBgColor: "#99CC66", // hover背景颜色
target: function(ele) { // 当前元素
},
rightClass: 'setting-a,setting-a selected',
menu: arrayObj
});
}
};
//删除用户组
function deleteUserGroup(){
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index){
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actgroup005", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
$("#setting").find("a[rowid='" + clickId + "']").remove();
var _obj = $("#setting").find("a[class='setting-a']");
if(_obj.length > 0){
_obj.eq(0).click();
}else{
clickId = "";
loadTable();
}
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
};
//用户组点击事件
$("body").on("click", ".setting-a-input", function(e){
e.stopPropagation();//阻止冒泡
});
$("body").on("contextmenu", ".setting-a-input", function(e){
e.stopPropagation();//阻止冒泡
});
//用户组名右键效果
$("body").on("contextmenu", "#setting a", function(e){
clickId = $(this).attr("rowid");
name = $(this).attr("rowname");
$("#setting").find("a").removeClass("selected");
$("#setting").find("a[rowid='" + clickId + "']").addClass("selected");
clickId = $(this).attr("rowid");
loadTable();
});
//新增用户组
$("body").on("click", "#addBean", function(e){
var obj = $("#setting");
var newhtml = "<input value='新增用户组' class='layui-input setting-a-input' style='margin-top: 5px;'/>";
obj.append(newhtml);
obj.find("input").select();
obj.find("input").blur(function(){
var value = obj.find("input").val();
obj.find("input").remove();
if(isNull(value)){
value = '新增用户组';
}
AjaxPostUtil.request({url:reqBasePath + "actgroup001", params: {groupName: value}, type:'json', callback:function(json){
if(json.returnCode == 0){
clickId = json.bean.id;
var str = '<a rowid="' + clickId + '" rowname="' + value + '" class="setting-a">' + value + '</a>';
$("#setting").append(str);
$("#setting").find("a[rowid='" + clickId + "']").click();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
});
//对左侧菜单项的点击事件
$("body").on("click", "#setting a", function(e){
$(".setting a").removeClass("selected");
$(this).addClass("selected");
clickId = $(this).attr("rowid");
loadTable();
});
//展示用户组对应的用户列表
function showList(){
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'actgroup007',
where: {groupId: clickId, userName: $("#userName").val()},
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'userName', title: '员工姓名', align: 'left', width: 120},
{ field: 'companyName', title: '公司', align: 'left', width: 200 },
{ field: 'departmentName', title: '部门', align: 'left', width: 150 },
{ field: 'jobName', title: '职位', align: 'left', width: 200 },
{ field: 'email', title: '邮箱', align: 'left', width: 200 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 80, toolbar: '#tableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if(layEvent === 'del'){ //移除
del(data);
}
});
}
//新增用户
$("body").on("click", "#addUser", function(e){
userReturnList = [].concat(userList);
_openNewWindows({
url: "../../tpl/common/sysusersel.html",
title: "人员选择",
pageId: "sysuserselpage",
area: ['80vw', '80vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
userList = [].concat(userReturnList);
$.each(userList, function (i, item) {
userInfo += item.id + ',';
})
AjaxPostUtil.request({url:reqBasePath + "actgroup003", params:{rowId: clickId, userId: userInfo}, type:'json', callback:function(json){
if(json.returnCode == 0){
userList = [];
userReturnList = [];
userInfo = "";
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
});
//一键移除指定用户组下的所有用户
$("body").on("click", "#delUser", function(e){
if(!isNull(clickId)){
var msg = '确认一键移除该用户组下的所有用户吗?';
layer.confirm(msg, { icon: 3, title: '一键移除所有用户' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actgroup008", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("移除成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}else{
winui.window.msg("没有可移除用户的用户组!", {icon: 2,time: 2000});
}
});
//移除用户
function del(data){
var msg = '确认移除该用户吗?';
layer.confirm(msg, { icon: 3, title: '删除用户' }, function (index) {
layer.close(index);
var params = {
rowId: data.id
};
AjaxPostUtil.request({url:reqBasePath + "actgroup006", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//同步人员数据
$("body").on("click", "#syncData", function(){
AjaxPostUtil.request({url:reqBasePath + "activitimode015", params:{}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("同步成功", {icon: 1,time: 2000});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
form.render();
//搜索用户
$("body").on("click", "#formSearch", function(){
refreshTable();
});
//搜索条件
function loadTable(){
table.reload("messageTable", {where:{groupId: clickId, userName: $("#userName").val()}});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where:{groupId: clickId, userName: $("#userName").val()}});
}
//刷新用户
$("body").on("click", "#reloadTable", function(){
loadTable();
});
//刷新用户组
$("body").on("click", "#flashGroup", function(){
showLeft();
});
exports('actGroupList', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
var processInstanceId = parent.processInstanceId,
hisTaskId = parent.hisTaskId;
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var msg = '确认撤回任务吗?';
layer.confirm(msg, { icon: 3, title: '撤回操作' }, function (i) {
layer.close(i);
var jStr = {
opinion: $("#opinion").val(),
processInstanceId: processInstanceId,
hisTaskId: hisTaskId
};
AjaxPostUtil.request({url:reqBasePath + "activitimode026", params: jStr, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
return false;
});
//取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
exports('activitiwithdraw', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'flow'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table,
flow = layui.flow;
//流程详情
var processInstanceId = parent.processInstanceId;
var taskType = parent.taskType;
$("#activitiTitle").html(taskType);
//时间线审批历史列表模板
var timeTreeApprovalHistory = $("#timeTreeApprovalHistory").html();
var textTemplate = $("#textTemplate").html(),//文本展示
enclosureTemplate = $("#enclosureTemplate").html(),//附件展示
eichTextTemplate = $("#eichTextTemplate").html(),//富文本展示
picTemplate = $("#picTemplate").html(),//图片展示
tableTemplate = $("#tableTemplate").html();//表格展示
AjaxPostUtil.request({url:reqBasePath + "activitimode025", params: {processInstanceId: processInstanceId}, type:'json', callback:function(j){
if(j.returnCode == 0){
var jsonStr = "";//实体json对象
var str = "";
$.each(j.rows, function(i, item){
//如果展示文本不为空,则展示展示文本
if(!isNull(item.text))
item.value = item.text;
jsonStr = {
bean: item
};
if(item.showType == 1){//文本展示
str = getDataUseHandlebars(textTemplate, jsonStr);
}else if(item.showType == 2){//附件展示
str = getDataUseHandlebars(enclosureTemplate, jsonStr);
}else if(item.showType == 3){//富文本展示
str = getDataUseHandlebars(eichTextTemplate, jsonStr);
}else if(item.showType == 4){//图片展示
var photoValue = [];
if(!isNull(jsonStr.bean.value)){
photoValue = item.value.split(",");
}
var rows = [];
$.each(photoValue, function(j, row){
rows.push({photoValue: row});
});
jsonStr.bean.photo = rows;
str = getDataUseHandlebars(picTemplate, jsonStr);
}else if(item.showType == 5){//表格展示
str = getDataUseHandlebars(tableTemplate, jsonStr);
var tableId = "messageTable" + item.orderBy;//表格id
var tableBoxId = "showTable" + item.orderBy;//表格外部div盒子id
$("#showForm").append(str);
$("#" + tableBoxId).html('<table id="' + tableId + '" lay-filter="' + tableId + '"></table>');
if(typeof item.headerTitle == 'object'){
item.headerTitle = JSON.stringify(item.headerTitle);
}
table.render({
id: tableId,
elem: "#" + tableId,
data: $.extend(true, [], getValJson(item.value, '', '')),
page: false,
cols: getValJson(item.headerTitle, '[', ']')
});
str = "";
}else {
str = "";
}
$("#showForm").append(str);
});
//加载流程图片
$("#processInstanceIdImg").attr("src", fileBasePath + 'images/upload/activiti/' + processInstanceId + ".png?cdnversion=" + Math.ceil(new Date()/3600000));
//加载审批历史
inboxTimeTreeApprovalHistory();
matchingLanguage();
}else{
winui.window.msg(j.returnMessage, {icon: 2,time: 2000});
}
}});
function getValJson(val, startPrefix, endPrefix){
if(typeof val == 'string'){
val = startPrefix + val + endPrefix;
return JSON.parse(val);
}
return val;
}
//加载时间线审批历史
function inboxTimeTreeApprovalHistory(){
flow.load({
elem: '#timeTreeApprovalHistoryList', //指定列表容器
scrollElem: '#timeTreeApprovalHistoryList',
isAuto: true,
done: function(page, next) { //到达临界点(默认滚动触发),触发下一页
var lis = [];
//以jQuery的Ajax请求为例,请求下一页数据(注意:page是从2开始返回)
AjaxPostUtil.request({url:reqBasePath + "activitimode017", params:{processInstanceId: parent.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
var jsonStr = "";//实体json对象
$.each(json.rows, function(index, bean) {
bean.showClass = 'date02';
jsonStr = {
bean: bean
};
lis.push(getDataUseHandlebars(timeTreeApprovalHistory, jsonStr));
});
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), (page * 1000) < json.total);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
});
}
/***
* 图片弹出展示,默认原大小展示。图片大于浏览器时下窗口可视区域时,进行等比例缩小。
* config.src 图片路径。必须项
* default_config.height 图片显示高度,默认原大小展示。图片大于浏览器时下窗口可视区域时,进行等比例缩小。
* default_config.width 图片显示宽度,默认原大小展示。图片大于浏览器时下窗口可视区域时,进行等比例缩小。
* default_config.title 弹出框标题
*/
function previewImg(config) {
if(!config.src || config.src==""){
layer.msg("没有发现图片!");
return ;
}
var default_config = {title: "流程图"};
var img = new Image();
img.onload = function() {//避免图片还未加载完成无法获取到图片的大小。
//避免图片太大,导致弹出展示超出了网页显示访问,所以图片大于浏览器时下窗口可视区域时,进行等比例缩小。
var max_height = $(window).height() - 100;
var max_width = $(window).width();
//rate1,rate2,rate3 三个比例中取最小的。
var rate1 = max_height / img.height;
var rate2 = max_width / img.width;
var rate3 = 1;
var rate = Math.min(rate1, rate2, rate3);
//等比例缩放
default_config.height = img.height * rate; //获取图片高度
default_config.width = img.width * rate; //获取图片宽度
$.extend( default_config, config);
var imgHtml = "<img src='" + default_config.src + "' width='" + default_config.width + "px' height='" + default_config.height + "px'/>";
//弹出层
layer.open({
type: 1,
shade: 0.8,
offset: 'auto',
area: [(default_config.width + 100) + 'px', (default_config.height + 100) + 'px'], ////宽,高
shadeClose:true,
scrollbar: false,
title: default_config.title, //不显示标题
content: imgHtml, //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
cancel: function () {
},
error: function(){
}
});
}
img.onerror = function() {
winui.window.msg("该流程图已不存在,无法进行查看。", {icon: 2,time: 2000});
}
img.src = config.src;
}
//附件下载
$("body").on("click", ".enclosureItem", function(){
download(fileBasePath + $(this).attr("rowpath"), $(this).html());
});
//工作流图片查看
$("body").on("click", "#processInstanceIdImg", function(){
previewImg({src: $(this).attr("src")});
});
//图片查看
$("body").on("click", ".photo-img", function(){
var src = $(this).attr("src");
layer.open({
type:1,
title:false,
closeBtn:0,
skin: 'demo-class',
shadeClose:true,
content:'<img src="' + src + '" style="max-height:600px;max-width:100%;">',
scrollbar:false
});
});
form.render();
exports('myactivitidetailspagesub', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
// 流程设计列表
authBtn('1552960740348');
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'activitimode002',
where: getTableParams(),
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'id', title: '模型编号', width: 100 },
{ field: 'name', title: '模型名称', width: 120 },
{ field: 'key', title: '编码', width: 120 },
{ field: 'processKey', title: 'key', width: 160 },
{ field: 'version', title: '版本', width: 80},
{ field: 'deploymentId', title: '发布状态', align: "center", width: 80, templet: function(d){
if(isNull(d.deploymentId)){
return "<span class='state-new'>未发布</span>";
}else{
return "<span class='state-up'>已发布</span>";
}
}},
{ field: 'deploymentId', title: '部署id', width: 100},
{ field: 'processDefinitionVersion', title: '部署版本', width: 100},
{ field: 'createTime', title: '创建时间', align: 'center', width: 150, templet: function(d){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i:s', str);
}},
{ field: 'metaInfo', title: '元数据', width: 120},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 340, toolbar: '#tableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'del') { //删除
del(data, obj);
}else if (layEvent === 'edit') { //编辑
edit(data);
}else if (layEvent === 'copyModel') { //模型拷贝
copyModel(data);
}else if (layEvent === 'fb') { //发布
fb(data);
}else if (layEvent === 'versionLevel') { //版本升级
versionLevel(data);
}else if (layEvent === 'qxfb') { //取消发布
qxfb(data);
}else if (layEvent === 'ecportXML') { //导出xml
ecportXML(data);
}
});
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
refreshTable();
}
return false;
});
// 刷新数据
$("body").on("click", "#reloadTable", function(){
loadTable();
});
//删除
function del(data, obj){
var msg = obj ? '确认删除模型【' + obj.data.name + '】吗?' : '确认删除选中数据吗?';
layer.confirm(msg, { icon: 3, title: '删除模型' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode006", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//编辑
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../static/modeler.html?modelId=" + rowId,
title: "绘制流程",
pageId: "canveractivitimodeledit",
area: ['100vw', '100vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
}
//发布
function fb(data){
rowId = data.id;
var msg = data ? '确认发布模型【' + data.name + '】吗?' : '确认发布选中数据吗?';
layer.confirm(msg, { icon: 3, title: '发布模型' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode003", params:{modelId: rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("发布成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//版本升级
function versionLevel(data){
rowId = data.id;
var msg = data ? '确认升级模型【' + data.name + '】版本吗?' : '确认升级选中数据吗?';
layer.confirm(msg, { icon: 3, title: '版本升级' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode003", params:{modelId: rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("升级成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
// 取消发布
function qxfb(data, obj){
var msg = obj ? '确认取消发布【' + obj.data.name + '】吗?' : '确认取消发布选中数据吗?';
layer.confirm(msg, { icon: 3, title: '取消发布' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode007", params:{deploymentId: data.deploymentId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("取消发布成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
// 拷贝模型
function copyModel(data){
layer.confirm('确认拷贝选中数据吗?', { icon: 3, title: '模型拷贝' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode028", params:{modelId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("拷贝成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
// 导出xml
function ecportXML(data){
window.open(reqBasePath + "activitimode010?modelId=" + data.id);
}
//新增
$("body").on("click", "#addBean", function(){
AjaxPostUtil.request({url:reqBasePath + "activitimode001", params:{}, type:'json', callback:function(json){
if(json.returnCode == 0){
_openNewWindows({
url: "../../static/modeler.html?modelId=" + json.bean.id,
title: "绘制流程",
pageId: "canveractivitimodel",
area: ['100vw', '100vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
function loadTable(){
table.reload("messageTable", {where: getTableParams()});
}
// 搜索
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where: getTableParams()})
}
function getTableParams(){
return {
modelName: $("#modelName").val()
};
}
exports('codemodellist', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
showGrid({
id: "showForm",
url: reqBasePath + "actmodletype021",
params: {rowId:parent.rowId},
pagination: false,
template: $("#beanTemplate").html(),
ajaxSendAfter:function(json){
if(json.bean.pageTypes == 1){
$("#pageTypes").html('指定页面');
$(".TypeIsTwo").addClass("layui-hide");
$(".TypeIsOne").removeClass("layui-hide");
}else{
$("#pageTypes").html('表单页面');
$(".TypeIsTwo").removeClass("layui-hide");
$(".TypeIsOne").addClass("layui-hide");
}
if(json.bean.menuIconType == 1){
$("#menuIconType").html('Icon');
$(".menuIconTypeIsTwo").addClass("layui-hide");
$(".menuIconTypeIsOne").removeClass("layui-hide");
}else{
$("#menuIconType").html('图片');
$(".menuIconTypeIsTwo").removeClass("layui-hide");
$(".menuIconTypeIsOne").addClass("layui-hide");
}
if(json.bean.commonUsed == 1){
$("#commonUsed").html('');
}else{
$("#commonUsed").html('');
}
matchingLanguage();
form.render();
}
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'colorpicker', 'textool', 'fileUpload'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var colorpicker = layui.colorpicker,
textool = layui.textool;
//初始化动态表单
function initDsForm(id){
showGrid({
id: "dsFormId",
url: reqBasePath + "actmodletype020",
params: {},
pagination: false,
template: getFileContent('tpl/template/select-option-must.tpl'),
ajaxSendAfter: function(json){
form.render('select');
$("#dsFormId").val(id);
}
})
}
showGrid({
id: "showForm",
url: reqBasePath + "actmodletype011",
params: {rowId:parent.rowId},
pagination: false,
template: getFileContent('tpl/actmodletype/actmodleeditTemplate.tpl'),
ajaxSendAfter:function(json){
$("input:radio[name=commonUsed][value=" + json.bean.commonUsed + "]").attr("checked", true);
colorpicker.render({
elem: '#menuIconColor',
color: json.bean.menuIconColor,
done: function(color){
$('#menuIconColorinput').val(color);
$("#iconShow").css({'color': color});
},
change: function(color){
$("#iconShow").css({'color': color});
}
});
colorpicker.render({
elem: '#backgroundColor',
color: json.bean.backgroundColor,
done: function(color){
$('#menuIconColorinput').val(color);
}
});
$("input:radio[name=menuIconType][value=" + json.bean.menuIconType + "]").attr("checked", true);
if(json.bean.menuIconType == '1'){//icon
$("#menuIconPic").upload({
"action": reqBasePath + "common003",
"data-num": "1",
"data-type": "PNG,JPG,jpeg,gif",
"uploadType": 17,
"function": function (_this, data) {
show("#menuIconPic", data);
}
});
$(".menuIconTypeIsTwo").addClass("layui-hide");
}else if(json.bean.menuIconType == '2'){//图片
$("#menuIconPic").upload({
"action": reqBasePath + "common003",
"data-num": "1",
"data-type": "PNG,JPG,jpeg,gif",
"uploadType": 17,
"data-value": json.bean.menuIconPic,
"function": function (_this, data) {
show("#menuIconPic", data);
}
});
$(".menuIconTypeIsOne").addClass("layui-hide");
}
$("#iconShow").attr("class", "fa fa-fw " + $("#menuIcon").val());
if(isNull(json.bean.menuIconColor)){
$("#iconShow").css({'color': 'white'});
}else{
$('#menuIconColorinput').val(json.bean.menuIconColor);
$("#iconShow").css({'color': json.bean.menuIconColor});
}
// 图标类型变化事件
form.on('radio(menuIconType)', function (data) {
var val = data.value;
if(val == '1'){//icon
$(".menuIconTypeIsTwo").addClass("layui-hide");
$(".menuIconTypeIsOne").removeClass("layui-hide");
}else if(val == '2'){//图片
$(".menuIconTypeIsTwo").removeClass("layui-hide");
$(".menuIconTypeIsOne").addClass("layui-hide");
}else{
winui.window.msg('状态值错误', {icon: 2,time: 2000});
}
});
textool.init({
eleId: 'remark',
maxlength: 200,
tools: ['count', 'copy', 'reset', 'clear']
});
//初始化动态表单
initDsForm(json.bean.dsFormId);
//设置页面类型
$("input:radio[name=pageTypes][value=" + json.bean.pageTypes + "]").attr("checked", true);
if(json.bean.pageTypes == 1){
$(".TypeIsTwo").addClass("layui-hide");
$(".TypeIsOne").removeClass("layui-hide");
}else{
$(".TypeIsTwo").removeClass("layui-hide");
$(".TypeIsOne").addClass("layui-hide");
}
//页面类型变化事件
form.on('radio(pageTypes)', function (data) {
var val = data.value;
if(val == '1'){//指定页面
$(".TypeIsTwo").addClass("layui-hide");
$(".TypeIsOne").removeClass("layui-hide");
}else if(val == '2'){//动态表单
$(".TypeIsTwo").removeClass("layui-hide");
$(".TypeIsOne").addClass("layui-hide");
}else{
winui.window.msg('状态值错误', {icon: 2,time: 2000});
}
});
matchingLanguage();
form.render();
form.on('submit(formEditBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
title: $("#title").val(),
pageUrl: $("#pageUrl").val(),
backgroundColor: $('#backgroundColorInput').val(),
pageTypes: data.field.pageTypes,
tokenUrl: $("#tokenUrl").val(),
remark: $("#remark").val(),
menuIconType: data.field.menuIconType,
menuIconPic: '',
menuIcon: $("#menuIcon").val(),
menuIconColor: $('#menuIconColorinput').val(),
commonUsed: data.field.commonUsed
};
if(params.pageTypes == 1){
params.pageUrl = $("#pageUrl").val();
params.editPageUrl = $("#editPageUrl").val();
params.revokeMapping = $("#revokeMapping").val();
if(isNull(params.pageUrl)){
winui.window.msg("请输入新增页面地址", {icon: 2,time: 2000});
return false;
}
if(isNull(params.editPageUrl)){
winui.window.msg("请输入编辑页面地址", {icon: 2,time: 2000});
return false;
}
if(isNull(params.revokeMapping)){
winui.window.msg("请输入撤销接口", {icon: 2,time: 2000});
return false;
}
params.dsFormId = "";
}else if(params.pageTypes == 2){
params.pageUrl = "";
params.editPageUrl = "";
params.revokeMapping = "";
params.dsFormId = $("#dsFormId").val();
if(isNull(params.dsFormId)){
winui.window.msg("请选择表单页面", {icon: 2,time: 2000});
return false;
}
}
if(data.field.menuIconType == '1'){
if(isNull($("#menuIcon").val())){
winui.window.msg("请选择图标", {icon: 2,time: 2000});
return false;
}
params.menuIconPic = '';
}else if(data.field.menuIconType == '2'){
params.menuIconPic = $("#menuIconPic").find("input[type='hidden'][name='upload']").attr("oldurl");
if(isNull(params.menuIconPic)){
winui.window.msg('请上传logo', {icon: 2,time: 2000});
return false;
}
params.menuIcon = '';
params.menuIconColor = '';
}else{
winui.window.msg("状态值错误。", {icon: 2,time: 2000});
return false;
}
AjaxPostUtil.request({url:reqBasePath + "actmodletype012", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
}
});
// 图标选中事件
$("body").on("focus", "#menuIcon", function(e){
systemCommonUtil.openSysEveIconChoosePage(function(sysIconChooseClass){
$("#menuIcon").val(sysIconChooseClass);
$("#iconShow").css({'color': 'white'});
$("#iconShow").attr("class", "fa fa-fw " + $("#menuIcon").val());
});
});
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'colorpicker', 'textool', 'fileUpload'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var colorpicker = layui.colorpicker,
textool = layui.textool;
$("#menuIconPic").upload({
"action": reqBasePath + "common003",
"data-num": "1",
"data-type": "PNG,JPG,jpeg,gif",
"uploadType": 17,
"function": function (_this, data) {
show("#menuIconPic", data);
}
});
//初始化动态表单
initDsForm();
textool.init({
eleId: 'remark',
maxlength: 200,
tools: ['count', 'copy', 'reset', 'clear']
});
colorpicker.render({
elem: '#menuIconColor',
done: function(color){
$('#menuIconColorInput').val(color);
$("#iconShow").css({'color': color});
},
change: function(color){
$("#iconShow").css({'color': color});
}
});
colorpicker.render({
elem: '#backgroundColor',
done: function(color){
$('#backgroundColorInput').val(color);
}
});
// 图标类型变化事件
form.on('radio(menuIconType)', function (data) {
var val = data.value;
if(val == '1'){//icon
$(".menuIconTypeIsTwo").addClass("layui-hide");
$(".menuIconTypeIsOne").removeClass("layui-hide");
}else if(val == '2'){//图片
$(".menuIconTypeIsTwo").removeClass("layui-hide");
$(".menuIconTypeIsOne").addClass("layui-hide");
}else{
winui.window.msg('状态值错误', {icon: 2,time: 2000});
}
});
showGrid({
id: "actId",
url: reqBasePath + "activitimode009",
params: {},
pagination: false,
template: getFileContent('tpl/template/select-option.tpl'),
ajaxSendLoadBefore: function(hdb){
},
ajaxSendAfter:function(json){
form.render('select');
}
});
//页面类型变化事件
form.on('radio(pageTypes)', function (data) {
var val = data.value;
if(val == '1'){//指定页面
$(".TypeIsTwo").addClass("layui-hide");
$(".TypeIsOne").removeClass("layui-hide");
}else if(val == '2'){//动态表单
$(".TypeIsTwo").removeClass("layui-hide");
$(".TypeIsOne").addClass("layui-hide");
}else{
winui.window.msg('状态值错误', {icon: 2,time: 2000});
}
});
//初始化动态表单
function initDsForm(){
showGrid({
id: "dsFormId",
url: reqBasePath + "actmodletype020",
params: {},
pagination: false,
template: getFileContent('tpl/template/select-option-must.tpl'),
ajaxSendAfter: function(json){
form.render('select');
}
})
}
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
typeId: parent.rowId,
title: $("#typeName").val(),
actId: $("#actId").val(),
backgroundColor: $('#backgroundColorInput').val(),
pageTypes: data.field.pageTypes,
tokenUrl: $("#tokenUrl").val(),
remark: $("#remark").val(),
menuIconType: data.field.menuIconType,
menuIconPic: '',
menuIcon: $("#menuIcon").val(),
menuIconColor: $('#menuIconColorInput').val(),
commonUsed: data.field.commonUsed
};
if(params.pageTypes == 1){
params.pageUrl = $("#pageUrl").val();
params.editPageUrl = $("#editPageUrl").val();
params.revokeMapping = $("#revokeMapping").val();
if(isNull(params.pageUrl)){
winui.window.msg("请输入新增页面地址", {icon: 2,time: 2000});
return false;
}
if(isNull(params.editPageUrl)){
winui.window.msg("请输入编辑页面地址", {icon: 2,time: 2000});
return false;
}
if(isNull(params.revokeMapping)){
winui.window.msg("请输入撤销接口", {icon: 2,time: 2000});
return false;
}
params.dsFormId = "";
}else if(params.pageTypes == 2){
params.pageUrl = "";
params.editPageUrl = "";
params.revokeMapping = "";
params.dsFormId = $("#dsFormId").val();
if(isNull(params.dsFormId)){
winui.window.msg("请选择表单页面", {icon: 2,time: 2000});
return false;
}
}
if(data.field.menuIconType == '1'){
if(isNull($("#menuIcon").val())){
winui.window.msg("请选择图标", {icon: 2,time: 2000});
return false;
}
params.menuIconPic = '';
}else if(data.field.menuIconType == '2'){
params.menuIconPic = $("#menuIconPic").find("input[type='hidden'][name='upload']").attr("oldurl");
if(isNull(params.menuIconPic)){
winui.window.msg('请上传logo', {icon: 2,time: 2000});
return false;
}
params.menuIcon = '';
params.menuIconColor = '';
}else{
winui.window.msg("状态值错误。", {icon: 2,time: 2000});
return false;
}
AjaxPostUtil.request({url:reqBasePath + "actmodletype003", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
// 图标选中事件
$("body").on("focus", "#menuIcon", function(e){
systemCommonUtil.openSysEveIconChoosePage(function(sysIconChooseClass){
$("#menuIcon").val(sysIconChooseClass);
$("#iconShow").css({'color': 'white'});
$("#iconShow").attr("class", "fa fa-fw " + $("#menuIcon").val());
});
});
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
var rowId = "";
var clickId = "";//选中的申请类型id
var name = ""; //申请类型名
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'contextMenu'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
authBtn('1564106558827');//新增申请类型实体
authBtn('1564106543479');//新增申请类型
showLeft();
//初始化左侧菜单申请类型数据
function showLeft(){
var modleTypeTemplate = $('#modleTypeTemplate').html();
AjaxPostUtil.request({url:reqBasePath + "actmodletype002", params: {}, type:'json', callback:function(json){
if(json.returnCode == 0){
var str = getDataUseHandlebars(modleTypeTemplate, json);
$("#setting").html(str);
if(json.rows.length > 0){
clickId = json.rows[0].id;
$("#setting").find("a[rowid='" + clickId + "']").addClass('selected');
}
showList();//展示申请类型对应的申请类型实体列表
initRightMenu();//初始化右键
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
//初始化右键
function initRightMenu(){
var arrayObj = new Array();//创建一个数组
if(auth('1564106707762')){
arrayObj.push({
text: "上线",
img: "../../assets/images/up-state.png",
callback: function() {
upModleType();
}
})
}
if(auth('1564106721541')){
arrayObj.push({
text: "下线",
img: "../../assets/images/down-state.png",
callback: function() {
downModleType();
}
})
}
if(auth('1564106736541')){
arrayObj.push({
text: "上移",
img: "../../assets/images/up-move.png",
callback: function() {
upMoveModleType();
}
})
}
if(auth('1564106751352')){
arrayObj.push({
text: "下移",
img: "../../assets/images/down-move.png",
callback: function() {
downMoveModleType();
}
})
}
if(auth('1564106588307')){
arrayObj.push({
text: "删除",
img: "../../assets/images/delete-icon.png",
callback: function() {
deleteModleType();
}
})
}
if(auth('1564106574550')){
arrayObj.push({
text: "重命名",
img: "../../assets/images/rename-icon.png",
callback: function() {
var obj = $("#setting");
var html = obj.find("a[rowid='" + clickId + "']").find("span").html();
var newhtml = "<input value='" + html + "' class='layui-input setting-a-input' style='margin-top: 5px;'/>";
obj.find("a[rowid='" + clickId + "']").find("span").html(newhtml);
obj.find("input").select();
obj.find("input").blur(function(){
var value = obj.find("input").val();
if(!isNull(value)){
if(html != value){
AjaxPostUtil.request({url:reqBasePath + "actmodletype004", params: {rowId: clickId, title: value}, type:'json', callback:function(json){
if(json.returnCode == 0){
obj.find("a[rowid='" + clickId + "']").find("span").html(value);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}else{
obj.find("a[rowid='" + clickId + "']").find("span").html(html);
}
}else{
obj.find("a[rowid='" + clickId + "']").find("span").html(html);
}
});
}
})
}
if(arrayObj.length > 0){
$("#setting").contextMenu({
width: 190, // width
itemHeight: 30, // 菜单项height
bgColor: "#FFFFFF", // 背景颜色
color: "#0A0A0A", // 字体颜色
fontSize: 12, // 字体大小
hoverBgColor: "#99CC66", // hover背景颜色
target: function(ele) { // 当前元素
},
rightClass: 'setting-a,setting-a selected',
menu: arrayObj
});
}
};
//删除申请类型
function deleteModleType(){
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index){
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype005", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
$("#setting").find("a[rowid='" + clickId + "']").remove();
var _obj = $("#setting").find("a[class='setting-a']");
if(_obj.length > 0){
_obj.eq(0).click();
}else{
clickId = "";
loadTable();
}
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//上线申请类型
function upModleType(){
var msg = '确认上线该申请类型吗?';
layer.confirm(msg, { icon: 3, title: '上线申请类型实体' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype015", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
$("#setting").find("a[rowid='" + clickId + "']").find("div").remove();
$("#setting").find("a[rowid='" + clickId + "']").find("span").after('<div class="up-state-point"></div>');
winui.window.msg("上线成功", {icon: 1,time: 2000});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//下线申请类型
function downModleType(){
var msg = '确认下线该申请类型吗?';
layer.confirm(msg, { icon: 3, title: '下线申请类型实体' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype016", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
$("#setting").find("a[rowid='" + clickId + "']").find("div").remove();
$("#setting").find("a[rowid='" + clickId + "']").find("span").after('<div class="down-state-point"></div>');
winui.window.msg("下线成功", {icon: 1,time: 2000});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//上移申请类型
function upMoveModleType(){
AjaxPostUtil.request({url:reqBasePath + "actmodletype017", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.moveUpOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
var a = $("#setting").find("a[rowid='" + clickId + "']").prev();
$("#setting").find(a).remove();
$("#setting").find("a[rowid='" + clickId + "']").after(a);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
//下移申请类型
function downMoveModleType(){
AjaxPostUtil.request({url:reqBasePath + "actmodletype018", params:{rowId: clickId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.moveDownOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
var a = $("#setting").find("a[rowid='" + clickId + "']").next();
$("#setting").find(a).remove();
$("#setting").find("a[rowid='" + clickId + "']").before(a);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
//申请类型点击事件
$("body").on("click", ".setting-a-input", function(e){
e.stopPropagation();//阻止冒泡
});
$("body").on("contextmenu", ".setting-a-input", function(e){
e.stopPropagation();//阻止冒泡
});
//申请类型名右键效果
$("body").on("contextmenu", "#setting a", function(e){
clickId = $(this).attr("rowid");
name = $(this).attr("rowname");
$("#setting").find("a").removeClass("selected");
$("#setting").find("a[rowid='" + clickId + "']").addClass("selected");
loadTable();
});
//新增申请类型
$("body").on("click", "#addBean", function(e){
var obj = $("#setting");
var newhtml = "<input value='新增申请类型' class='layui-input setting-a-input' style='margin-top: 5px;' maxlength='6'/>";
if($("#setting a").size() == 0){
obj.append(newhtml);
}else{
$(newhtml).insertBefore($("#setting a").eq(0));
}
obj.find("input").select();
obj.find("input").blur(function(){
var value = obj.find("input").val();
if(isNull(value)){
$(this).select();
return;
}
AjaxPostUtil.request({url:reqBasePath + "actmodletype001", params: {title: value}, type:'json', callback:function(json){
if(json.returnCode == 0){
obj.find("input").remove();
clickId = json.bean.id;
var str = '<a rowid="' + clickId + '" rowname="' + value + '" class="setting-a" title="' + value + '"><span>' + value + '</span><div class="new-state-point"></div></a>';
if($("#setting a").size() != 0){
$(str).insertBefore($("#setting a").eq(0));
}else{
obj.append(str);
}
$("#setting").find("a[rowid='" + clickId + "']").click();
}else{
obj.find("input").select();
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
});
//对左侧菜单项的点击事件
$("body").on("click", "#setting a", function(e){
$(".setting a").removeClass("selected");
$(this).addClass("selected");
clickId = $(this).attr("rowid");
loadTable();
});
//展示申请类型对应的申请类型实体列表
function showList(){
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'actmodletype007',
where: {typeId: clickId, title: $("#title").val()},
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'title', title: '实体名称', align: 'left', width: 120, templet: function(d){
return '<a lay-event="dedails" class="notice-title-click">' + d.title + '</a>';
}},
{ field: 'actId', title: '工作流模型', align: 'left', width: 120},
{ field: 'pageUrl', title: '新增页面', align: 'left', width: 200 },
{ field: 'editPageUrl', title: '编辑页面', align: 'left', width: 200 },
{ field: 'backgroundColor', title: '背景', align: 'center', width: 80 },
{ field: 'state', title: '状态', align: 'center', width: 100 , templet: function(d){
if(d.state == '1'){
return "<span class='state-new'>新建</span>";
}else if(d.state == '2'){
return "<span class='state-up'>上线</span>";
}else if(d.state == '3'){
return "<span class='state-down'>下线</span>";
}else{
return "参数错误";
}
}},
{ field: 'createName', title: '创建人', align: 'left', width: 80 },
{ field: 'createTime', title: '创建时间', align: 'center', width: 160 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, toolbar: '#tableBar'}
]],
done: function(){
matchingLanguage();
}
});
}
//监听操作栏事件
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if(layEvent === 'del'){ //移除
del(data);
}else if (layEvent === 'edit') { //编辑
edit(data);
}else if (layEvent === 'up') { //上线
up(data);
}else if (layEvent === 'down') { //下线
down(data);
}else if (layEvent === 'upMove') { //上移
upMove(data);
}else if (layEvent === 'downMove') { //下移
downMove(data);
}else if (layEvent === 'dedails') { //详情
dedails(data);
}
});
//新增申请类型实体
$("body").on("click", "#addModle", function(e){
rowId = clickId;
_openNewWindows({
url: "../../tpl/actmodletype/actmodletypeadd.html",
title: "新增申请类型实体",
pageId: "actmodletypeadd",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
});
//移除申请类型实体
function del(data){
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index){
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype006", params: {rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//上线申请类型实体
function up(data){
var msg = '确认上线选中数据吗?';
layer.confirm(msg, { icon: 3, title: '上线申请类型实体' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype009", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("上线成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//下线申请类型实体
function down(data){
var msg = '确认下线选中数据吗?';
layer.confirm(msg, { icon: 3, title: '下线申请类型实体' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "actmodletype010", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("下线成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//编辑申请类型实体
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/actmodletype/actmodleedit.html",
title: "编辑类型实体",
pageId: "actmodleedit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
}
// 详情
function dedails(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/actmodletype/actModleDetails.html",
title: "详情",
pageId: "actmodleedit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
}
});
}
//上移申请类型实体
function upMove(data){
AjaxPostUtil.request({url:reqBasePath + "actmodletype013", params:{rowId: data.id, typeId: data.typeId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.moveUpOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
//下移申请类型实体
function downMove(data){
AjaxPostUtil.request({url:reqBasePath + "actmodletype014", params:{rowId: data.id, typeId: data.typeId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.moveDownOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
form.render();
//搜索申请类型实体
$("body").on("click", "#formSearch", function(){
refreshTable();
});
//搜索条件
function loadTable(){
table.reload("messageTable", {where:{typeId: clickId, title: $("#title").val()}});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where:{typeId: clickId, title: $("#title").val()}});
}
//刷新申请类型实体
$("body").on("click", "#reloadTable", function(){
loadTable();
});
//刷新申请类型
$("body").on("click", "#flashGroup", function(){
showLeft();
});
exports('actmodletypelist', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
form = layui.form;
//所有已完成流程
table.render({
id: 'messageAllComplateTable',
elem: '#messageAllComplateTable',
method: 'post',
url: reqBasePath + 'activitimode018',
where:{},
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'processInstanceId', title: '流程ID', width: 100 },
{ field: 'taskType', title: '类型', width: 100 },
{ field: 'createName', title: '申请人', width: 100},
{ field: 'createTime', title: '申请时间', align: 'center', width: 180, templet: function(d){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i:s', str);
}},
{ field: 'name', title: '当前节点', width: 130, templet: function(d){
return '[' + d.name + ']';
}},
{ field: 'agencyName', title: '审批人', width: 120},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#myAllComplateTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageAllComplateTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'selTasks') { //详情
activitiUtil.activitiDetails(data);
}
});
// 刷新所有已完成流程
$("body").on("click", "#loadAllComplateTable", function(){
reloadAllComplateTable();
});
function reloadAllComplateTable(){
table.reload("messageAllComplateTable", {where:{}});
}
exports('allcomplatepossess', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
form = layui.form;
// 所有待办
table.render({
id: 'messageAllConductTable',
elem: '#messageAllConductTable',
method: 'post',
url: reqBasePath + 'activitimode019',
where:{},
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'processInstanceId', title: '流程ID', width: 100 },
{ field: 'taskType', title: '类型', width: 100 },
{ field: 'createName', title: '申请人', width: 100},
{ field: 'createTime', title: '申请时间', align: 'center', width: 180, templet: function(d){
if(!isNull(d.createTime)){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i:s', str);
}
return "-";
}},
{ field: 'name', title: '当前节点', width: 130, templet: function(d){
return '[' + d.name + ']';
}},
{ field: 'suspended', title: '状态', align: 'center', width: 130, templet: function(d){
if(d.suspended){
return "<span class='state-down'>挂起</span>";
}else{
return "<span class='state-up'>正常</span>";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#allConductTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageAllConductTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'hangUp') { //挂起
hangUp(data, obj);
} else if (layEvent === 'activation') { //激活
activation(data, obj);
} else if (layEvent === 'selTasks') { //详情
activitiUtil.activitiDetails(data);
}
});
// 挂起
function hangUp(data, obj){
var msg = '确认挂起该流程吗?';
layer.confirm(msg, { icon: 3, title: '挂起' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode020", params:{processInstanceId: data.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("该流程已挂起", {icon: 1,time: 2000});
reloadAllConductTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//激活
function activation(data, obj){
var msg = '确认激活该流程吗?';
layer.confirm(msg, { icon: 3, title: '激活' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + "activitimode021", params:{processInstanceId: data.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("该流程已激活", {icon: 1,time: 2000});
reloadAllConductTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//刷新所有待办流程
$("body").on("click", "#reloadAllConductTable", function(){
reloadAllConductTable();
});
function reloadAllConductTable(){
table.reload("messageAllConductTable", {where:{}});
}
exports('alltodopossess', {});
});
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
// 设置提示信息
$("#showInfo").html("审批人员选择规则:双击指定行即可选中。");
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'activitiProcess001',
where: getTableParams(),
even: true,
page: false,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: 'radio', rowspan: '2'},
{ field: 'jobNumber', title: '工号', align: 'left', rowspan: '2', width: 120},
{ field: 'userName', title: '姓名', align: 'left', rowspan: '2', width: 120},
{ title: '公司信息', align: 'center', colspan: '3'},
{ field: 'userEmail', title: '邮箱', align: 'left', rowspan: '2', width: 200}
],[
{ field: 'companyName', title: '公司', align: 'left', width: 120},
{ field: 'departmentName', title: '部门', align: 'left', width: 120},
{ field: 'jobName', title: '职位', align: 'left', width: 120}
]],
done: function(res, curr, count){
matchingLanguage();
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = res.rows[chooseIndex];
parent.activitiUtil.chooseApprovalPersonMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
click.find("input[type='radio']").prop("checked", true);
form.render();
})
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
});
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
refreshTable();
}
return false;
});
$("body").on("click", "#reloadTable", function(){
loadTable();
});
function loadTable(){
table.reload("messageTable", {where: getTableParams()});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where: getTableParams()});
}
function getTableParams(){
return {
processInstanceId: parent.activitiUtil.processInstanceId,
taskId: parent.activitiUtil.taskId,
flag: parent.activitiUtil.flag
};
}
exports('approvalPersonChoose', {});
});
\ No newline at end of file
var jsonArray = [];//表单项
var layedit, form;
// 当前审批的表单是动态表单还是静态页面
var pageTypes = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'layedit', 'colorpicker', 'slider', 'fileUpload', 'codemirror', 'xml', 'clike',
'css', 'htmlmixed', 'javascript', 'nginx', 'solr', 'sql', 'vue', 'form', "table", 'flow'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
table = layui.table,
flow = layui.flow;
form = layui.form,
layedit = layui.layedit;
var taskId = parent.taskId;
var processInstanceId = parent.processInstanceId;
var taskType = parent.taskType;
$("#activitiTitle").html(taskType);
// 时间线审批历史列表模板
var timeTreeApprovalHistory = $("#timeTreeApprovalHistory").html();
var textTemplate = $("#textTemplate").html(),//文本展示
enclosureTemplate = $("#enclosureTemplate").html(),//附件展示
eichTextTemplate = $("#eichTextTemplate").html(),//富文本展示
picTemplate = $("#picTemplate").html(),//图片展示
tableTemplate = $("#tableTemplate").html();//表格展示
AjaxPostUtil.request({url:reqBasePath + "activitimode016", params: {taskId: taskId, processInstanceId: processInstanceId}, type:'json', callback:function(j){
if(j.returnCode == 0){
pageTypes = isNull(j.bean.pageTypes) ? '1' : j.bean.pageTypes;
var jsonStr = "";//实体json对象
var str = "";
//获取该节点的id和名称
var editableNodeId = j.bean.taskKey;
var editableNodeName = j.bean.taskKeyName;
$.each(j.rows, function(i, item){
jsonStr = {
bean: item
};
jsonArray.push(item);
//判断表单项在该流程节点是否可以编辑
if((!isNull(editableNodeId) && ("," + item.editableNodeId + ",").indexOf("," + editableNodeId + ",") > -1)
|| (!isNull(editableNodeName) && ("," + item.editableNodeName + ",").indexOf("," + editableNodeName + ",") > -1)){
var formItem = item.formItem;
if(!isNull(formItem)){
if(formItem.associatedDataTypes == 1){//json串
var obj = formItem.aData;
tplContent = getDataUseHandlebars(formItem.templateContent, obj);
formItem.context = tplContent;
}else if(formItem.associatedDataTypes == 2){//接口
AjaxPostUtil.request({url:reqBasePath + "dsformpage011", params:{interfa: formItem.aData}, type:'json', callback:function(j){
if(j.returnCode == 0){
var obj = JSON.parse(j.bean.aData);
tplContent = getDataUseHandlebars(formItem.templateContent, obj);
formItem.context = tplContent;
}else{
winui.window.msg(j.returnMessage, {icon: 2,time: 2000});
}
}, async: false});
}
//重置左侧编辑框添加冒号
formItem.labelContent += '';
jsonStr = {
bean: formItem
};
var htmlContent = formItem.htmlContent;//模板
var tpl = '{{#bean}}' + htmlContent + '{{/bean}}';
var html = getDataUseHandlebars(tpl, jsonStr);
var jsContent = formItem.jsContent;
var js = '{{#bean}}' + jsContent + '{{/bean}}';
var html_js = getDataUseHandlebars(js, jsonStr);
var jsCon = '<script>layui.define(["jquery"], function(exports) {var jQuery = layui.jquery;(function($) {' + html_js + '})(jQuery);});</script>';
$("#showForm").append(html + jsCon);
$("#" + formItem.id).val(item.text); //给能通过id赋值的控件赋值
var _this = $("#showForm .layui-form-item").eq(i);//当前控件
var vid = _this.attr("controlType");//控件类型
if(vid === 'range'){//类型为滑块
var thisId = _this.find('div[id="' + formItem.id + '"]');
thisId.find(".layui-slider-tips").html(item.text);
thisId.find("div .layui-slider-bar").css("width", item.text + "%");
thisId.find("div .layui-slider-wrap").css("left", item.text + "%");
thisId.find("div .layui-slider-wrap").data("value", item.text);
}else if(vid === 'color'){//类型为颜色选择器
_this.find("input").val(item.text);
_this.find('div[id="' + formItem.id + '"]').find("span .layui-colorpicker-trigger-span").attr("style", "background:" + item.text);
}else if(vid === 'switchedradio'){//类型为开关式单选框
_this.find("input").val(item.text);
if(item.text === 'true' || item.text == true){
_this.find("input").prop("checked", true);
}
_this.find("input").attr('id', formItem.id);
_this.find("input").attr('name', formItem.id);
_this.find("input").attr('lay-filter', formItem.id);
}else if(vid === 'radio'){//类型为单选框
_this.find("input:radio").attr("name", formItem.id);
_this.find("input:radio[value=" + item.text + "]").attr("checked", true);
}else if(vid === 'richtextarea'){//类型为富文本框
_this.find('iframe[textarea="' + formItem.id + '"]').contents().find("body").html(item.text);
}else if(vid === 'checkbox'){//类型为多选框
var checkArray = item.text.split(",");
var checkBoxAll = _this.find("input:checkbox");
checkBoxAll.attr("name", formItem.id);
for(var k = 0; k < checkArray.length; k++){
$.each(checkBoxAll, function(j, formItem){
if(checkArray[k] == $(this).val()){
$(this).prop("checked", true);
}
});
}
}
}else{
if(item.showType == 1){//文本展示
str = getDataUseHandlebars(textTemplate, jsonStr);
}else if(item.showType == 2){//附件展示
str = getDataUseHandlebars(enclosureTemplate, jsonStr);
}else if(item.showType == 3){//富文本展示
str = getDataUseHandlebars(eichTextTemplate, jsonStr);
}else if(item.showType == 4){//图片展示
var photoValue = [];
if(!isNull(jsonStr.bean.text)){
photoValue = item.value.split(",");
}
var rows = [];
$.each(photoValue, function(j, row){
rows.push({photoValue: row});
});
jsonStr.bean.photo = rows;
str = getDataUseHandlebars(picTemplate, jsonStr);
}else if(item.showType == 5){//表格展示
str = getDataUseHandlebars(tableTemplate, jsonStr);
var tableId = "messageTable" + item.orderBy;//表格id
var tableBoxId = "showTable" + item.orderBy;//表格外部div盒子id
$("#showForm").append(str);
$("#" + tableBoxId).html('<table id="' + tableId + '" lay-filter="' + tableId + '"></table>');
table.render({
id: tableId,
elem: "#" + tableId,
data: $.extend(true, [], item.value),
page: false,
cols: [getHeaderTitle(item.headerTitle)]
});
str = "";
}
}
}else{
if(item.showType == 1){//文本展示
str = getDataUseHandlebars(textTemplate, jsonStr);
}else if(item.showType == 2){//附件展示
str = getDataUseHandlebars(enclosureTemplate, jsonStr);
}else if(item.showType == 3){//富文本展示
str = getDataUseHandlebars(eichTextTemplate, jsonStr);
}else if(item.showType == 4){//图片展示
var photoValue = [];
if(!isNull(jsonStr.bean.text)){
photoValue = item.value.split(",");
}
var rows = [];
$.each(photoValue, function(j, row){
rows.push({photoValue: row});
});
jsonStr.bean.photo = rows;
str = getDataUseHandlebars(picTemplate, jsonStr);
}else if(item.showType == 5){//表格展示
str = getDataUseHandlebars(tableTemplate, jsonStr);
var tableId = "messageTable" + item.orderBy;//表格id
var tableBoxId = "showTable" + item.orderBy;//表格外部div盒子id
$("#showForm").append(str);
$("#" + tableBoxId).html('<table id="' + tableId + '" lay-filter="' + tableId + '"></table>');
table.render({
id: tableId,
elem: "#" + tableId,
data: $.extend(true, [], item.value),
page: false,
cols: [getHeaderTitle(item.headerTitle)]
});
str = "";
}
}
$("#showForm").append(str);
});
// 加载流程图片
$("#processInstanceIdImg").attr("src", fileBasePath + 'images/upload/activiti/' + processInstanceId + ".png");
// 加载下个节点审批人选择信息
activitiUtil.initApprovalPerson("approvalOpinionDom", processInstanceId, taskId, $("input[name='flag']:checked").val());
// 加载审批历史
inboxTimeTreeApprovalHistory();
matchingLanguage();
form.render();
}else{
winui.window.msg(j.returnMessage, {icon: 2,time: 2000});
}
}});
function getHeaderTitle(headerTitle){
if(typeof headerTitle == 'string'){
return JSON.parse(headerTitle);
}
return headerTitle;
}
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var msg = '确认提交任务吗?';
layer.confirm(msg, { icon: 3, title: '提交任务' }, function (i) {
layer.close(i);
var params = [];//传给服务器的数组
for(var i = 0; i < $("#showForm .layui-form-item").length; i++){
var _this = $("#showForm .layui-form-item").eq(i);
var vid = _this.attr("controlType"),//控件类型
text = "",
value = "";
if(vid === 'input'){//类型为输入框
text = _this.find("input").val();
value = _this.find("input").val();
}else if(vid === 'textarea'){//类型为文本框
text = _this.find("textarea").val();
value = _this.find("textarea").val();
}else if(vid === 'select'){//类型为下拉框
text = _this.find("select").find("option:selected").text();
value = _this.find("select").val();
}else if(vid === 'checkbox'){//类型为多选框
var texts = [], values = [];
var arr = _this.find("input:checkbox:checked");
$.each(arr, function(i, item){
texts[i] = $(this).attr("title");
values[i] = $(this).attr("value");
});
text = texts.join(",");
value = values.join(",");
}else if(vid === 'radio'){//类型为单选框
text = _this.find("input:radio:checked").attr("title");
value = _this.find("input:radio:checked").val();
}else if(vid === 'upload'){//类型为图片上传
var uploadId = _this.find(".upload").attr("id");
text = $("#" + uploadId).find("input[type='hidden'][name='upload']").attr("oldurl");
value = $("#" + uploadId).find("input[type='hidden'][name='upload']").attr("oldurl");
if(isNull(text))
text = "";
if(isNull(value))
value = "";
}else if(vid === 'color'){//类型为颜色选择器
text = _this.find("input").val();
value = _this.find("input").val();
}else if(vid === 'range'){//类型为滑块
text = _this.find(".layui-slider-tips").html();
value = _this.find(".layui-slider-tips").html();
}else if(vid === 'richtextarea'){//类型为富文本框
var textareaId = _this.find("textarea").attr("id");
var content = encodeURIComponent(_this.find('iframe[textarea="' + textareaId + '"]').contents().find("body").html());
text = content;
value = content;
}else if(vid === 'switchedradio'){//类型为开关式单选框
value = _this.find("input").val();
var layText = _this.find("input").attr('lay-text');
if(value == "true"){
text = layText.split('|')[0];
}else{
text = layText.split('|')[1];
}
}else{
continue;
}
var obj = {
value: value,
text: text,
rowId: jsonArray[i].rowId
};
params.push(obj);
}
var jStr = {
taskId: taskId,
opinion: $("#opinion").val(),
flag: $("input[name='flag']:checked").val(),
processInstanceId: processInstanceId,
editStr: (params.length > 0) ? JSON.stringify(params) : "",
pageTypes: pageTypes,
approverId: activitiUtil.getApprovalPersonId()
};
AjaxPostUtil.request({url:reqBasePath + "activitimode005", params: jStr, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
return false;
});
// 加载时间线审批历史
function inboxTimeTreeApprovalHistory(){
flow.load({
elem: '#timeTreeApprovalHistoryList', //指定列表容器
scrollElem: '#timeTreeApprovalHistoryList',
isAuto: true,
done: function(page, next) { //到达临界点(默认滚动触发),触发下一页
var lis = [];
//以jQuery的Ajax请求为例,请求下一页数据(注意:page是从2开始返回)
AjaxPostUtil.request({url:reqBasePath + "activitimode017", params:{processInstanceId: parent.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
var jsonStr = "";//实体json对象
$.each(json.rows, function(index, bean) {
bean.showClass = 'date02';
jsonStr = {
bean: bean
};
lis.push(getDataUseHandlebars(timeTreeApprovalHistory, jsonStr));
});
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), (page * 1000) < json.total);
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
});
}
$("body").on("click", ".enclosureItem", function(){
download(fileBasePath + $(this).attr("rowpath"), $(this).html());
});
$("body").on("click", "#processInstanceIdImg", function(){
systemCommonUtil.showPicImg({src: $(this).attr("src")});
});
// 取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
exports('approvalProcess', {});
});
// 该审批人员选择为用户启动流程时的人员选择,因为刚启动流程,还没有流程id和任务id,所以只能用这种方式
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
// 设置提示信息
$("#showInfo").html("审批人员选择规则:双击指定行即可选中。");
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'activitiProcess002',
where: getTableParams(),
even: true,
page: false,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: 'radio', rowspan: '2'},
{ field: 'jobNumber', title: '工号', align: 'left', rowspan: '2', width: 120},
{ field: 'userName', title: '姓名', align: 'left', rowspan: '2', width: 120},
{ title: '公司信息', align: 'center', colspan: '3'},
{ field: 'userEmail', title: '邮箱', align: 'left', rowspan: '2', width: 200}
],[
{ field: 'companyName', title: '公司', align: 'left', width: 120},
{ field: 'departmentName', title: '部门', align: 'left', width: 120},
{ field: 'jobName', title: '职位', align: 'left', width: 120}
]],
done: function(res, curr, count){
matchingLanguage();
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = res.rows[chooseIndex];
parent.activitiUtil.chooseApprovalPersonMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
click.find("input[type='radio']").prop("checked", true);
form.render();
})
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
});
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
refreshTable();
}
return false;
});
$("body").on("click", "#reloadTable", function(){
loadTable();
});
function loadTable(){
table.reload("messageTable", {where: getTableParams()});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where: getTableParams()});
}
function getTableParams(){
return {
pageUrl: parent.pageUrl
};
}
exports('startProcessPersonChoose', {});
});
\ No newline at end of file
var pageUrl = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
pageUrl = parent.activitiUtil.pageUrl;
$("body").on("click", ".chooseApprovalPersonBtn", function(){
_openNewWindows({
url: "../../tpl/approvalActiviti/startProcessPersonChoose.html",
title: "审批人选择",
pageId: "startProcessPersonChoose",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
$("#approvalPersonName").val(activitiUtil.chooseApprovalPersonMation.jobNumber + "_" + activitiUtil.chooseApprovalPersonMation.userName);
$("#approvalPersonName").attr("chooseData", JSON.stringify(activitiUtil.chooseApprovalPersonMation));
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
});
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
parent.activitiUtil.chooseApprovalPersonMation = activitiUtil.chooseApprovalPersonMation;
parent.refreshCode = '0';
parent.layer.close(index);
}
return false;
});
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});
\ No newline at end of file
var layedit, form;
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'].concat(dsFormUtil.mastHaveImport), function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
layedit = layui.layedit,
form = layui.form;
var actKey = parent.actKey;
// 加载动态表单页
AjaxPostUtil.request({url:reqBasePath + "dsformpage012", params:{rowId: parent.dsFormId}, type:'json', callback:function(json){
if(json.returnCode == 0){
dsFormUtil.loadDsFormItemToEdit("showForm", json.rows);
$("#showForm").append('<div class="layui-form-item layui-col-xs12"><div class="layui-input-block">' +
'<button class="winui-btn" id="cancle">' + systemLanguage["com.skyeye.cancel"][languageType] + '</button>' +
'<button class="winui-btn" lay-submit="" lay-filter="formAddBean">提交审批</button>' +
'</div></div>');
matchingLanguage();
form.render();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
activitiUtil.startProcess(parent.dsFormId, function (approvalId) {
if(isNull(actKey)){
winui.window.msg('流程对象为空,无法启动.', {icon: 2,time: 2000});
return false;
}
var jStr = {
keyName: actKey,
jsonStr: JSON.stringify(dsFormUtil.getPageData($("#showForm"))),
pageId: parent.dsFormId,
approvalId: approvalId
};
AjaxPostUtil.request({url:reqBasePath + "activitimode022", params: jStr, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("申请提交成功,等待审核...", {icon: 1,time: 2000}, function(){
parent.layer.close(index);
parent.refreshCode = '0';
});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
return false;
});
// 取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
// 动态表单草稿状态下的详情
var rowId = parent.rowId;
AjaxPostUtil.request({url:reqBasePath + "pagesequence006", params: {rowId: rowId}, type:'json', callback:function(j){
if(j.returnCode == 0){
dsFormUtil.initSequenceDataDetails("showForm", j.rows);
matchingLanguage();
}else{
winui.window.msg(j.returnMessage, {icon: 2,time: 2000});
}
}});
exports('dsFormPageSequenceDraftProcessDetail', {});
});
var layedit, form;
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'].concat(dsFormUtil.mastHaveImport), function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
layedit = layui.layedit,
form = layui.form;
// 编辑动态表单时进行回显
AjaxPostUtil.request({url:reqBasePath + "pagesequence003", params:{rowId: parent.rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
dsFormUtil.loadDsFormItemToEdit("showForm", json.rows);
$("#showForm").append('<div class="layui-form-item layui-col-xs12"><div class="layui-input-block">' +
'<button class="winui-btn" id="cancle">' + systemLanguage["com.skyeye.cancel"][languageType] + '</button>' +
'<button class="winui-btn" lay-submit="" lay-filter="formAddBean">' + systemLanguage["com.skyeye.save"][languageType] + '</button>' +
'</div></div>');
matchingLanguage();
form.render();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = dsFormUtil.getPageData($("#showForm"));
AjaxPostUtil.request({url:reqBasePath + "pagesequence004", params: {jsonStr: JSON.stringify(params)}, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
// 取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
\ No newline at end of file
var layedit, form;
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'].concat(dsFormUtil.mastHaveImport), function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
layedit = layui.layedit,
form = layui.form;
// 获取动态表单内容用于编辑申请类型实体
AjaxPostUtil.request({url:reqBasePath + "activitimode023", params:{rowId: parent.sequenceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
dsFormUtil.loadDsFormItemToEdit("showForm", json.rows);
$("#showForm").append('<div class="layui-form-item layui-col-xs12"><div class="layui-input-block">' +
'<button class="winui-btn" id="cancle">' + systemLanguage["com.skyeye.cancel"][languageType] + '</button>' +
'<button class="winui-btn" lay-submit="" lay-filter="formAddBean">' + systemLanguage["com.skyeye.save"][languageType] + '</button>' +
'</div></div>');
form.render();
matchingLanguage();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var jStr = {
jsonStr: JSON.stringify(dsFormUtil.getPageData($("#showForm"))),
taskId: parent.taskId,
processInstanceId: parent.processInstanceId
};
AjaxPostUtil.request({url:reqBasePath + "activitimode024", params: jStr, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
// 取消
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
\ No newline at end of file
var rowId = "";//用户提交的表单数据的id
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'laydate'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
laydate = layui.laydate,
form = layui.form;
//'申请时间'页面的选取时间段表格
laydate.render({
elem: '#createTime', //指定元素
range: '~'
});
// 我启动的流程
table.render({
id: 'messageMyStartTable',
elem: '#messageMyStartTable',
method: 'post',
url: reqBasePath + 'pagesequence001',
where: getTableParams(),
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'title', title: '流程名称', width: 100 },
{ field: 'typeTitle', title: '流程类型', width: 100 },
{ field: 'createTime', title: '申请时间', align: 'center', width: 140},
{ field: 'state', title: '状态', align: 'center', width: 80, templet: function(d){
if(d.state == 1){
return "<span class='state-down'>草稿</span>";
}else{
return "<span class='state-up'>正常</span>";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#myStartTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageMyStartTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') { //编辑
edit(data);
} else if (layEvent === 'details') { //详情
details(data);
} else if (layEvent === 'subApproval') { //提交审批
subApproval(data);
} else if (layEvent === 'deleteRow') { //删除
deleteRow(data);
}
});
// 编辑
function edit(data){
rowId = data.id;
_openNewWindows({
url: '../../tpl/dsFormPageSequence/dsFormPageSequenceDraftProcessEdit.html',
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "dsFormPageSequenceDraftProcessEdit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
}
// 表单详情
function details(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/dsFormPageSequence/dsFormPageSequenceDraftProcessDetail.html",
title: systemLanguage["com.skyeye.detailsPageTitle"][languageType],
pageId: "dsFormPageSequenceDraftProcessDetail",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
}
});
}
// 提交审批
function subApproval(data){
layer.confirm('确认提交进行审批吗?', { icon: 3, title: '提交审批' }, function (i) {
layer.close(i);
activitiUtil.startProcess(data.pageId, function (approvalId) {
var params = {
rowId: data.id,
pageId: data.pageId,
approvalId: approvalId
};
AjaxPostUtil.request({url: reqBasePath + "pagesequence005", params: params, type: 'json', callback: function(json){
if(json.returnCode == 0){
winui.window.msg("申请提交成功,等待审核...", {icon: 1, time: 2000});
reloadMyStartTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2, time: 2000});
}
}});
});
});
}
// 删除
function deleteRow(data){
layer.confirm('确认删除该数据吗?', { icon: 3, title: '删除操作' }, function (i) {
layer.close(i);
AjaxPostUtil.request({url:reqBasePath + "pagesequence002", params: {rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1,time: 2000});
reloadMyStartTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
searchMyStartTable();
}
return false;
});
// 刷新表单草稿列表
$("body").on("click", "#reloadMyStartTable", function(){
reloadMyStartTable();
});
function reloadMyStartTable(){
table.reload("messageMyStartTable", {where: getTableParams()});
}
function searchMyStartTable(){
table.reload("messageMyStartTable", {page: {curr: 1}, where: getTableParams()});
}
function getTableParams(){
var startTime = "";
var endTime = "";
if(!isNull($("#createTime").val())){//一定要记得,当createTime为空时
startTime = $("#createTime").val().split('~')[0].trim() + ' 00:00:00';
endTime = $("#createTime").val().split('~')[1].trim() + ' 23:59:59';
}
return {
startTime: startTime,
endTime: endTime
};
}
exports('dsFormPageSequenceDraftProcessList', {});
});
var processInstanceId = "";//流程id
var sequenceId = "";//动态表单类型的流程
var rowId = "";//用户提交的表单数据的id
var taskId = "";//任务id
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'laydate'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
laydate = layui.laydate,
form = layui.form;
//'申请时间'页面的选取时间段表格
laydate.render({
elem: '#createTime', //指定元素
range: '~'
});
//申请时间
var startTime = "", endTime = "";
// 我启动的流程
table.render({
id: 'messageMyStartTable',
elem: '#messageMyStartTable',
method: 'post',
url: reqBasePath + 'activitimode013',
where:{startTime: startTime, endTime: endTime, processInstanceId: $("#processInstanceId").val()},
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'processInstanceId', title: '流程ID', width: 100 },
{ field: 'taskType', title: '类型', width: 100 },
{ field: 'createName', title: '申请人', width: 100},
{ field: 'createTime', title: '申请时间', align: 'center', width: 140, templet: function(d){
if(!isNull(d.createTime)){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i', str);
}else{
return "";
}
}},
{ field: 'name', title: '当前节点', width: 130, templet: function(d){
return '[' + d.name + ']';
}},
{ field: 'agencyName', title: '审批人', width: 120},
{ field: 'suspended', title: '状态<i id="stateDesc" class="fa fa-question-circle" style="margin-left: 5px"></i>', align: 'center', width: 130, templet: function(d){
if(d.suspended){
return "<span class='state-down'>挂起</span>";
}else{
return "<span class='state-up'>正常</span>";
}
}},
{ field: 'weatherEnd', title: '审批进度', align: 'left', width: 80, templet: function(d){
if(d.weatherEnd == 0){
return "<span class='state-down'>进行中</span>";
}else{
return "<span class='state-up'>已完成</span>";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#myStartTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageMyStartTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') { //编辑
edit(data);
} else if (layEvent === 'details') { //详情
activitiUtil.activitiDetails(data);
} else if (layEvent === 'revoke') { //撤销
revoke(data);
} else if (layEvent === 'refreshPic') { //刷新流程图
refreshPic(data);
}
});
//编辑
function edit(data){
sequenceId = data.sequenceId;
taskId = data.id;
processInstanceId = data.processInstanceId;
rowId = data.dataId;
_openNewWindows({
url: data.pageUrl,
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "myactivitiedit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
}
//撤销
function revoke(data){
if(isNull(data.revokeMapping)){//撤销接口为空
winui.window.msg('撤销接口调用失败', {icon: 2,time: 2000});
return false;
}
layer.confirm('确定撤销该流程吗?', { icon: 3, title: '撤销操作' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url:reqBasePath + data.revokeMapping, params:{processInstanceId: data.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("撤销成功", {icon: 1,time: 2000});
reloadMyStartTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//刷新流程图
function refreshPic(data){
layer.confirm('确认重新生成流程图吗?', { icon: 3, title: '刷新流程图操作' }, function (i) {
layer.close(i);
AjaxPostUtil.request({url:reqBasePath + "activitimode027", params: {processInstanceId: data.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//刷新我启用的流程
$("body").on("click", "#reloadMyStartTable", function(){
reloadMyStartTable();
});
//搜索
$("body").on("click", "#formSearch", function(){
searchMyStartTable();
});
function reloadMyStartTable(){
if(!isNull($("#createTime").val())){//一定要记得,当createTime为空时
startTime = $("#createTime").val().split('~')[0].trim() + ' 00:00:00';
endTime = $("#createTime").val().split('~')[1].trim() + ' 23:59:59';
}else{
startTime = "";
endTime = "";
}
table.reload("messageMyStartTable", {where:{startTime: startTime, endTime: endTime, processInstanceId: $("#processInstanceId").val()}});
}
function searchMyStartTable(){
if(!isNull($("#createTime").val())){//一定要记得,当createTime为空时
startTime = $("#createTime").val().split('~')[0].trim() + ' 00:00:00';
endTime = $("#createTime").val().split('~')[1].trim() + ' 23:59:59';
}else{
startTime = "";
endTime = "";
}
table.reload("messageMyStartTable", {page: {curr: 1}, where:{startTime: startTime, endTime: endTime, processInstanceId: $("#processInstanceId").val()}});
}
$("body").on("click", "#stateDesc", function() {
layer.tips('该状态分为挂机和正常,被挂机待办无法进行审批操作', $("#stateDesc"), {
tips: [1, '#3595CC'],
time: 4000
});
});
exports('initiatedProcess', {});
});
var actKey = "";
var dsFormId = "";
/**
* 新建流程
*/
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form;
var beanTemplate = $("#beanTemplate").html();
showGrid({
id: "showForm",
url: reqBasePath + "actmodletype019",
params: {},
pagination: false,
template: beanTemplate,
ajaxSendLoadBefore: function(hdb){
// 展示图标
hdb.registerHelper("compare1", function(v1, v2, v3, v4, options){
var str = "";
if(v1 == 1){
// icon
str = '<i class="fa fa-fw ' + v3 + '" style="font-size: 18px; line-height: 30px; width: 100%; color: ' + v4 + '"></i>';
}else{
str = '<img src="' + reqBasePath + v2 + '" class="photo-img" style="width: 25px; height: 25px">';
}
return str;
});
// 是否常用/热门的标识
hdb.registerHelper("compare2", function(v1, options){
var str = "";
if(v1 == 1){
str = '<img src="../../assets/images/hot-forum.png" style="width: 16px; height: 16px;" title="常用/热门">';
}
return str;
});
},
ajaxSendAfter:function(json){
$('.task-launch-item').hover(function() {
var obj = $(this);
bkIn(obj);
}, function() {
var obj = $(this);
bkOut(obj);
});
matchingLanguage();
}
});
$("body").on("click", ".launchTask", function(e){
var title = $(this).attr("showTitle");
var url = $(this).attr("pageUrl");
dsFormId = $(this).attr("dsFormId");
actKey = $(this).attr("actid");
_openNewWindows({
url: url,
title: title,
pageId: "openLaunchTaskPage",
area: ['100vw', '100vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg("提交成功", {icon: 1,time: 2000});
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
});
//边框效果--移入
function bkIn(obj){
var height = $(obj).height();
var width = $(obj).width();
$(obj).find('.task-launch-item-bk_1').stop(true).animate({
height: height + 'px'
},300)
$(obj).find('.task-launch-item-bk_2').stop(true).delay(300).animate({
width: width + 'px'
},300)
$(obj).find('.task-launch-item-bk_3').stop(true).animate({
height: height + 'px'
},300)
$(obj).find('.task-launch-item-bk_4').stop(true).delay(300).animate({
width: width + 'px'
},300)
}
//边框效果--移出
function bkOut(obj){
$(obj).find('.task-launch-item-bk_1').stop(true).delay(100).animate({
height:'0px'
},100)
$(obj).find('.task-launch-item-bk_2').stop(true).animate({
width:'0px'
},100)
$(obj).find('.task-launch-item-bk_3').stop(true).delay(100).animate({
height:'0px'
},100)
$(obj).find('.task-launch-item-bk_4').stop(true).animate({
width:'0px'
},100)
}
exports('newProcess', {});
});
var taskId = "";//任务id
var taskType = "";//流程类型
var processInstanceId = "";//流程id
var sequenceId = "";//动态表单类型的流程
// 待我审批
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
form = layui.form;
// 待我审批
table.render({
id: 'messageMyNeedDealtTable',
elem: '#messageMyNeedDealtTable',
method: 'post',
url: reqBasePath + 'activitimode008',
where: {taskName: $("#taskName").val(), processInstanceId: $("#processInstanceId").val()},
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'processInstanceId', title: '流程ID', width: 100 },
{ field: 'taskType', title: '类型', width: 100 },
{ field: 'createName', title: '申请人', width: 140},
{ field: 'createTime', title: '申请时间', align: 'center', width: 140, templet: function(d){
if(!isNull(d.createTime)){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i', str);
}else{
return "";
}
}},
{ field: 'name', title: '当前节点', width: 130, templet: function(d){
return '[' + d.name + ']';
}},
{ field: 'suspended', title: '状态<i id="stateDesc" class="fa fa-question-circle" style="margin-left: 5px"></i>', align: 'center', width: 130, templet: function(d){
if(d.suspended){
return "<span class='state-down'>挂起</span>";
}else{
return "<span class='state-up'>正常</span>";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#myNeedDealtTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageMyNeedDealtTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'subTasks') { //提交任务
subTasks(data, obj);
} else if (layEvent === 'details') { //详情
activitiUtil.activitiDetails(data);
} else if (layEvent === 'turnMultiInstance') { //转为会签
activitiUtil.turnMultiInstance(data.processInstanceId, data.id);
}
});
// 提交任务
function subTasks(data, obj){
taskId = data.id;
taskType = data.taskType;
processInstanceId = data.processInstanceId;
_openNewWindows({
url: "../../tpl/approvalActiviti/approvalProcess.html",
title: "流程审批",
pageId: "approvalProcess",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg("提交成功", {icon: 1,time: 2000});
loadMyNeedDealtTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}});
}
// 刷新我的待办
$("body").on("click", "#reloadMyNeedDealtTable", function(){
loadMyNeedDealtTable();
});
// 搜索
$("body").on("click", "#formSearch", function(){
refreshTable();
});
function loadMyNeedDealtTable(){
table.reload("messageMyNeedDealtTable", {where:{taskName: $("#taskName").val(), processInstanceId: $("#processInstanceId").val()}});
}
function refreshTable(){
table.reload("messageMyNeedDealtTable", {page: {curr: 1}, where:{taskName: $("#taskName").val(), processInstanceId: $("#processInstanceId").val()}});
}
$("body").on("click", "#stateDesc", function() {
layer.tips('该状态分为挂机和正常,被挂机待办无法进行审批操作', $("#stateDesc"), {
tips: [1, '#3595CC'],
time: 4000
});
});
exports('pendingProcess', {});
});
var processInstanceId = "";//流程id
var hisTaskId = "";//历史审批任务id
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
table = layui.table,
form = layui.form;
// 我的历史任务
table.render({
id: 'messageMyHistoryTaskTable',
elem: '#messageMyHistoryTaskTable',
method: 'post',
url: reqBasePath + 'activitimode014',
where:{},
even:true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'processInstanceId', title: '流程ID', width: 100 },
{ field: 'taskType', title: '类型', width: 100 },
{ field: 'createName', title: '申请人', width: 100},
{ field: 'startTime', title: '申请时间', align: 'center', width: 140, templet: function(d){
if(!isNull(d.createTime)){
var str = d.createTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i', str);
}else{
return "";
}
}},
{ field: 'name', title: '我处理的节点', width: 130, templet: function(d){
return '[' + d.name + ']';
}},
{ field: 'agencyName', title: '受理人', width: 80},
{ field: 'endTime', title: '受理时间', align: 'center', width: 140, templet: function(d){
if(!isNull(d.endTime)){
var str = d.endTime.toString();
str = str.substring(0, str.length - 3);
return date('Y-m-d H:i', str);
}else{
return "";
}
}},
{ field: 'weatherEnd', title: '审批进度', align: 'left', width: 80, templet: function(d){
if(d.weatherEnd == 0){
return "<span class='state-down'>进行中</span>";
}else{
return "<span class='state-up'>已完成</span>";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 240, toolbar: '#myHistoryTaskTableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageMyHistoryTaskTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'details') { //详情
activitiUtil.activitiDetails(data);
} else if (layEvent === 'withdraw') { //撤回
withdraw(data);
} else if (layEvent === 'refreshPic') { //刷新流程图
refreshPic(data);
}
});
//撤回
function withdraw(data){
//流程id
processInstanceId = data.processInstanceId;
//历史审批任务id
hisTaskId = data.hisTaskId;
_openNewWindows({
url: "../../tpl/activiticommon/activitiwithdraw.html",
title: "撤回",
pageId: "activitiwithdraw",
area: ['70vw', '40vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
reloadMyHistoryTaskTable();
} else if (refreshCode == '-9999') {
winui.window.msg(systemLanguage["com.skyeye.operationFailed"][languageType], {icon: 2,time: 2000});
}
}
});
}
//刷新流程图
function refreshPic(data){
layer.confirm('确认重新生成流程图吗?', { icon: 3, title: '刷新流程图操作' }, function (i) {
layer.close(i);
AjaxPostUtil.request({url:reqBasePath + "activitimode027", params: {processInstanceId: data.processInstanceId}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1,time: 2000});
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//刷新我的历史任务
$("body").on("click", "#reloadMyHistoryTaskTable", function(){
reloadMyHistoryTaskTable();
});
function reloadMyHistoryTaskTable(){
table.reload("messageMyHistoryTaskTable", {where:{}});
}
exports('processedProcess', {});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item">
<label class="layui-form-label">标题<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="title" name="title" win-verify="required" placeholder="请输入配置类标题" class="layui-input"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类名<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="classUrl" name="classUrl" win-verify="required" placeholder="请输入配置类名称" class="layui-input"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">描述</label>
<div class="layui-input-block">
<textarea id="desc" name="desc" placeholder="请输入配置类描述" class="layui-textarea" style="height: 100px;"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actBaseClass/'}).use('actBaseClassAdd');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">标题</label>
<div class="layui-input-block ver-center">
{{title}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类名</label>
<div class="layui-input-block ver-center">
{{classUrl}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">描述</label>
<div class="layui-input-block ver-center">
{{desc}}
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actBaseClass/'}).use('actBaseClassDetails');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">标题</label>
<div class="layui-input-block">
<input type="text" id="title" name="title" placeholder="请输入配置类标题" class="layui-input" value="{{title}}"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类名</label>
<div class="layui-input-block">
<input type="text" id="classUrl" name="classUrl" placeholder="请输入配置类名称" class="layui-input" value="{{classUrl}}"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">描述</label>
<div class="layui-input-block">
<textarea id="desc" name="desc" placeholder="请输入签名" class="layui-textarea" style="height: 100px;">{{desc}}</textarea>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actBaseClass/'}).use('actBaseClassEdit');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding-top:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">标题</label>
<div class="layui-input-inline">
<input type="text" id="title" name="title" placeholder="请输入标题" class="layui-input" />
</div>
<label class="layui-form-label">类名</label>
<div class="layui-input-inline">
<input type="text" id="className" name="className" placeholder="请输入类名" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn" auth="1569294297008"><i class="fa fa-plus" aria-hidden="true"></i>新增配置类</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(auth('1569294326459')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# if(auth('1569294313648')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delet"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
<a class="layui-btn layui-btn-xs" lay-event="details">详情</a>
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actBaseClass/'}).use('actBaseClassList');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto; height: 100%;">
<div class="light-app-left">
<div class="operator-user-group">
<a id="addBean" title="新增用户组" auth="1563451312404"><i class="fa fa-plus"></i></a>
<a id="flashGroup" title="刷新用户组"><i class="fa fa-undo fa-fw"></i></a>
</div>
<div class="setting" id="setting">
</div>
<script type="text/x-handlehars-template" id="userGroupTemplate">
{{#each rows}}
<a rowid="{{id}}" rowname="{{name}}" class="setting-a">{{name}}</a>
{{/each}}
</script>
</div>
<div class="light-app-right" id="showForm">
<div class="txtcenter" style="margin:0 auto; padding-top:0px;">
<div class="winui-tip alert-info" id="showInfo">每个组下新增或者移除完用户组/员工后,需要通过【同步工作流】操作将该信息同步到工作流,之后在流程设计时才能看到该用户组/员工。</div>
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" id="userName" name="userName" placeholder="请输入用户姓名" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" type="button" id="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addUser" class="winui-toolbtn" auth="1563451355229"><i class="fa fa-plus" aria-hidden="true"></i>新增</button>
<button id="delUser" class="winui-toolbtn" auth="1563451417564" title="移除所有该用户组下的员工"><i class="fa fa-trash-o" aria-hidden="true"></i>移除所有</button>
<button id="syncData" class="winui-toolbtn" auth="1572334408610"><i class="fa fa-random" aria-hidden="true"></i>同步工作流</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(auth('1563451401946')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">移除</a>
{{# } }}
</script>
</div>
</div>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actGroup/'}).use('actGroupList');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding:10px;">
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">撤回原因<i class="red">*</i></label>
<div class="layui-input-block">
<textarea id="opinion" placeholder="请输入撤回原因" maxlength="200" class="layui-textarea" style="height: 100px;" win-verify="required"></textarea>
</div>
</div>
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean">撤回</button>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/activiticommon/'}).use('activitiwithdraw');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/timeaxis/timeaxis.css" rel="stylesheet" />
<style type="text/css">
.history-date h2{
margin-bottom: 0px;
}
.history-date h2 a{
font-size: 12px;
}
.history-date ul li h3 a{
color: currentColor;
font-size: 15px;
}
</style>
</head>
<body>
<div style="margin:0 auto; height: 100%; overflow: hidden;">
<div class="layui-tab layui-tab-card">
<ul class="layui-tab-title">
<li class="layui-this">基本信息</li>
<li class="">流程图</li>
<li class="">审批历史</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title" id="activitiTitle"></span><hr>
</div>
<div id="showForm" style="height: auto; width: 100%; float: left;">
</div>
</div>
<div class="layui-tab-item">
<img alt="" src="" id="processInstanceIdImg">
</div>
<div class="layui-tab-item">
<div class="history" id="timeTreeApprovalHistoryList">
</div>
</div>
</div>
</div>
</div>
<!-- 文本展示 -->
<script type="text/x-handlebars-template" id="textTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs{{proportion}}">
<label class="layui-form-label">{{name}}</label>
<div class="layui-input-block ver-center">
{{value}}
</div>
</div>
{{/bean}}
</script>
<!-- 附件展示 -->
<script type="text/x-handlebars-template" id="enclosureTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs{{proportion}}">
<label class="layui-form-label">{{name}}</label>
<div class="layui-input-block ver-center">
{{#each value}}
<a rowid="{{id}}" class="enclosureItem" rowpath="{{fileAddress}}" href="javascript:;" style="color:blue;">{{name}}</a><br>
{{/each}}
</div>
</div>
{{/bean}}
</script>
<!-- 富文本展示 -->
<script type="text/x-handlebars-template" id="eichTextTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs{{proportion}}">
<label class="layui-form-label">{{name}}</label>
<div class="layui-input-block ver-center">
{{{value}}}
</div>
</div>
{{/bean}}
</script>
<!-- 图片展示 -->
<script type="text/x-handlebars-template" id="picTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs{{proportion}}">
<label class="layui-form-label">{{name}}</label>
<div class="layui-input-block ver-center">
{{#each photo}}
<img src="{{photoValue}}" class="photo-img">
{{/each}}
</div>
</div>
{{/bean}}
</script>
<!-- 表格展示 -->
<script type="text/x-handlebars-template" id="tableTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs{{proportion}}">
<label class="layui-form-label">{{name}}</label>
<div class="layui-input-block ver-center" id="showTable{{orderBy}}">
</div>
</div>
{{/bean}}
</script>
<!-- 时间线审批历史列表模板 -->
<script type="text/x-handlebars-template" id="timeTreeApprovalHistory">
{{#bean}}
<div class="history-date">
<h2 class="{{showClass}}"><a href="#nogo">{{createTime}}</a></h2>
<ul>
<li class="green">
<h3><a>节点{{title}}</a><span>审批人:{{opName}}</span></h3>
<div>[{{flagName}}]<br/>审批意见{{{opinion}}}</div>
</li>
</ul>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/activiticommon/'}).use('myactivitidetails');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<link href="../../assets/lib/layui/css/codemirror.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">模型名称</label>
<div class="layui-input-inline">
<input type="text" id="modelName" name="modelName" placeholder="请输入模型名称" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn" auth="1552960740348"><i class="fa fa-plus" aria-hidden="true"></i>绘制流程</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(auth('1552960943886')){ }}
<a class="layui-btn layui-btn-xs" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# if(auth('1629206178423')){ }}
<a class="layui-btn layui-btn-xs" lay-event="copyModel">拷贝</a>
{{# } }}
{{# if(isNull(d.deploymentId)){ }}
{{# if(auth('1552960701288')){ }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
{{# if(auth('1552960718662')){ }}
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="fb">发布</a>
{{# } }}
{{# }else{ }}
{{# if(auth('1552960718662')){ }}
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="versionLevel">版本升级</a>
{{# } }}
{{# if(auth('1564043838006')){ }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="qxfb">取消发布</a>
{{# } }}
{{# } }}
<a class="layui-btn layui-btn-xs" lay-event="ecportXML">导出xml</a>
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/activitimodel/'}).use('activitimodellist');
</script>
</body>
</html>
\ No newline at end of file
<link rel="stylesheet" href="../../static/editor-app/resources/dataTables.bootstrap.css">
<link rel="stylesheet" href="../../static/editor-app/resources//base.css">
<style>
table.dataTable thead>tr>th {
padding-right: 0px;
}
</style>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
x
</button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<div class="row" style="margin-top:-10px;margin-bottom: 10px;">
<input type="hidden" id="groupIds">
<div class="col-xs-7">
<input type="text" readonly id="groupNames" class="form-control" placeholder="已选用户组">
</div>
<div class="col-xs-5">
<span id="userTitle"><h5 id='groupName' class='pull-left'>【用户列表】</h5></span>
</div>
</div>
<div class="row">
<div class="col-xs-7">
<div class="box box-primary">
<div class="dataTables_filter" id="searchDiv_group_select">
<input placeholder="请输入用户组名/编码" name="name" class="form-control" type="search" likeOption="true" />
<div class="btn-group">
<button type="button" class="btn btn-default" data-btn-type="search">查询</button>
<button type="button" class="btn btn-primary" data-btn-type="select" id="selectUser">选择</button>
</div>
</div>
<div class="box-body" style="padding-top:10px;">
<table id="group_select_table" class="table table-bordered table-stripped table-hover">
</table>
</div>
</div>
</div>
<div class="col-xs-5">
<div class="box box-primary">
<div class="dataTables_filter" id="searchDiv_user_select">
<input placeholder="请输入用户名" name="name" class="form-control" type="search" likeOption="true" />
<input type="hidden" name="groupId" id="groupId" operator="eq" likeOption="false" value="-1" />
<div class="btn-group">
<button type="button" class="btn btn-default" data-btn-type="search">查询</button>
</div>
</div>
<div class="box-body" style="padding-top:10px;">
<table id="user_select_table" class="table table-bordered table-stripped table-hover">
</table>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="../../static/editor-app/resources/jquery.dataTables.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/dataTables.bootstrap.min.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/dataTablesgroup.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/base-form.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/base-datasource.js"></script>
<script>
var groupSelectTable;
var userSelectTable;
propertiesIds = propertiesIds == 0 ? '' : propertiesIds;
//用户选择控制器
var userSelectCtrl = {
initTable: function() {
jQuery("#groupIds").val(propertiesIds);
var _this = this;
var self = this;
var config = {
rowClick: function(row, isSelected) {
jQuery("#groupId").val(isSelected ? row.id : "-1");
jQuery("#groupName").remove();
if(isSelected)
jQuery("#userTitle").append("<h5 id='groupName' class='pull-left'>【" + row.name + "】</h5>");
userSelectTable.reloadData();
},
pagingType: "simple_numbers",
lengthChange: false
};
groupSelectTable = new CommonTable("group_select_table", "id_group_list", "searchDiv_group_select", config);
//回调选中
groupSelectTable.serverCallback = function() {
self.setCheckBoxState();
_this.updateSelectedUserNames();
};
var userConfig = {
lengthChange: false,
pagingType: 'simple_numbers'
};
userSelectTable = new CommonTable("user_select_table", "id_membership_list", "searchDiv_user_select", userConfig);
},
//查询 换页选择框回填
setCheckBoxState: function() {
var selectUserIds = jQuery("#groupIds").val();
if(selectUserIds) {
var userIdArr = selectUserIds.split(",");
//选中增加的用户
jQuery.each(userIdArr, function(index, userId) {
if(groupSelectTable.table.$("#" + userId).length > 0) {
groupSelectTable.table.$("#" + userId).find(":checkbox.checkbox_group").prop("checked", true);
}
});
//删除已经选中的
groupSelectTable.table.$("tr").find(":checkbox.checkbox_group:checked").each(function() {
var curUserId = jQuery(this).parents("tr").attr("id");
//找不到,已经被删除
if(selectUserIds.indexOf(curUserId) == -1) {
groupSelectTable.table.$("#" + curUserId).find(":checkbox.checkbox_group").prop("checked", false);
}
});
} else {
jQuery(":checkbox.checkbox_group").prop("checked", false);
}
},
//绑定用户组选择事件
bindSelectUserEvent: function() {
jQuery("#selectUser").click(function() {
var controllerScope = jQuery('div[ng-controller="KisBpmAssignmentPopupCtrl"]').scope(); // Get controller's scope
var userIds = jQuery("#groupIds").val();
var userNames = jQuery("#groupNames").val();
controllerScope.setCandidateGroups(userIds, userNames);
modals.hideWin("groupSelectWin");
})
},
selectThis: function(obj) {
var isChecked = jQuery(obj).is(":checked");
//单选
var userIds = jQuery("#groupIds").val();
var value = jQuery(obj).parents("tr").eq(0).attr("id");
var userArr = this.getSelectedUserArr(userIds, value, isChecked);
jQuery("#groupIds").val(userArr.join(","));
this.updateSelectedUserNames();
},
updateSelectedUserNames: function() {
var userIds = jQuery("#groupIds").val();
if(userIds == 0 || !userIds) {
jQuery("#groupNames").val("");
} else {
var userArr = userIds.split(",");
var selName = "";
for(var i = 0; i < userArr.length; i++) {
selName += jQuery("#group_select_table").find("tr[id='" + userArr[i] + "']").find("td").eq(3).html() + ",";
}
jQuery("#groupNames").val(selName);
}
},
getSelectedUserArr: function(userIdss, curValue, isChecked) {
var userArr = [];
if(userIdss)
userArr = userIdss.split(",");
if(isChecked) {
var flag = true;
for(var i = 0; i < userArr.length; i++) {
if(userArr[i] == curValue) {
flag = false;
break;
}
}
if(flag)
userArr.push(curValue);
} else {
for(var i = 0; i < userArr.length; i++) {
var userIdValue = userArr[i];
if(userIdValue == curValue) {
userArr.splice(i, 1);
break;
}
}
}
return userArr;
}
}
function fnRenderSelectUser(value) {
return "<input type='checkbox' value='1' class='checkbox_group' onchange='userSelectCtrl.selectThis(this)'>";
}
//方法入口
jQuery(function() {
userSelectCtrl.initTable();
userSelectCtrl.bindSelectUserEvent();
})
</script>
\ No newline at end of file
<link rel="stylesheet" href="../../static/editor-app/resources/dataTables.bootstrap.css">
<link rel="stylesheet" href="../../static/editor-app/resources//base.css">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
x
</button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<div class="box box-info" style="margin-top:-10px;margin-bottom: 10px;">
<input type="hidden" id="userIds">
<input type="text" readonly id="userNames" class="form-control" placeholder="已选用户">
</div>
<div class="box box-primary">
<div class="dataTables_filter" id="searchDiv_user_select">
<input placeholder="请输入用户名" name="name" class="form-control" type="search" likeOption="true" />
<div class="btn-group">
<button type="button" class="btn btn-default" data-btn-type="search">查询</button>
<button type="button" class="btn btn-primary" data-btn-type="select" id="selectUser">选择</button>
</div>
</div>
<div class="box-body" style="padding-top:10px;">
<table id="user_select_table" class="table table-bordered table-stripped table-hover">
</table>
</div>
</div>
</div>
<script type="text/javascript" src="../../static/editor-app/resources/jquery.dataTables.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/dataTables.bootstrap.min.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/dataTables.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/base-form.js"></script>
<script type="text/javascript" src="../../static/editor-app/resources/base-datasource.js"></script>
<script>
var userSelectTable;
propertiesIds = propertiesIds == 0 ? '' : propertiesIds;
//用户选择控制器
var userSelectCtrl = {
initTable: function() {
jQuery("#userIds").val(propertiesIds);
var _this = this;
var self = this;
userSelectTable = new CommonTable("user_select_table", "id_user_list", "searchDiv_user_select");
//回调选中
userSelectTable.serverCallback = function() {
self.setCheckBoxState();
_this.updateSelectedUserNames();
}
},
//查询 换页选择框回填
setCheckBoxState: function() {
var selectUserIds = jQuery("#userIds").val();
if(selectUserIds) {
var userIdArr = selectUserIds.split(",");
//选中增加的用户
jQuery.each(userIdArr, function(index, userId) {
if(userSelectTable.table.$("#" + userId).length > 0) {
userSelectTable.table.$("#" + userId).find(":checkbox.checkbox_user").prop("checked", true);
}
});
//删除已经选中的
userSelectTable.table.$("tr").find(":checkbox.checkbox_user:checked").each(function() {
var curUserId = jQuery(this).parents("tr").attr("id");
//找不到,已经被删除
if(selectUserIds.indexOf(curUserId) == -1) {
userSelectTable.table.$("#" + curUserId).find(":checkbox.checkbox_user").prop("checked", false);
}
});
} else {
jQuery(":checkbox.checkbox_user").prop("checked", false);
}
},
//绑定用户选择事件
bindSelectUserEvent: function() {
jQuery("#selectUser").click(function() {
var controllerScope = jQuery('div[ng-controller="KisBpmAssignmentPopupCtrl"]').scope(); // Get controller's scope
var userIds = jQuery("#userIds").val();
var userNames = jQuery("#userNames").val();
if(propertiesMultipes == 0) {
controllerScope.setAssignee(userIds, userNames);
} else {
controllerScope.setCandidateUsers(userIds, userNames);
}
modals.hideWin("userSelectWin");
})
},
selectThis: function(obj) {
var isChecked = jQuery(obj).is(":checked");
//单选
var userIds = jQuery("#userIds").val();
if(userIds && userIds.split(',').length == 1 && propertiesMultipes == 0 && isChecked) {
alert("只能选择一个用户");
jQuery(obj).attr("checked", false);
return;
}
var value = jQuery(obj).parents("tr").eq(0).attr("id");
var userArr = this.getSelectedUserArr(userIds, value, isChecked);
jQuery("#userIds").val(userArr.join(","));
this.updateSelectedUserNames();
},
updateSelectedUserNames: function() {
var userIds = jQuery("#userIds").val();
if(userIds == 0 || !userIds) {
jQuery("#userNames").val("");
} else {
var userArr = userIds.split(",");
var selName = "";
for(var i = 0; i < userArr.length; i++) {
selName += jQuery("#user_select_table").find("tr[id='" + userArr[i] + "']").find("td").eq(4).html() + ",";
}
jQuery("#userNames").val(selName);
}
},
getSelectedUserArr: function(userIdss, curValue, isChecked) {
var userArr = [];
if(userIdss)
userArr = userIdss.split(",");
if(isChecked) {
var flag = true;
for(var i = 0; i < userArr.length; i++) {
if(userArr[i] == curValue) {
flag = false;
break;
}
}
if(flag)
userArr.push(curValue);
} else {
for(var i = 0; i < userArr.length; i++) {
var userIdValue = userArr[i];
if(userIdValue == curValue) {
userArr.splice(i, 1);
break;
}
}
}
return userArr;
}
}
function fnRenderSelectUser(value) {
return "<input type='checkbox' value='1' class='checkbox_user' onchange='userSelectCtrl.selectThis(this)'>";
}
//方法入口
jQuery(function() {
userSelectCtrl.initTable();
userSelectCtrl.bindSelectUserEvent();
})
</script>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类型实体</label>
<div class="layui-input-block ver-center">
{{title}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">工作流模型</label>
<div class="layui-input-block ver-center">
{{actName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">工作流模型ID</label>
<div class="layui-input-block ver-center">
{{actId}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">页面类型</label>
<div class="layui-input-block ver-center" id="pageTypes">
</div>
</div>
<div class="layui-form-item TypeIsOne layui-col-xs6">
<label class="layui-form-label">新增页面</label>
<div class="layui-input-block ver-center">
{{pageUrl}}
<div class="layui-form-mid layui-word-aux">格式为../../tpl/model/modellist.html</div>
</div>
</div>
<div class="layui-form-item TypeIsOne layui-col-xs6">
<label class="layui-form-label">编辑页面</label>
<div class="layui-input-block ver-center">
{{editPageUrl}}
<div class="layui-form-mid layui-word-aux">格式为../../tpl/model/modellist.html</div>
</div>
</div>
<div class="layui-form-item TypeIsOne layui-col-xs6">
<label class="layui-form-label">撤销接口</label>
<div class="layui-input-block ver-center">
{{revokeMapping}}<br>
<div class="layui-form-mid layui-word-aux">格式为bbb001直接填写接口名即可</div>
</div>
</div>
<div class="layui-form-item TypeIsTwo layui-col-xs12">
<label class="layui-form-label">表单页面</label>
<div class="layui-input-block ver-center">
{{dsFormName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">图标类型</label>
<div class="layui-input-block ver-center" id="menuIconType">
</div>
</div>
<div class="layui-form-item layui-col-xs12 menuIconTypeIsOne">
<label class="layui-form-label">图标</label>
<div class="layui-input-block">
<i class="fa fa-fw {{menuIcon}}" style="font-size: 48px; line-height: 65px;color: {{menuIconColor}}"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs12 menuIconTypeIsTwo">
<label class="layui-form-label">图片</label>
<div class="layui-input-block ver-center">
<img src="{{menuIconPic}}" class="photo-img" id="userPhoto">
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">背景颜色</label>
<div class="layui-input-block ver-center">
{{backgroundColor}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">回调地址</label>
<div class="layui-input-block ver-center">
{{tokenUrl}}
<div class="layui-form-mid layui-word-aux">格式为http://localhost:8081/tpl/model.html</div>
<div class="layui-form-mid layui-word-aux">流程执行完之后进行该地址回调</div>
<div class="layui-form-mid layui-word-aux">动态表单回调参数以自定义id为准</div>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">是否常用/热门</label>
<div class="layui-input-block ver-center" id="commonUsed">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">备注说明</label>
<div class="layui-input-block ver-center">
{{remark}}
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actmodletype/'}).use('actModleDetails');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/actmodletype/'}).use('actmodleedit');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<!-- <button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" type="button" id="formSearchLightApp"><language showName="com.skyeye.search2"></language></button> -->
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="loadAllComplateTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageAllComplateTable" lay-filter="messageAllComplateTable"></table>
<script type="text/html" id="myAllComplateTableBar">
<a class="layui-btn layui-btn-xs" lay-event="selTasks">详情</a>
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/allactiviti/'}).use('allcomplatepossess');
</script>
</body>
</html>
\ No newline at end of file
*.class
# Package Files #
*.war
*.ear
class
.settings
*.classpath
/bin
classes
/target/
/.project/
/logs/
/.idea/
*.iml
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册