JEECG 3.7.8版本发布
|
@ -1,7 +1,7 @@
|
|||
JEECG 微云快速开发平台
|
||||
===============
|
||||
|
||||
当前最新版本: 3.7.7(发布日期:20180716)
|
||||
当前最新版本: 3.7.8(发布日期:20180806)
|
||||
|
||||
JEECG微服务架构: [jeecg-p3 1.0版](https://gitee.com/jeecg/jeecg-p3)
|
||||
|
||||
|
@ -80,7 +80,7 @@ JEECG
|
|||
* <b>技术点二十五:</b>支持二级管理员,权限细化管理</br>
|
||||
* <b>技术点二十六:</b>代码生成器支持resutful接口生成</br>
|
||||
|
||||
* JEECG V3.7.7, 经过了专业压力测试,性能测试,保证后台数据的准确性和页面访问速度</br>
|
||||
* JEECG V3.7.8, 经过了专业压力测试,性能测试,保证后台数据的准确性和页面访问速度</br>
|
||||
* 支持多种浏览器: IE, 火狐, Google 等</br>
|
||||
* 支持数据库: Mysql,Oracle,Postgre,SqlServer等</br>
|
||||
* 基础权限: 用户,角色,菜单权限,按钮权限,数据权限</br>
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
1.oracle 导入命令
|
||||
说明: jeecg脚本导出用户是scott
|
||||
imp scott/tiger@orcl file=jeecg_3.7.7_oracle11g.dmp
|
||||
imp scott/tiger@orcl file=jeecg_3.7.8_oracle11g.dmp
|
||||
导入其他用户的表
|
||||
imp jeecgos/jeecgos@orcl file=/opt/datatmp/jeecg_3.7.7_oracle11g.dmp fromuser=scott touser=jeecgos ignore=y commit=y buffer=300000000 feedback=10000
|
||||
imp jeecgos/jeecgos@orcl file=/opt/datatmp/jeecg_3.7.8_oracle11g.dmp fromuser=scott touser=jeecgos ignore=y commit=y buffer=300000000 feedback=10000
|
||||
|
||||
|
||||
2. oracle、SqlServer脚步索引会有部分丢失,为了系统性能,请自行补加索引。
|
||||
|
@ -16,6 +16,6 @@
|
|||
|
||||
4.老版本数据库增量升级
|
||||
执行老版本升级SQL脚本
|
||||
3.7.6升级到3.7.7
|
||||
docs/老版本增量升级/jeecg_mysql-3.7.6-update-3.7.7.sql
|
||||
3.7.7升级到3.7.8
|
||||
docs/老版本增量升级/jeecg_mysql-3.7.7-update-3.7.8.sql
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
ALTER TABLE `t_s_log`
|
||||
MODIFY COLUMN `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户账号' AFTER `userid`;
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('402881f263dd1d8f0163de06421c0067', NULL, '1', '下拉列表控件', '36', 'jeecgFormDemoController.do?dropDownDatagrid', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', 'admin', '2018-06-08 19:56:47', '2018-06-08 14:12:22', '管理员');
|
||||
INSERT INTO `t_s_role_function` (`ID`, `operation`, `functionid`, `roleid`, `datarule`) VALUES ('402881f263dd1d8f0163de0660e70069', NULL, '402881f263dd1d8f0163de06421c0067', '8a8ab0b246dc81120146dc8181870050', NULL);
|
||||
ALTER TABLE `t_s_function`
|
||||
ADD INDEX `index_group_url_type` (`functionurl`, `functiontype`);
|
||||
update cgform_head set sub_table_str = null where id = '4028b881535b12bd01535b1ae3680001';
|
||||
DROP TABLE IF EXISTS `jeecg_demo_excel`;
|
||||
CREATE TABLE `jeecg_demo_excel` (
|
||||
`id` varchar(36) NOT NULL COMMENT 'id',
|
||||
`name` varchar(100) DEFAULT NULL COMMENT '姓名',
|
||||
`sex` varchar(3) DEFAULT NULL COMMENT '性别',
|
||||
`birthday` datetime DEFAULT NULL COMMENT '生日',
|
||||
`depart` varchar(36) DEFAULT NULL COMMENT '关联部门',
|
||||
`fd_replace` varchar(255) DEFAULT NULL COMMENT '测试替换',
|
||||
`fd_convert` varchar(255) DEFAULT NULL COMMENT '测试转换',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='excel导入导出示例';
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028f6816402785c0164027969d20001', NULL, '1', 'excel导入导出示例', '99', 'jeecgDemoExcelController.do?list', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', NULL, NULL, '2018-06-15 16:04:28', NULL);
|
||||
INSERT INTO `jeecg_demo_excel` (`id`, `name`, `sex`, `birthday`, `depart`, `fd_replace`, `fd_convert`) VALUES ('4028f6816402f8e30164032b767c0001', '威震天', '0', '2014-06-10 00:00:00', '402880e447e99cf10147e9a03b320003', '1', '200');
|
||||
INSERT INTO `jeecg_demo_excel` (`id`, `name`, `sex`, `birthday`, `depart`, `fd_replace`, `fd_convert`) VALUES ('4028f6816402f8e30164032c00ab0005', '白居易', '0', '2014-06-10 00:00:00', '402880e447e9a9570147e9b677320003', '1', '600');
|
||||
INSERT INTO `jeecg_demo_excel` (`id`, `name`, `sex`, `birthday`, `depart`, `fd_replace`, `fd_convert`) VALUES ('4028f6816402f8e30164032d7d010007', '刘诗诗', '1', '1993-06-01 00:00:00', '8a8ab0b246dc81120146dc8180bd0018', '0', '1000');
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402881026416bfa8016416cb9ed60007', 'common.range1to10', 'The type in the range of 1~10 characters', 'en', '2018-06-19 14:46:41', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402881026416bfa8016416cb5fc20005', 'common.range1to10', '类型编码在1~10位字符', 'zh-cn', '2018-06-19 14:46:24', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402881026416bfa8016416c82a160003', 'common.range1to50', 'The type in the range of 1~50 characters', 'en', '2018-06-19 14:42:54', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402881026416bfa8016416c774de0001', 'common.range1to50', '类型范围在1~50位字符', 'zh-cn', '2018-06-19 14:42:08', 'admin', '管理员', NULL, NULL, NULL);
|
||||
ALTER TABLE `t_s_type`
|
||||
ADD COLUMN `order_num` int(3) NULL COMMENT '序号' AFTER `create_name`;
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028f681641bf52b01641c28c724000b', 'dict.order', 'Serial number', 'en', '2018-06-20 15:46:31', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028f681641bf52b01641c2802030009', 'dict.order', '序号', 'zh-cn', '2018-06-20 15:45:41', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028f681643b2e6401643b3aeba50001', NULL, '1', '按钮折叠demo', '99', 'jeecgListDemoController.do?collapseDemo', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', NULL, NULL, '2018-06-26 16:34:34', NULL);
|
||||
ALTER TABLE `t_s_operation`
|
||||
ADD COLUMN `processnode_id` varchar(32) NULL DEFAULT NULL COMMENT '流程节点id' AFTER `operationtype`;
|
||||
UPDATE `t_s_function` SET `ID`='402881f263dd1d8f0163de06421c0067', `functioniframe`=NULL, `functionlevel`='1', `functionname`='下拉列表控件', `functionorder`='36', `functionurl`='jeecgFormDemoController.do?dropDownDatagrid', `parentfunctionid`='4028f6815af3ce54015af3d1ad610001', `iconid`='8a8ab0b246dc81120146dc8180460000', `desk_iconid`='8a8ab0b246dc81120146dc8180dd001e', `functiontype`='0', `function_icon_style`='fa-angle-down', `create_by`='admin', `create_name`='管理员', `update_by`='admin', `update_date`='2018-06-28 11:05:22', `create_date`='2018-06-08 14:12:22', `update_name`='管理员' WHERE (`ID`='402881f263dd1d8f0163de06421c0067');
|
||||
UPDATE `t_s_function` SET `ID`='4028f6816402785c0164027969d20001', `functioniframe`=NULL, `functionlevel`='1', `functionname`='excel导入导出示例', `functionorder`='99', `functionurl`='jeecgDemoExcelController.do?list', `parentfunctionid`='4028f6815af3ce54015af3d1ad610001', `iconid`='8a8ab0b246dc81120146dc8180460000', `desk_iconid`='8a8ab0b246dc81120146dc8180dd001e', `functiontype`='0', `function_icon_style`='fa-arrows-v', `create_by`='admin', `create_name`='管理员', `update_by`='admin', `update_date`='2018-06-28 10:57:42', `create_date`='2018-06-15 16:04:28', `update_name`='管理员' WHERE (`ID`='4028f6816402785c0164027969d20001');
|
||||
UPDATE `t_s_function` SET `ID`='4028f681643b2e6401643b3aeba50001', `functioniframe`=NULL, `functionlevel`='1', `functionname`='按钮折叠demo', `functionorder`='99', `functionurl`='jeecgListDemoController.do?collapseDemo', `parentfunctionid`='4028f6815af3ce54015af3d1ad610001', `iconid`='8a8ab0b246dc81120146dc8180460000', `desk_iconid`='8a8ab0b246dc81120146dc8180dd001e', `functiontype`='0', `function_icon_style`='fa-arrow-circle-down', `create_by`='admin', `create_name`='管理员', `update_by`='admin', `update_date`='2018-06-28 11:05:51', `create_date`='2018-06-26 16:34:34', `update_name`='管理员' WHERE (`ID`='4028f681643b2e6401643b3aeba50001');
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028918164456ce001644580c16e0007', 'common.user.interfaceUser', '接口用户不允许登录', 'zh-cn', '2018-06-28 16:27:03', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028918164456ce00164458189cf0009', 'common.user.interfaceUser', 'Interface user does not allow login', 'en', '2018-06-28 16:27:55', 'admin', '管理员', NULL, NULL, NULL);
|
||||
update cgform_ftl set FTL_CONTENT = REPLACE(FTL_CONTENT, '/curdtools_zh-cn.js', '/curdtools.js');
|
||||
update cgform_ftl set FTL_CONTENT = REPLACE(FTL_CONTENT, '/jquery-1.8.3.js"></script>', '/jquery-1.8.3.js"></script><script type="text/javascript" src="plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>');
|
||||
ALTER TABLE `t_s_sms_template`
|
||||
ADD COLUMN `template_code` varchar(32) NULL COMMENT '模板CODE' AFTER `template_type`;
|
||||
ALTER TABLE `t_s_sms_template`
|
||||
ADD UNIQUE INDEX `uniq_templatecode` (`template_code`);
|
||||
ALTER TABLE `t_s_sms_template`
|
||||
ADD COLUMN `template_test_json` varchar(1000) NULL COMMENT '模板测试json' AFTER `template_content`;
|
||||
ALTER TABLE `t_s_sms`
|
||||
ADD COLUMN `is_read` smallint(2) NOT NULL DEFAULT 0 COMMENT '是否已阅读' AFTER `es_status`;
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('40286081646932eb01646935152c0005', 'common.templateCode', '模板CODE', 'zh-cn', '2018-07-05 14:50:43', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('40286081646932eb01646935698d0007', 'common.templateCode', 'Template Code', 'en', '2018-07-05 14:51:05', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402860816469f4aa01646a2da0cc0026', 'common.isRead', '状态', 'zh-cn', '2018-07-05 19:22:12', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang` (`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('402860816469f4aa01646a2dcf1c0028', 'common.isRead', 'Status', 'en', '2018-07-05 19:22:24', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_sms_template` (`id`, `template_type`, `template_code`, `template_name`, `template_content`, `template_test_json`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028608164691b000164693108140003', '3', 'SYS001', '催办:${taskName}', '${userName},您好!\r\n请前待办任务办理事项!${taskName}\r\n\r\n\r\n===========================\r\n此消息由系统发出', '{\r\n\"taskName\":\"HR审批\",\r\n\"userName\":\"admin\"\r\n}', '2018-07-05 14:46:18', 'admin', '管理员', '2018-07-05 18:31:34', 'admin', '管理员');
|
||||
INSERT INTO `t_s_type` (`ID`, `typecode`, `typename`, `typepid`, `typegroupid`, `create_date`, `create_name`, `order_num`) VALUES ('4028608164691b00016469289a040001', '3', '系统提醒模板', NULL, '8a71b40e4a38319b014a3858fca40018', '2018-07-05 14:37:05', '管理员', '3');
|
||||
update t_s_muti_lang set lang_context = '3.7.7' where id in ('4028ef81533c078201533c08e2370003','4028ef81533c078201533c08b1ca0001');
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('40289181647d9d4a01647daaa4ce0001', NULL, '1', '表单原生组件二', '4', 'jeecgFormDemoController.do?topjuiDemo', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', 'fa-code', 'admin', '管理员', 'admin', '2018-07-09 14:53:08', '2018-07-09 14:11:33', '管理员');
|
||||
UPDATE `t_s_function` SET `ID`='40289181647d9d4a01647daaa4ce0001', `functioniframe`=NULL, `functionlevel`='1', `functionname`='表单原生组件二', `functionorder`='4', `functionurl`='jeecgFormDemoController.do?natures', `parentfunctionid`='4028f6815af3ce54015af3d1ad610001', `iconid`='8a8ab0b246dc81120146dc8180460000', `desk_iconid`='8a8ab0b246dc81120146dc8180dd001e', `functiontype`='0', `function_icon_style`='fa-code', `create_by`='admin', `create_name`='管理员', `update_by`='admin', `update_date`='2018-07-09 18:29:31', `create_date`='2018-07-09 14:11:33', `update_name`='管理员' WHERE (`ID`='40289181647d9d4a01647daaa4ce0001');
|
||||
CREATE TABLE `t_s_dict_table_config` (
|
||||
`id` varchar(36) NOT NULL,
|
||||
`table_name` varchar(100) default NULL COMMENT '表名',
|
||||
`value_col` varchar(50) default NULL COMMENT '值字段名',
|
||||
`text_col` varchar(50) default NULL COMMENT '文本字段名',
|
||||
`dict_condition` varchar(255) default NULL COMMENT '字典表查询条件',
|
||||
`isvalid` varchar(32) default NULL COMMENT '是否启用',
|
||||
`create_name` varchar(50) default NULL COMMENT '创建人名称',
|
||||
`create_by` varchar(50) default NULL COMMENT '创建人登录名称',
|
||||
`create_date` datetime default NULL COMMENT '创建日期',
|
||||
`update_name` varchar(50) default NULL COMMENT '更新人名称',
|
||||
`update_by` varchar(50) default NULL COMMENT '更新人登录名称',
|
||||
`update_date` datetime default NULL COMMENT '更新日期',
|
||||
`sys_org_code` varchar(50) default NULL COMMENT '所属部门',
|
||||
`sys_company_code` varchar(50) default NULL COMMENT '所属公司',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uniq_tablename_valuecol_textcol` USING BTREE (`table_name`,`value_col`,`text_col`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典表授权配置';
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('40286081648332f8016483352acf0001', NULL, '1', '字典表授权配置', '7', 'tSDictTableConfigController.do?list', '8a8ab0b246dc81120146dc8180d2001a', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', 'admin', '2018-07-10 16:01:17', '2018-07-10 16:00:57', '管理员');
|
||||
update t_s_muti_lang set lang_context = '3.7.7' where lang_key ='system.version.number';
|
|
@ -0,0 +1,12 @@
|
|||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('402881fa64a1ca500164a1d549e40001', NULL, '1', 'Bootstrap树形列表', '5', 'jeecgFormDemoController.do?bootstrapTreeListDemo', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', 'fa-tree', 'admin', '管理员', 'admin', '2018-07-16 16:17:45', '2018-07-16 14:44:27', '管理员');
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028f68164caf6520164cb5ecade0006', NULL, '1', '检索下拉框', '100', 'jeecgListDemoController.do?suggest', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', NULL, NULL, '2018-07-24 16:19:04', NULL);
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028f68164caf6520164cb5d79670004', NULL, '1', 'plupload上传1', '100', 'jeecgFormDemoController.do?plupload1', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', '', 'admin', '管理员', NULL, NULL, '2018-07-24 16:17:38', NULL);
|
||||
UPDATE `t_s_function` SET `function_icon_style`='fa-list-ol' WHERE (`ID`='4028f68164caf6520164cb5ecade0006');
|
||||
UPDATE `t_s_function` SET `function_icon_style`='fa-upload' WHERE (`ID`='4028f68164caf6520164cb5d79670004');
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028f68164cfec7b0164d07373540002', NULL, '1', 'plupload上传2', '100', 'jeecgFormDemoController.do?plupload2', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', 'fa-upload', 'admin', '管理员', NULL, NULL, '2018-07-25 15:59:44', NULL);
|
||||
INSERT INTO `t_s_function` (`ID`, `functioniframe`, `functionlevel`, `functionname`, `functionorder`, `functionurl`, `parentfunctionid`, `iconid`, `desk_iconid`, `functiontype`, `function_icon_style`, `create_by`, `create_name`, `update_by`, `update_date`, `create_date`, `update_name`) VALUES ('4028810a64e8d94d0164e9033a580005', NULL, '1', '单据打印', '10', 'jeecgFormDemoController.do?printingDemo', '4028f6815af3ce54015af3d1ad610001', '8a8ab0b246dc81120146dc8180460000', '8a8ab0b246dc81120146dc8180dd001e', '0', 'fa-print', 'admin', '管理员', 'admin', '2018-07-30 14:30:52', '2018-07-30 10:27:40', '管理员');
|
||||
UPDATE `t_s_icon` SET `extend` = 'png', `iconclas` = 'deskIcon', `content` = NULL, `name` = 'Online表单开发', `path` = 'plug-in/sliding/icon/Finder.png', `type` = 3 WHERE `ID` = '8a8ab0b246dc81120146dc818102002c';
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028810264f4f97d0164f528560a0010', 'please.input.table.content', 'Please Input Table Content', 'en', '2018-08-01 19:03:39', 'admin', '管理员', NULL, NULL, NULL);
|
||||
INSERT INTO `t_s_muti_lang`(`id`, `lang_key`, `lang_context`, `lang_code`, `create_date`, `create_by`, `create_name`, `update_date`, `update_by`, `update_name`) VALUES ('4028810264f4f97d0164f527c5dd000e', 'please.input.table.content', '请填写表描述!', 'zh-cn', '2018-08-01 19:03:02', 'admin', '管理员', NULL, NULL, NULL);
|
||||
UPDATE `cgform_field` SET `id`='ff8080816021b031016021fced19000f', `content`='收货人', `create_by`='admin', `create_date`='2017-12-04 22:45:12', `create_name`='管理员', `dict_field`='receiver_name,receiver_mobile', `dict_table`='user_msg', `dict_text`='realname,account', `field_default`='', `field_href`='', `field_length`='120', `field_name`='receiver_name', `field_valid_type`='', `field_must_input`='N', `is_key`='N', `is_null`='Y', `is_query`='Y', `is_show`='Y', `is_show_list`='Y', `length`='56', `main_field`='', `main_table`='', `old_field_name`='receiver_name', `order_num`='11', `point_length`='0', `query_mode`='single', `show_type`='popup', `type`='string', `update_by`='admin', `update_date`='2018-08-02 20:14:54', `update_name`='管理员', `table_id`='ff8080816021b031016021fced100004', `extend_json`='', `fill_rule_code`='' WHERE (`id`='ff8080816021b031016021fced19000f');
|
||||
update t_s_muti_lang set lang_context = '3.7.8' where lang_key ='system.version.number';
|
|
@ -1,527 +0,0 @@
|
|||
ALTER TABLE [dbo].[t_s_log] ALTER COLUMN [username] nvarchar(50) COLLATE Chinese_PRC_CI_AS
|
||||
GO
|
||||
|
||||
|
||||
CREATE INDEX [index_group_url_type] ON [dbo].[t_s_function]
|
||||
([functionurl] ASC, [functiontype] ASC)
|
||||
GO
|
||||
update [dbo].[cgform_head] set sub_table_str = null where id = '4028b881535b12bd01535b1ae3680001';
|
||||
|
||||
|
||||
CREATE TABLE [dbo].[jeecg_demo_excel] (
|
||||
[id] nvarchar(36) NOT NULL ,
|
||||
[name] nvarchar(100) NULL ,
|
||||
[sex] nvarchar(3) NULL ,
|
||||
[birthday] datetime2(7) NULL ,
|
||||
[depart] nvarchar(36) NULL ,
|
||||
[fd_replace] nvarchar(255) NULL ,
|
||||
[fd_convert] nvarchar(255) NULL
|
||||
)
|
||||
|
||||
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
NULL, NULL)) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'excel导入导出示例'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'excel导入导出示例'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'id')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'id'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'id'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'id'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'id'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'name')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'姓名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'name'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'姓名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'name'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'sex')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'性别'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'sex'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'性别'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'sex'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'birthday')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'生日'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'birthday'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'生日'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'birthday'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'depart')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'关联部门'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'depart'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'关联部门'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'depart'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'fd_replace')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'测试替换'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'fd_replace'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'测试替换'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'fd_replace'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N'jeecg_demo_excel',
|
||||
'COLUMN', N'fd_convert')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'测试转换'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'fd_convert'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'测试转换'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N'jeecg_demo_excel'
|
||||
, @level2type = 'COLUMN', @level2name = N'fd_convert'
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[jeecg_demo_excel] ADD PRIMARY KEY ([id])
|
||||
GO
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of jeecg_demo_excel
|
||||
-- ----------------------------
|
||||
INSERT INTO [dbo].[jeecg_demo_excel] ([id], [name], [sex], [birthday], [depart], [fd_replace], [fd_convert]) VALUES (N'4028f6816402f8e30164032b767c0001', N'威震天', N'0', N'2014-06-10 00:00:00.0000000', N'402880e447e99cf10147e9a03b320003', N'1', N'200')
|
||||
GO
|
||||
GO
|
||||
INSERT INTO [dbo].[jeecg_demo_excel] ([id], [name], [sex], [birthday], [depart], [fd_replace], [fd_convert]) VALUES (N'4028f6816402f8e30164032c00ab0005', N'白居易', N'0', N'2014-06-10 00:00:00.0000000', N'402880e447e9a9570147e9b677320003', N'1', N'600')
|
||||
GO
|
||||
GO
|
||||
INSERT INTO [dbo].[jeecg_demo_excel] ([id], [name], [sex], [birthday], [depart], [fd_replace], [fd_convert]) VALUES (N'4028f6816402f8e30164032d7d010007', N'刘诗诗', N'1', N'1993-06-01 00:00:00.0000000', N'8a8ab0b246dc81120146dc8180bd0018', N'0', N'1000')
|
||||
GO
|
||||
GO
|
||||
|
||||
INSERT INTO [dbo].[t_s_function] ([ID], [functioniframe], [functionlevel], [functionname], [functionorder], [functionurl], [parentfunctionid], [iconid], [desk_iconid], [functiontype], [function_icon_style], [create_by], [create_name], [update_by], [update_date], [create_date], [update_name]) VALUES (N'402881f263dd1d8f0163de06421c0067', NULL, '1', N'下拉列表控件', N'36', N'jeecgFormDemoController.do?dropDownDatagrid', N'4028f6815af3ce54015af3d1ad610001', N'8a8ab0b246dc81120146dc8180460000', N'8a8ab0b246dc81120146dc8180dd001e', '0', N'fa-angle-down', N'admin', N'管理员', N'admin', '2018-06-28 11:05:22.0000000', '2018-06-08 14:12:22.0000000', N'管理员');
|
||||
|
||||
INSERT INTO [dbo].[t_s_function] ([ID], [functioniframe], [functionlevel], [functionname], [functionorder], [functionurl], [parentfunctionid], [iconid], [desk_iconid], [functiontype], [function_icon_style], [create_by], [create_name], [update_by], [update_date], [create_date], [update_name]) VALUES (N'4028f6816402785c0164027969d20001', NULL, '1', N'excel导入导出示例', N'99', N'jeecgDemoExcelController.do?list', N'4028f6815af3ce54015af3d1ad610001', N'8a8ab0b246dc81120146dc8180460000', N'8a8ab0b246dc81120146dc8180dd001e', '0', N'fa-arrows-v', N'admin', N'管理员', N'admin', '2018-06-28 10:57:42.0000000', '2018-06-15 16:04:28.0000000', N'管理员');
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402881026416bfa8016416c774de0001', N'common.range1to50', N'类型范围在1~50位字符', N'zh-cn', '2018-06-19 14:42:08.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402881026416bfa8016416c82a160003', N'common.range1to50', N'The type in the range of 1~50 characters', N'en', '2018-06-19 14:42:54.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402881026416bfa8016416cb5fc20005', N'common.range1to10', N'类型编码在1~10位字符', N'zh-cn', '2018-06-19 14:46:24.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402881026416bfa8016416cb9ed60007', N'common.range1to10', N'The type in the range of 1~10 characters', N'en', '2018-06-19 14:46:41.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
|
||||
ALTER TABLE [dbo].[t_s_type]
|
||||
ADD [order_num] int NULL
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_type',
|
||||
'COLUMN', N'order_num')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'序号'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_type'
|
||||
, @level2type = 'COLUMN', @level2name = N'order_num'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'序号'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_type'
|
||||
, @level2type = 'COLUMN', @level2name = N'order_num'
|
||||
GO
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'4028f681641bf52b01641c2802030009', N'dict.order', N'序号', N'zh-cn', '2018-06-20 15:45:41.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'4028f681641bf52b01641c28c724000b', N'dict.order', N'Serial number', N'en', '2018-06-20 15:46:31.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO [dbo].[t_s_function] ([ID], [functioniframe], [functionlevel], [functionname], [functionorder], [functionurl], [parentfunctionid], [iconid], [desk_iconid], [functiontype], [function_icon_style], [create_by], [create_name], [update_by], [update_date], [create_date], [update_name]) VALUES (N'4028f681643b2e6401643b3aeba50001', NULL, '1', N'按钮折叠demo', N'99', N'jeecgListDemoController.do?collapseDemo', N'4028f6815af3ce54015af3d1ad610001', N'8a8ab0b246dc81120146dc8180460000', N'8a8ab0b246dc81120146dc8180dd001e', '0', N'fa-arrow-circle-down', N'admin', N'管理员', N'admin', '2018-06-28 11:05:51.0000000', '2018-06-26 16:34:34.0000000', N'管理员');
|
||||
|
||||
ALTER TABLE [dbo].[t_s_operation]
|
||||
ADD [processnode_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS NULL
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_operation',
|
||||
'COLUMN', N'processnode_id')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'流程节点id'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_operation'
|
||||
, @level2type = 'COLUMN', @level2name = N'processnode_id'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'流程节点id'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_operation'
|
||||
, @level2type = 'COLUMN', @level2name = N'processnode_id'
|
||||
GO
|
||||
|
||||
|
||||
UPDATE TOP(1) [dbo].[t_s_function] SET [ID]=N'402881f263dd1d8f0163de06421c0067', [functioniframe]=NULL, [functionlevel]='1', [functionname]=N'下拉列表控件', [functionorder]=N'36', [functionurl]=N'jeecgFormDemoController.do?dropDownDatagrid', [parentfunctionid]=N'4028f6815af3ce54015af3d1ad610001', [iconid]=N'8a8ab0b246dc81120146dc8180460000', [desk_iconid]=N'8a8ab0b246dc81120146dc8180dd001e', [functiontype]='0', [function_icon_style]=N'fa-angle-down', [create_by]=N'admin', [create_name]=N'管理员', [update_by]=N'admin', [update_date]='2018-06-28 11:05:22.0000000', [create_date]='2018-06-08 14:12:22.0000000', [update_name]=N'管理员' WHERE ([ID]=N'402881f263dd1d8f0163de06421c0067');
|
||||
UPDATE TOP(1) [dbo].[t_s_function] SET [ID]=N'4028f6816402785c0164027969d20001', [functioniframe]=NULL, [functionlevel]='1', [functionname]=N'excel导入导出示例', [functionorder]=N'99', [functionurl]=N'jeecgDemoExcelController.do?list', [parentfunctionid]=N'4028f6815af3ce54015af3d1ad610001', [iconid]=N'8a8ab0b246dc81120146dc8180460000', [desk_iconid]=N'8a8ab0b246dc81120146dc8180dd001e', [functiontype]='0', [function_icon_style]=N'fa-arrows-v', [create_by]=N'admin', [create_name]=N'管理员', [update_by]=N'admin', [update_date]='2018-06-28 10:57:42.0000000', [create_date]='2018-06-15 16:04:28.0000000', [update_name]=N'管理员' WHERE ([ID]=N'4028f6816402785c0164027969d20001');
|
||||
UPDATE TOP(1) [dbo].[t_s_function] SET [ID]=N'4028f681643b2e6401643b3aeba50001', [functioniframe]=NULL, [functionlevel]='1', [functionname]=N'按钮折叠demo', [functionorder]=N'99', [functionurl]=N'jeecgListDemoController.do?collapseDemo', [parentfunctionid]=N'4028f6815af3ce54015af3d1ad610001', [iconid]=N'8a8ab0b246dc81120146dc8180460000', [desk_iconid]=N'8a8ab0b246dc81120146dc8180dd001e', [functiontype]='0', [function_icon_style]=N'fa-arrow-circle-down', [create_by]=N'admin', [create_name]=N'管理员', [update_by]=N'admin', [update_date]='2018-06-28 11:05:51.0000000', [create_date]='2018-06-26 16:34:34.0000000', [update_name]=N'管理员' WHERE ([ID]=N'4028f681643b2e6401643b3aeba50001');
|
||||
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'4028918164456ce001644580c16e0007', N'common.user.interfaceUser', N'接口用户不允许登录', N'zh-cn', '2018-06-28 16:27:03.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'4028918164456ce00164458189cf0009', N'common.user.interfaceUser', N'Interface user does not allow login', N'en', '2018-06-28 16:27:55.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
|
||||
update [dbo].[cgform_ftl] set FTL_CONTENT = REPLACE(FTL_CONTENT, '/curdtools_zh-cn.js', '/curdtools.js');
|
||||
update [dbo].[cgform_ftl] set FTL_CONTENT = REPLACE(FTL_CONTENT, '/jquery-1.8.3.js"></script>', '/jquery-1.8.3.js"></script><script type="text/javascript" src="plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>');
|
||||
|
||||
ALTER TABLE [dbo].[t_s_sms_template]
|
||||
ADD [template_code] nvarchar(32) COLLATE Chinese_PRC_CI_AS NULL
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_sms_template',
|
||||
'COLUMN', N'template_code')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'模板CODE'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms_template'
|
||||
, @level2type = 'COLUMN', @level2name = N'template_code'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'模板CODE'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms_template'
|
||||
, @level2type = 'COLUMN', @level2name = N'template_code'
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [uniq_templatecode] ON [dbo].[t_s_sms_template]
|
||||
([template_code] ASC)
|
||||
WITH (IGNORE_DUP_KEY = ON)
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[t_s_sms_template]
|
||||
ADD [template_test_json] nvarchar(1000) COLLATE Chinese_PRC_CI_AS NULL
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_sms_template',
|
||||
'COLUMN', N'template_test_json')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'模板测试json'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms_template'
|
||||
, @level2type = 'COLUMN', @level2name = N'template_test_json'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'模板测试json'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms_template'
|
||||
, @level2type = 'COLUMN', @level2name = N'template_test_json'
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[t_s_sms]
|
||||
ADD [is_read] smallint NOT NULL DEFAULT 0
|
||||
GO
|
||||
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_sms',
|
||||
'COLUMN', N'is_read')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'是否已阅读'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms'
|
||||
, @level2type = 'COLUMN', @level2name = N'is_read'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'是否已阅读'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_sms'
|
||||
, @level2type = 'COLUMN', @level2name = N'is_read'
|
||||
GO
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'40286081646932eb01646935152c0005', N'common.templateCode', N'模板CODE', N'zh-cn', '2018-07-05 14:50:43.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'40286081646932eb01646935698d0007', N'common.templateCode', N'Template Code', N'en', '2018-07-05 14:51:05.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402860816469f4aa01646a2da0cc0026', N'common.isRead', N'状态', N'zh-cn', '2018-07-05 19:22:12.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
INSERT INTO [dbo].[t_s_muti_lang] ([id], [lang_key], [lang_context], [lang_code], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'402860816469f4aa01646a2dcf1c0028', N'common.isRead', N'Status', N'en', '2018-07-05 19:22:24.0000000', N'admin', N'管理员', NULL, NULL, NULL);
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_sms_template] ([id], [template_type], [template_code], [template_name], [template_content], [template_test_json], [create_date], [create_by], [create_name], [update_date], [update_by], [update_name]) VALUES (N'4028608164691b000164693108140003', N'3', N'SYS001', N'催办:${taskName}', N'${userName},您好!
|
||||
请前待办任务办理事项!${taskName}
|
||||
|
||||
|
||||
===========================
|
||||
此消息由系统发出', N'{
|
||||
"taskName":"HR审批",
|
||||
"userName":"admin"
|
||||
}', '2018-07-05 14:46:18.0000000', N'admin', N'管理员', '2018-07-05 18:31:34.0000000', N'admin', N'管理员');
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_type] ([ID], [typecode], [typename], [typepid], [typegroupid], [create_date], [create_name], [order_num]) VALUES (N'4028608164691b00016469289a040001', N'3', N'系统提醒模板', NULL, N'8a71b40e4a38319b014a3858fca40018', '2018-07-05 14:37:05.0000000', N'管理员', '3');
|
||||
|
||||
INSERT INTO [dbo].[t_s_function] ([ID], [functioniframe], [functionlevel], [functionname], [functionorder], [functionurl], [parentfunctionid], [iconid], [desk_iconid], [functiontype], [function_icon_style], [create_by], [create_name], [update_by], [update_date], [create_date], [update_name]) VALUES (N'40289181647d9d4a01647daaa4ce0001', NULL, '1', N'表单原生组件二', N'4', N'jeecgFormDemoController.do?natures', N'4028f6815af3ce54015af3d1ad610001', N'8a8ab0b246dc81120146dc8180460000', N'8a8ab0b246dc81120146dc8180dd001e', '0', N'fa-code', N'admin', N'管理员', N'admin', '2018-07-09 18:29:31.0000000', '2018-07-09 14:11:33.0000000', N'管理员');
|
||||
|
||||
CREATE TABLE [dbo].[t_s_dict_table_config] (
|
||||
[id] nvarchar(36) NOT NULL ,
|
||||
[table_name] nvarchar(100) NULL ,
|
||||
[value_col] nvarchar(50) NULL ,
|
||||
[text_col] nvarchar(50) NULL ,
|
||||
[dict_condition] nvarchar(255) NULL ,
|
||||
[isvalid] nvarchar(32) NULL ,
|
||||
[create_name] nvarchar(50) NULL ,
|
||||
[create_by] nvarchar(50) NULL ,
|
||||
[create_date] datetime2(7) NULL ,
|
||||
[update_name] nvarchar(50) NULL ,
|
||||
[update_by] nvarchar(50) NULL ,
|
||||
[update_date] datetime2(7) NULL ,
|
||||
[sys_org_code] nvarchar(50) NULL ,
|
||||
[sys_company_code] nvarchar(50) NULL
|
||||
)
|
||||
|
||||
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
NULL, NULL)) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'字典表授权配置'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'字典表授权配置'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'table_name')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'表名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'table_name'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'表名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'table_name'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'value_col')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'值字段名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'value_col'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'值字段名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'value_col'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'text_col')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'文本字段名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'text_col'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'文本字段名'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'text_col'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'dict_condition')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'字典表查询条件'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'dict_condition'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'字典表查询条件'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'dict_condition'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'isvalid')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'是否启用'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'isvalid'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'是否启用'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'isvalid'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'create_name')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'创建人名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_name'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'创建人名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_name'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'create_by')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'创建人登录名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_by'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'创建人登录名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_by'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'create_date')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'创建日期'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_date'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'创建日期'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'create_date'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'update_name')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'更新人名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_name'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'更新人名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_name'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'update_by')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'更新人登录名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_by'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'更新人登录名称'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_by'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'update_date')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'更新日期'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_date'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'更新日期'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'update_date'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'sys_org_code')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'所属部门'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'sys_org_code'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'所属部门'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'sys_org_code'
|
||||
GO
|
||||
IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description',
|
||||
'SCHEMA', N'dbo',
|
||||
'TABLE', N't_s_dict_table_config',
|
||||
'COLUMN', N'sys_company_code')) > 0)
|
||||
EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'所属公司'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'sys_company_code'
|
||||
ELSE
|
||||
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'所属公司'
|
||||
, @level0type = 'SCHEMA', @level0name = N'dbo'
|
||||
, @level1type = 'TABLE', @level1name = N't_s_dict_table_config'
|
||||
, @level2type = 'COLUMN', @level2name = N'sys_company_code'
|
||||
GO
|
||||
|
||||
-- ----------------------------
|
||||
-- Indexes structure for table t_s_dict_table_config
|
||||
-- ----------------------------
|
||||
CREATE UNIQUE INDEX [uniq_tablename_valuecol_textcol] ON [dbo].[t_s_dict_table_config]
|
||||
([table_name] ASC, [value_col] ASC, [text_col] ASC)
|
||||
WITH (IGNORE_DUP_KEY = ON, STATISTICS_NORECOMPUTE = ON)
|
||||
GO
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table t_s_dict_table_config
|
||||
-- ----------------------------
|
||||
ALTER TABLE [dbo].[t_s_dict_table_config] ADD PRIMARY KEY ([id])
|
||||
GO
|
||||
|
||||
|
||||
INSERT INTO [dbo].[t_s_function] ([ID], [functioniframe], [functionlevel], [functionname], [functionorder], [functionurl], [parentfunctionid], [iconid], [desk_iconid], [functiontype], [function_icon_style], [create_by], [create_name], [update_by], [update_date], [create_date], [update_name]) VALUES (N'40286081648332f8016483352acf0001', NULL, '1', N'字典表授权配置', N'7', N'tSDictTableConfigController.do?list', N'8a8ab0b246dc81120146dc8180d2001a', N'8a8ab0b246dc81120146dc8180460000', N'8a8ab0b246dc81120146dc8180dd001e', '0', N'', N'admin', N'管理员', N'admin', '2018-07-10 16:01:17.0000000', '2018-07-10 16:00:57.0000000', N'管理员');
|
||||
|
||||
update [dbo].[t_s_muti_lang] set lang_context = '3.7.7' where lang_key ='system.version.number';
|
||||
|
8
pom.xml
|
@ -3,7 +3,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jeecgframework</groupId>
|
||||
<artifactId>jeecg</artifactId>
|
||||
<version>3.7.7</version>
|
||||
<version>3.7.8</version>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -17,7 +17,7 @@
|
|||
<hibernate.version>4.1.0.Final</hibernate.version>
|
||||
<hibernate-validator.version>4.2.0.Final</hibernate-validator.version>
|
||||
<!-- minidao -->
|
||||
<minidao.version>1.6.6</minidao.version>
|
||||
<minidao.version>1.6.7</minidao.version>
|
||||
|
||||
<!-- 数据库连接池 -->
|
||||
<commons-dbcp.version>1.4</commons-dbcp.version>
|
||||
|
@ -70,7 +70,7 @@
|
|||
<!-- pinyin4j -->
|
||||
<pinyin4j.version>2.5.1</pinyin4j.version>
|
||||
<!-- jeasypoi 工具类 -->
|
||||
<jeasypoi.version>2.1.8</jeasypoi.version>
|
||||
<jeasypoi.version>2.1.9</jeasypoi.version>
|
||||
<!-- cxf webservice -->
|
||||
<cxf.version>3.0.2</cxf.version>
|
||||
<!-- jacob -->
|
||||
|
@ -96,7 +96,7 @@
|
|||
<!-- jeecg-p3 -->
|
||||
<jeecg-p3-core.version>1.0.0</jeecg-p3-core.version>
|
||||
<jeecg-p3-biz-demo.version>1.0.2</jeecg-p3-biz-demo.version>
|
||||
<jeecg-p3-biz-chat.version>1.0.4</jeecg-p3-biz-chat.version>
|
||||
<jeecg-p3-biz-chat.version>1.0.5</jeecg-p3-biz-chat.version>
|
||||
<jeecg-p3-biz-mail.version>1.0.0</jeecg-p3-biz-mail.version>
|
||||
|
||||
<!--maven插件变量-->
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.jeecg.demo.controller;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -37,6 +38,7 @@ import org.springframework.web.servlet.ModelAndView;
|
|||
|
||||
import com.jeecg.demo.entity.JeecgDemoExcelEntity;
|
||||
import com.jeecg.demo.service.JeecgDemoExcelServiceI;
|
||||
import com.jeecg.demo.util.FreemarkerUtil;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
@ -307,6 +309,20 @@ public class JeecgDemoExcelController extends BaseController {
|
|||
}
|
||||
return j;
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/ftl2word")
|
||||
public void velocity2word(JeecgDemoExcelEntity jeecgDemoExcel,HttpServletRequest request,HttpServletResponse response) throws IOException{
|
||||
try {
|
||||
jeecgDemoExcel = this.jeecgDemoExcelService.getEntity(JeecgDemoExcelEntity.class, jeecgDemoExcel.getId());
|
||||
List<Map<String,Object>> departs = this.systemService.findForJdbc("select id,departname from t_s_depart");
|
||||
String docFileName ="word-模板导出测试.doc";
|
||||
Map<String,Object> rootMap = new HashMap<String,Object>();
|
||||
rootMap.put("info", jeecgDemoExcel);
|
||||
rootMap.put("departs", departs);
|
||||
FreemarkerUtil.createFile("ftl2doc.ftl", docFileName, rootMap, request, response, FreemarkerUtil.WORD_FILE);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.jeecg.demo.controller;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
@ -21,6 +23,13 @@ import javax.servlet.http.HttpServletRequest;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
import org.apache.commons.fileupload.FileUploadException;
|
||||
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.jeecgframework.core.common.controller.BaseController;
|
||||
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
|
||||
|
@ -459,6 +468,32 @@ public class JeecgFormDemoController extends BaseController {
|
|||
j.setMsg(message);
|
||||
return j;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文件标题
|
||||
* @author taoYan
|
||||
* @since 2018年8月2日
|
||||
*/
|
||||
@RequestMapping(params = "updateDoc")
|
||||
@ResponseBody
|
||||
public AjaxJson updateDoc(HttpServletRequest request) {
|
||||
AjaxJson j = new AjaxJson();
|
||||
try {
|
||||
String id = request.getParameter("id");
|
||||
String title = request.getParameter("title");
|
||||
TSDocument document = systemService.getEntity(TSDocument.class,id);
|
||||
document.setDocumentTitle(title);
|
||||
systemService.updateEntitie(document);
|
||||
j.setSuccess(true);
|
||||
j.setMsg("文件标题修改成功!");
|
||||
} catch (Exception e) {
|
||||
j.setSuccess(false);
|
||||
j.setMsg("文件标题修改失败!");
|
||||
}
|
||||
|
||||
return j;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 权限列表
|
||||
|
@ -835,4 +870,146 @@ public class JeecgFormDemoController extends BaseController {
|
|||
return new ModelAndView("com/jeecg/demo/dropDownDatagrid");
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* bootstrap树形列表页面跳转
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(params = "bootstrapTreeListDemo")
|
||||
public ModelAndView bootstrapTreeListDemo(ModelMap model) {
|
||||
return new ModelAndView("com/jeecg/demo/bootstrapTreeList");
|
||||
}
|
||||
/**
|
||||
* bootstrap树形列表获取数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(params = "bootstrapDemoDatagrid",method ={RequestMethod.GET, RequestMethod.POST})
|
||||
public void bootstrapDemoDatagrid(HttpServletRequest request,HttpServletResponse response) {
|
||||
try {
|
||||
String text1="[{\"id\":1,\"pid\":0,\"status\":1,\"name\":\"系统管理\",\"permissionValue\":\"系统\"},{\"id\":2,\"pid\":0,\"status\":1,\"name\":\"字典管理\",\"permissionValue\":\"字典\"},{\"id\":20,\"pid\":1,\"status\":1,\"name\":\"新增系统\",\"permissionValue\":\"新增\"},{\"id\":21,\"pid\":1,\"status\":1,\"name\":\"编辑系统\",\"permissionValue\":\"编辑\"},{\"id\":22,\"pid\":1,\"status\":1,\"name\":\"删除系统\",\"permissionValue\":\"删除\"},{\"id\":33,\"pid\":2,\"status\":1,\"name\":\"系统环境\",\"permissionValue\":\"环境\"},{\"id\":333,\"pid\":33,\"status\":1,\"name\":\"新增环境\",\"permissionValue\":\"新增\"},{\"id\":3333,\"pid\":33,\"status\":1,\"name\":\"编辑环境\",\"permissionValue\":\"编辑\"},{\"id\":233332,\"pid\":33,\"status\":0,\"name\":\"删除环境\",\"permissionValue\":\"删除\"}]";
|
||||
response.getWriter().println(text1);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(params = "plupload1")
|
||||
public ModelAndView plupload(HttpServletRequest request) {
|
||||
return new ModelAndView("com/jeecg/demo/plupload/plupload1");
|
||||
}
|
||||
@RequestMapping(params = "plupload2")
|
||||
public ModelAndView plupload3(HttpServletRequest request) {
|
||||
return new ModelAndView("com/jeecg/demo/plupload/plupload3");
|
||||
}
|
||||
@RequestMapping(params = "goPlupload")
|
||||
public ModelAndView goPlupload(HttpServletRequest request) {
|
||||
request.setAttribute("chunk", request.getParameter("chunk"));
|
||||
return new ModelAndView("com/jeecg/demo/plupload/plupload5");
|
||||
}
|
||||
/**
|
||||
* 文件分割 请求处理
|
||||
* 尚存bug List<FileItem> items = upload.parseRequest(request); 因为mvc已有已文件处理配置,此处获取不到值了
|
||||
* 后期可修改
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws IOException
|
||||
*/
|
||||
@RequestMapping("/doupload")
|
||||
public void doupload(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
String ctxPath=ResourceUtil.getConfigByName("webUploadpath");//demo中设置为D://upFiles,实际项目应因事制宜
|
||||
String tempFileDir = ctxPath+File.separator+"temp";
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
Integer schunk = null;//分割块数
|
||||
Integer schunks = null;//总分割数
|
||||
String name = null;//文件名
|
||||
BufferedOutputStream outputStream=null;
|
||||
if (ServletFileUpload.isMultipartContent(request)) {
|
||||
try {
|
||||
String bizType=request.getParameter("bizType");//上传业务名称
|
||||
String bizPath=StoreUploadFilePathEnum.getPath(bizType);//根据业务名称判断上传路径
|
||||
String nowday=new SimpleDateFormat("yyyyMMdd").format(new Date());
|
||||
String fileDir = ctxPath+File.separator+bizPath+File.separator+nowday;
|
||||
File file = new File(fileDir);
|
||||
if (!file.exists()) {
|
||||
file.mkdirs();// 创建文件根目录
|
||||
}
|
||||
File tempFile = new File(tempFileDir);
|
||||
if (!tempFile.exists()) {
|
||||
tempFile.mkdirs();// 创建文件临时目录
|
||||
}
|
||||
DiskFileItemFactory factory = new DiskFileItemFactory();
|
||||
factory.setSizeThreshold(1024);
|
||||
factory.setRepository(tempFile);//设置临时目录
|
||||
ServletFileUpload upload = new ServletFileUpload(factory);
|
||||
upload.setHeaderEncoding("UTF-8");
|
||||
upload.setSizeMax(5*1024*1024);//设置附近大小??
|
||||
List<FileItem> items = upload.parseRequest(request);
|
||||
//生成新的文件名
|
||||
String newFilename = null;
|
||||
for(FileItem item : items){
|
||||
if(!item.isFormField()){
|
||||
//如果是文件类型
|
||||
name = item.getName();//获取文件名
|
||||
System.out.println("name:"+name);
|
||||
newFilename = UUID.randomUUID().toString().replace("-","").concat(".").concat(FilenameUtils.getExtension(name));
|
||||
System.out.println("newFilename:"+newFilename);
|
||||
if(name!=null){
|
||||
String nFname = newFilename;
|
||||
if(schunk!=null){
|
||||
nFname = schunk+"_"+name;
|
||||
}
|
||||
File savedFile = new File(fileDir, nFname);
|
||||
item.write(savedFile);
|
||||
}
|
||||
}else{
|
||||
//判断是否带分割信息
|
||||
if(item.getFieldName().equals("chunk")){
|
||||
schunk = Integer.parseInt(item.getString());
|
||||
}
|
||||
if(item.getFieldName().equals("chunks")){
|
||||
schunks = Integer.parseInt(item.getString());
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("chunk:"+schunk+"-"+schunks);
|
||||
if(schunk!=null && schunk+1 == schunks){
|
||||
outputStream = new BufferedOutputStream(new FileOutputStream(new File(fileDir,newFilename)));
|
||||
for(int i=0;i<schunks;i++){
|
||||
File itempFile = new File(fileDir,i+"_"+name);
|
||||
byte[] bytes = FileUtils.readFileToByteArray(itempFile);
|
||||
outputStream.write(bytes);
|
||||
outputStream.flush();
|
||||
itempFile.delete();
|
||||
}
|
||||
outputStream.flush();
|
||||
}
|
||||
response.getWriter().write("{\"status\":true,\"newName\":\""+newFilename+"\"}");
|
||||
} catch (FileUploadException e) {
|
||||
e.printStackTrace();
|
||||
response.getWriter().write("{\"status\":false}");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
response.getWriter().write("{\"status\":false}");
|
||||
}finally{
|
||||
try {
|
||||
if(outputStream!=null)
|
||||
outputStream.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*打印demo页面跳转
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(params = "printingDemo")
|
||||
public ModelAndView printingDemo(ModelMap model) {
|
||||
return new ModelAndView("com/jeecg/demo/printingDemo");
|
||||
}
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@ package com.jeecg.demo.controller;
|
|||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
|
@ -625,9 +626,11 @@ public class JeecgListDemoController extends BaseController {
|
|||
|
||||
//step.1 获取数据权限SQL片段
|
||||
String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
|
||||
|
||||
|
||||
//设置排序字段
|
||||
//step.2 将权限SQL片段注入到业务SQL中
|
||||
MiniDaoPage<JeecgDemoEntity> list = jeecgMinidaoDao.getAllEntities(jeecgDemo, dataGrid.getPage(), dataGrid.getRows(),authSql);
|
||||
MiniDaoPage<JeecgDemoEntity> list = jeecgMinidaoDao.getAllEntities(jeecgDemo, dataGrid.getPage(), dataGrid.getRows(),dataGrid.getSort(),dataGrid.getOrder(),authSql);
|
||||
|
||||
dataGrid.setTotal(list.getTotal());
|
||||
dataGrid.setResults(list.getResults());
|
||||
|
||||
|
@ -1395,4 +1398,33 @@ public class JeecgListDemoController extends BaseController {
|
|||
public ModelAndView collapseDemo() {
|
||||
return new ModelAndView("com/jeecg/demo/jeecgDemoList-collapse");
|
||||
}
|
||||
|
||||
/**
|
||||
* bootstrap-suggest-plugin demo
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(params = "suggest")
|
||||
public ModelAndView suggest(HttpServletRequest request) {
|
||||
return new ModelAndView("com/jeecg/demo/suggest");
|
||||
}
|
||||
@RequestMapping(value = "loadSuggestData")
|
||||
@ResponseBody
|
||||
public Object loadSuggestData(String keyword,HttpServletRequest request) {
|
||||
String sql = "select a.username,a.realname,IFNULL(c.departname,'火星人') as depart from t_s_base_user a left join t_s_user_org b on b.user_id = a.ID left join t_s_depart c on c.id = b.org_id "
|
||||
+ "";//TODO keyword 没用到
|
||||
JSONObject object = new JSONObject();
|
||||
object.put("message", "");
|
||||
try {
|
||||
List<Map<String,Object>> data = this.systemService.findForJdbc(sql);
|
||||
net.sf.json.JSONArray array = net.sf.json.JSONArray.fromObject(data);
|
||||
object.put("value", array);
|
||||
object.put("code", 200);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
object.put("redirect", "");
|
||||
return object;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public interface JeecgMinidaoDao {
|
|||
List<Map<String, String>> getAllRegions();
|
||||
|
||||
@ResultType(JeecgDemoEntity.class)
|
||||
public MiniDaoPage<JeecgDemoEntity> getAllEntities(@Param("jeecgDemo") JeecgDemoEntity jeecgDemo, @Param("page") int page, @Param("rows") int rows,@Param("authSql") String authSql);
|
||||
public MiniDaoPage<JeecgDemoEntity> getAllEntities(@Param("jeecgDemo") JeecgDemoEntity jeecgDemo, @Param("page") int page, @Param("rows") int rows,@Param("sort")String sort, @Param("order")String order,@Param("authSql") String authSql);
|
||||
|
||||
@Sql("select count(*) from jeecg_demo")
|
||||
Integer getCount();
|
||||
|
|
|
@ -75,8 +75,6 @@ public class JeecgDemoEntity implements java.io.Serializable {
|
|||
|
||||
private java.lang.String touxiang;
|
||||
private java.lang.String fujian;
|
||||
|
||||
|
||||
/**
|
||||
*方法: 取得java.lang.String
|
||||
*@return: java.lang.String id
|
||||
|
@ -389,6 +387,4 @@ public class JeecgDemoEntity implements java.io.Serializable {
|
|||
public void setFujian(java.lang.String fujian) {
|
||||
this.fujian = fujian;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -26,3 +26,7 @@ SELECT * FROM jeecg_demo WHERE 1=1
|
|||
<#if authSql ?exists && authSql ?length gt 0>
|
||||
${authSql}
|
||||
</#if>
|
||||
<#if sort ?exists && sort ?length gt 0>
|
||||
ORDER BY ${sort} ${order}
|
||||
</#if>
|
||||
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
package com.jeecg.demo.util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import freemarker.template.Configuration;
|
||||
import freemarker.template.DefaultObjectWrapper;
|
||||
import freemarker.template.Template;
|
||||
import freemarker.template.TemplateException;
|
||||
|
||||
public class FreemarkerUtil {
|
||||
private static final Object LOCK = new Object();
|
||||
/**
|
||||
* word文件
|
||||
*/
|
||||
public static final int WORD_FILE = 1;
|
||||
/**
|
||||
* excel文件
|
||||
*/
|
||||
public static final int EXCEL_FILE = 2;
|
||||
|
||||
private static Configuration cfg;
|
||||
|
||||
private static FreemarkerUtil ftl ;
|
||||
|
||||
private FreemarkerUtil(String templateFolder) throws IOException {
|
||||
cfg = new Configuration();
|
||||
cfg.setDirectoryForTemplateLoading(new File(templateFolder));
|
||||
cfg.setObjectWrapper(new DefaultObjectWrapper());
|
||||
}
|
||||
|
||||
private static void check(HttpServletRequest request) {
|
||||
if (ftl == null) {
|
||||
synchronized (LOCK) {
|
||||
try {
|
||||
ftl = new FreemarkerUtil(request.getServletContext().getRealPath("/")+"export/template");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建 word 文档
|
||||
* 必须先设置response导出配置,然后解析模版,否则会出问题
|
||||
* @throws IOException
|
||||
*/
|
||||
public static void createFile(String templateName,String docFileName, Map<String,Object> rootMap,HttpServletRequest request, HttpServletResponse response,int fileType) throws IOException {
|
||||
// response.resetBuffer();
|
||||
//设置导出
|
||||
response.addHeader("Cache-Control","no-cache");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
if( WORD_FILE == fileType){
|
||||
response.setContentType("application/vnd.ms-word;charset=UTF-8");
|
||||
}else if(EXCEL_FILE == fileType){
|
||||
response.setContentType("application/octet-stream;charset=UTF-8");
|
||||
}else{
|
||||
response.setContentType("application/octet-stream");
|
||||
}
|
||||
String ua = request.getHeader("user-agent");
|
||||
ua = ua == null ? null : ua.toLowerCase();
|
||||
if(ua != null && (ua.indexOf("firefox") > 0 || ua.indexOf("safari")>0)){
|
||||
try {
|
||||
docFileName = new String(docFileName.getBytes(),"ISO8859-1");
|
||||
response.addHeader("Content-Disposition","attachment;filename=" + docFileName);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}else{
|
||||
try {
|
||||
docFileName = URLEncoder.encode(docFileName, "utf-8");
|
||||
response.addHeader("Content-Disposition","attachment;filename=" + docFileName);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
check(request);
|
||||
//解析模版
|
||||
Template temp = cfg.getTemplate(templateName, "UTF-8");
|
||||
PrintWriter write = response.getWriter();
|
||||
try {
|
||||
temp.process(rootMap, write);
|
||||
} catch (TemplateException e) {
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(write != null){
|
||||
write.flush();
|
||||
write.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -256,12 +256,16 @@ public class CommonDao extends GenericBaseCommonDao implements ICommonDao, IGene
|
|||
// SwfToolsUtil.convert2SWF(savePath);
|
||||
// }
|
||||
// FileCopyUtils.copy(mf.getBytes(), savefile);
|
||||
if (uploadFile.getSwfpath() != null) {
|
||||
|
||||
//默认上传文件是否转换为swf,实现在线预览功能开关
|
||||
String globalSwfTransformFlag = ResourceUtil.getConfigByName("swf.transform.flag");
|
||||
if ( "true".equals(globalSwfTransformFlag) && uploadFile.getSwfpath() != null) {
|
||||
// 转SWF
|
||||
reflectHelper.setMethodValue(uploadFile.getSwfpath(), path + FileUtils.getFilePrefix(myfilename) + ".swf");
|
||||
SwfToolsUtil.convert2SWF(savePath);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
} catch (Exception e1) {
|
||||
}
|
||||
|
|
|
@ -698,7 +698,16 @@ public abstract class GenericBaseCommonDao<T, PK extends Serializable>
|
|||
CriteriaImpl impl = (CriteriaImpl) criteria;
|
||||
// 先把Projection和OrderBy条件取出来,清空两者来执行Count操作
|
||||
Projection projection = impl.getProjection();
|
||||
final int allCounts = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
|
||||
|
||||
// final int allCounts = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
|
||||
Object allCountsObj = criteria.setProjection(Projections.rowCount()).uniqueResult();
|
||||
final int allCounts;
|
||||
if(allCountsObj==null){
|
||||
allCounts = 0;
|
||||
}else{
|
||||
allCounts = ((Long) allCountsObj).intValue();
|
||||
}
|
||||
|
||||
criteria.setProjection(projection);
|
||||
if (projection == null) {
|
||||
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
|
||||
|
|
|
@ -15,6 +15,7 @@ import org.hibernate.transform.Transformers;
|
|||
import org.hibernate.type.Type;
|
||||
import org.jeecgframework.core.common.model.json.DataGrid;
|
||||
import org.jeecgframework.core.util.StringUtil;
|
||||
import org.jeecgframework.core.util.oConvertUtils;
|
||||
import org.jeecgframework.tag.vo.datatable.DataTables;
|
||||
import org.jeecgframework.tag.vo.datatable.SortDirection;
|
||||
import org.jeecgframework.tag.vo.datatable.SortInfo;
|
||||
|
@ -596,11 +597,11 @@ public class CriteriaQuery {
|
|||
public void between(String keyname, Object keyvalue1, Object keyvalue2) {
|
||||
Criterion c = null;// 写入between查询条件
|
||||
|
||||
if (!keyvalue1.equals(null) && !keyvalue2.equals(null)) {
|
||||
if (oConvertUtils.isNotEmpty(keyvalue1) && oConvertUtils.isNotEmpty(keyvalue2)) {
|
||||
c = Restrictions.between(keyname, keyvalue1, keyvalue2);
|
||||
} else if (!keyvalue1.equals(null)) {
|
||||
} else if (oConvertUtils.isNotEmpty(keyvalue1)) {
|
||||
c = Restrictions.ge(keyname, keyvalue1);
|
||||
} else if (!keyvalue2.equals(null)) {
|
||||
} else if (oConvertUtils.isNotEmpty(keyvalue2)) {
|
||||
c = Restrictions.le(keyname, keyvalue2);
|
||||
}
|
||||
criterionList.add(c);
|
||||
|
|
|
@ -127,13 +127,13 @@ public class TreeGrid implements java.io.Serializable {
|
|||
}
|
||||
|
||||
private String assembleFieldsJson() {
|
||||
String fieldsJson = ", 'fieldMap':" + fieldMap;
|
||||
String fieldsJson = ", 'fieldMap':" + JSON.toJSON(fieldMap);
|
||||
if (fieldMap != null && fieldMap.size() > 0) {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
for (Map.Entry<String, Object> entry : fieldMap.entrySet()) {
|
||||
resultMap.put("fieldMap." + entry.getKey(), entry.getValue());
|
||||
}
|
||||
fieldsJson = ", " + JSON.toJSON(resultMap).toString().replace("{", "").replace("}", "");
|
||||
fieldsJson += ", " + JSON.toJSON(resultMap).toString().replace("{", "").replace("}", "");
|
||||
}
|
||||
return fieldsJson;
|
||||
}
|
||||
|
|
|
@ -5,9 +5,11 @@ import java.io.FileInputStream;
|
|||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* 文件操作工具类
|
||||
|
@ -194,4 +196,70 @@ public class FileUtils {
|
|||
}
|
||||
return returnFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据现有路径获取SWF文件名称
|
||||
* @author taoYan
|
||||
* @since 2018年7月26日
|
||||
*/
|
||||
public static String getSwfPath(String path){
|
||||
String leftSlash = "/";
|
||||
if(!File.separator.equals(leftSlash)){
|
||||
path = path.replace(File.separator,leftSlash);
|
||||
}
|
||||
String fileDir = path.substring(0,path.lastIndexOf(leftSlash)+1);//文件目录带/
|
||||
int pointPosition = path.lastIndexOf(".");
|
||||
String fileName = path.substring(path.lastIndexOf(leftSlash)+1,pointPosition);//文件名不带后缀
|
||||
String swfName = PinyinUtil.getPinYinHeadChar(fileName);// 取文件名首字母作为SWF文件名
|
||||
return fileDir+swfName+".swf";
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传txt文件,防止乱码
|
||||
* @author taoYan
|
||||
* @since 2018年7月26日
|
||||
*/
|
||||
public static void uploadTxtFile(MultipartFile mf,String savePath) throws IOException{
|
||||
//利用utf-8字符集的固定首行隐藏编码原理
|
||||
//Unicode:FF FE UTF-8:EF BB
|
||||
byte[] allbytes = mf.getBytes();
|
||||
try{
|
||||
String head1 = toHexString(allbytes[0]);
|
||||
//System.out.println(head1);
|
||||
String head2 = toHexString(allbytes[1]);
|
||||
//System.out.println(head2);
|
||||
if("ef".equals(head1) && "bb".equals(head2)){
|
||||
//UTF-8
|
||||
String contents = new String(mf.getBytes(),"UTF-8");
|
||||
if(StringUtils.isNotBlank(contents)){
|
||||
OutputStream out = new FileOutputStream(savePath);
|
||||
out.write(contents.getBytes());
|
||||
out.close();
|
||||
}
|
||||
} else {
|
||||
|
||||
//GBK
|
||||
String contents = new String(mf.getBytes(),"GBK");
|
||||
OutputStream out = new FileOutputStream(savePath);
|
||||
out.write(contents.getBytes());
|
||||
out.close();
|
||||
|
||||
}
|
||||
} catch(Exception e){
|
||||
String contents = new String(mf.getBytes(),"UTF-8");
|
||||
if(StringUtils.isNotBlank(contents)){
|
||||
OutputStream out = new FileOutputStream(savePath);
|
||||
out.write(contents.getBytes());
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String toHexString(int index){
|
||||
String hexString = Integer.toHexString(index);
|
||||
// 1个byte变成16进制的,只需要2位就可以表示了,取后面两位,去掉前面的符号填充
|
||||
hexString = hexString.substring(hexString.length() -2);
|
||||
return hexString;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -312,7 +312,7 @@ public class LdapUtil {
|
|||
|
||||
try {
|
||||
NamingEnumeration<?> answer = dc.search(searchBase, searchFilter, searchCtls);
|
||||
if (answer == null || answer.equals(null)) {
|
||||
if (oConvertUtils.isEmpty(answer)) {
|
||||
LogUtil.info("answer is null");
|
||||
} else {
|
||||
LogUtil.info("answer not null");
|
||||
|
|
|
@ -10,6 +10,8 @@ import java.util.Map;
|
|||
import java.util.Map.Entry;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.persistence.Transient;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
|
@ -238,4 +240,21 @@ public class ReflectHelper {
|
|||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断该字段get方法是否被@Transient注解了
|
||||
* @author taoYan
|
||||
* @since 2018年7月26日
|
||||
* @return 如果没有get*返回true,有get且无@Transient注解返回false
|
||||
*/
|
||||
public boolean isIgore(String property) {
|
||||
Method m = getMethods.get(property.toLowerCase());
|
||||
if (m != null) {
|
||||
Object o = m.getAnnotation(Transient.class);
|
||||
if(o==null){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
|
@ -179,7 +179,8 @@ public class BaseTag extends JeecgTag {
|
|||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/themes/bootstrap-ext/js/common.js\"></script>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/tools/dataformat.js\"></script>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/lhgDialog/lhgdialog.min.js?skin=metrole\"></script>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/themes/bootstrap-ext/js/bootstrap-lhgdialog-curdtools_zh-cn.js\"></script>");
|
||||
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/themes/bootstrap-ext/js/bootstrap-lhgdialog-curdtools.js\"></script>");
|
||||
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/ace/css/common.css\" type=\"text/css\"></link>");
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/ace/css/font-awesome.css\" type=\"text/css\"></link>");
|
||||
|
@ -219,8 +220,10 @@ public class BaseTag extends JeecgTag {
|
|||
if (oConvertUtils.isIn("bootstrap-form", types)) {
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/themes/bootstrap-ext/css/validform-ext.css\" type=\"text/css\"></link>");
|
||||
//icheck组件引用
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/icheck-1.x/skins/square/_all.css\" type=\"text/css\"></link>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/icheck-1.x/icheck.js\"></script>");
|
||||
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/hplus/css/plugins/iCheck/custom.css\" type=\"text/css\"></link>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/hplus/js/plugins/iCheck/icheck.min.js\"></script>");
|
||||
|
||||
//通用组件引用
|
||||
sb.append("<link rel=\"stylesheet\" href=\""+basePath+"/plug-in/bootstrap3.3.5/css/default.css\" type=\"text/css\"></link>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/themes/bootstrap-ext/js/common.js\"></script>");
|
||||
|
@ -238,6 +241,11 @@ public class BaseTag extends JeecgTag {
|
|||
|
||||
types = null;
|
||||
this.putTagCache(sb);
|
||||
|
||||
if(sb.indexOf("plug-in/tools/curdtools.js")!=-1 && sb.indexOf("/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js")==-1){
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js\"></script>");
|
||||
}
|
||||
|
||||
return sb;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import org.jeecgframework.core.util.UUIDGenerator;
|
|||
* @version 1.0
|
||||
*/
|
||||
public class ChooseTag extends TagSupport {
|
||||
private static final long serialVersionUID = 1L;
|
||||
protected String hiddenName;
|
||||
protected String textname;//显示文本框字段
|
||||
protected String icon;
|
||||
|
|
|
@ -386,12 +386,14 @@ public class DataGridTag extends TagSupport {
|
|||
* @param width2
|
||||
* @param id
|
||||
*/
|
||||
public void setToolbar(String url, String title, String icon, String exp,String onclick, String funname,String operationCode, String width2, String height2, String id) {
|
||||
public void setToolbar(String url, String title, String icon, String exp,String onclick, String funname,String operationCode, String width2, String height2, String id,boolean inGroup) {
|
||||
DataGridUrl dataGridUrl = new DataGridUrl();
|
||||
dataGridUrl.setTitle(title);
|
||||
dataGridUrl.setUrl(url);
|
||||
dataGridUrl.setType(OptTypeDirection.ToolBar);
|
||||
|
||||
dataGridUrl.setInGroup(inGroup);
|
||||
|
||||
if(!checkBrowerIsNotIE()){
|
||||
//IE浏览器
|
||||
if(!icon.startsWith("icon")){
|
||||
|
@ -1809,93 +1811,31 @@ public class DataGridTag extends TagSupport {
|
|||
sb.append("<span style=\"float:left;\" >");
|
||||
if(toolBarList.size()>0)
|
||||
{
|
||||
|
||||
Boolean hasMore = false;
|
||||
for (DataGridUrl toolBar : toolBarList) {
|
||||
|
||||
if (btnCls != null && !btnCls.equals("easyui")) {//自定以样式 bootstrap按钮样式
|
||||
if(btnCls.indexOf("bootstrap")==0){
|
||||
if (btnCls.replace("bootstrap", "").trim().length() > 0) {
|
||||
sb.append("<button class=\""+btnCls.replace("bootstrap", "").trim()+"\" ");
|
||||
}else{
|
||||
sb.append("<button class=\"btn btn-default btn-xs\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append("><i class=\"" + toolBar.getIcon() + "\"></i><span class=\"bigger-110 no-text-shadow\">"+toolBar.getTitle()+"</span></button>");
|
||||
|
||||
}else{
|
||||
sb.append("<a href=\"#\" class=\""+btnCls+" " + toolBar.getIcon()+"\" ");
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append(">"+toolBar.getTitle()+"</a>");
|
||||
if(toolBar.isInGroup()){
|
||||
if(!hasMore){
|
||||
hasMore = true;
|
||||
}
|
||||
|
||||
}else if(btnCls == null || btnCls.equals("easyui")){//easyUI按钮样式
|
||||
|
||||
sb.append("<a href=\"#\" class=\"easyui-linkbutton\" plain=\"true\" icon=\""+toolBar.getIcon()+"\" ");
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append(">"+toolBar.getTitle()+"</a>");
|
||||
}else{
|
||||
loadToolbar(toolBar, sb);
|
||||
}
|
||||
}
|
||||
if(hasMore){
|
||||
loadToolbarMoreBtn(sb,true,null);
|
||||
sb.append("<div class='toolbar-more-container'><ul class='toolbar-more-list'>");
|
||||
for (DataGridUrl toolBar : toolBarList) {
|
||||
if(toolBar.isInGroup()){
|
||||
sb.append("<li>");
|
||||
loadToolbarMoreBtn(sb,false,toolBar);
|
||||
sb.append("</li>");
|
||||
}
|
||||
}
|
||||
sb.append("</ul></div>");
|
||||
//sb.append("<div class='btn-group'><button data-toggle='dropdown' class='btn btn-default dropdown-toggle'>操作<span class='caret'></span> </button><ul class='dropdown-menu'><li><a href='buttons.html#'>置顶</a></li><li><a href='buttons.html#' class='font-bold'>修改</a></li><li><a href='buttons.html#'>禁用</a></li><li class='divider'></li> <li><a href='buttons.html#'>删除</a></li> </ul> </div>");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
sb.append("</span>");
|
||||
|
||||
|
@ -1995,6 +1935,145 @@ public class DataGridTag extends TagSupport {
|
|||
return sb;
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅用于 加载【更多操作】 按钮的方法
|
||||
* @param sb
|
||||
* @param 是否是【更多操作】按钮,false则为点击【更多操作】后展示的按钮
|
||||
* @param toolBar
|
||||
*/
|
||||
private void loadToolbarMoreBtn(StringBuffer sb,boolean isShow,DataGridUrl toolBar){
|
||||
if(isShow){
|
||||
if (btnCls != null && !btnCls.equals("easyui")) {
|
||||
if(btnCls.indexOf("bootstrap")==0){
|
||||
if (btnCls.replace("bootstrap", "").trim().length() > 0) {
|
||||
sb.append("<button class=\""+btnCls.replace("bootstrap", "").trim()+"\" ");
|
||||
}else{
|
||||
sb.append("<button class=\"btn btn-default btn-xs\" ");
|
||||
}
|
||||
sb.append("onclick='toggleMoreToolbars(this)'");
|
||||
sb.append("><i class=\"fa fa-caret-down\"></i><span class=\"bigger-110 no-text-shadow\">更多操作</span></button>");
|
||||
}else{
|
||||
sb.append("<a href=\"javascript:void(0)\" onclick='toggleMoreToolbars(this)' class=\""+btnCls+" " + toolBar.getIcon()+"\" >更多操作</a>");
|
||||
}
|
||||
}else if(btnCls == null || btnCls.equals("easyui")){
|
||||
sb.append("<a href=\"javascript:void(0)\" onclick='toggleMoreToolbars(this)' class=\"easyui-linkbutton\" plain=\"true\" icon=\"icon-caret-down\">更多操作</a> ");
|
||||
|
||||
}
|
||||
}else{
|
||||
sb.append("<a href='javascript:void(0)' ");
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick())){
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}else{
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit")){
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
if(btnCls == null || btnCls.equals("easyui")){
|
||||
sb.append("><span class=\"easyui-mycon "+toolBar.getIcon()+"\"></span> "+toolBar.getTitle());
|
||||
}else{
|
||||
sb.append("><i class=\""+toolBar.getIcon()+"\"></i> "+toolBar.getTitle());
|
||||
}
|
||||
sb.append("</a>");
|
||||
}
|
||||
|
||||
}
|
||||
private void loadToolbar(DataGridUrl toolBar,StringBuffer sb){
|
||||
|
||||
if (btnCls != null && !btnCls.equals("easyui")) {//自定以样式 bootstrap按钮样式
|
||||
if(btnCls.indexOf("bootstrap")==0){
|
||||
if (btnCls.replace("bootstrap", "").trim().length() > 0) {
|
||||
sb.append("<button class=\""+btnCls.replace("bootstrap", "").trim()+"\" ");
|
||||
}else{
|
||||
sb.append("<button class=\"btn btn-default btn-xs\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append("><i class=\"" + toolBar.getIcon() + "\"></i><span class=\"bigger-110 no-text-shadow\">"+toolBar.getTitle()+"</span></button>");
|
||||
|
||||
}else{
|
||||
sb.append("<a href=\"#\" class=\""+btnCls+" " + toolBar.getIcon()+"\" ");
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append(">"+toolBar.getTitle()+"</a>");
|
||||
}
|
||||
|
||||
}else if(btnCls == null || btnCls.equals("easyui")){//easyUI按钮样式
|
||||
|
||||
sb.append("<a href=\"#\" class=\"easyui-linkbutton\" plain=\"true\" icon=\""+toolBar.getIcon()+"\" ");
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getId())){
|
||||
sb.append(" id=\"");
|
||||
sb.append(toolBar.getId());
|
||||
sb.append("\" ");
|
||||
}
|
||||
|
||||
if(StringUtil.isNotEmpty(toolBar.getOnclick()))
|
||||
{
|
||||
sb.append("onclick="+toolBar.getOnclick()+"");
|
||||
}
|
||||
else {
|
||||
sb.append("onclick=\""+toolBar.getFunname()+"(");
|
||||
if(!toolBar.getFunname().equals("doSubmit"))
|
||||
{
|
||||
sb.append("\'"+toolBar.getTitle()+"\',");
|
||||
}
|
||||
String width = toolBar.getWidth().contains("%")?"'"+toolBar.getWidth()+"'":toolBar.getWidth();
|
||||
String height = toolBar.getHeight().contains("%")?"'"+toolBar.getHeight()+"'":toolBar.getHeight();
|
||||
sb.append("\'"+toolBar.getUrl()+"\',\'"+name+"\',"+width+","+height+")\"");
|
||||
}
|
||||
sb.append(">"+toolBar.getTitle()+"</a>");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void loadSubData(String id){
|
||||
CgFormFieldServiceI cgFormFieldService = (CgFormFieldServiceI)ApplicationContextUtil.getContext().getBean("cgFormFieldService");
|
||||
String tableName = id;
|
||||
|
@ -2451,9 +2530,6 @@ public class DataGridTag extends TagSupport {
|
|||
sb.append("if(!rec.id){return '';}");
|
||||
sb.append("var href='';");
|
||||
List<DataGridUrl> list = urlList;
|
||||
if(hasGroup()){
|
||||
getGroupUrl(sb);
|
||||
}
|
||||
for (DataGridUrl dataGridUrl : list) {
|
||||
if(!dataGridUrl.isInGroup()){
|
||||
String url = dataGridUrl.getUrl();
|
||||
|
@ -2593,6 +2669,11 @@ public class DataGridTag extends TagSupport {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(hasGroup()){
|
||||
getGroupUrl(sb);
|
||||
}
|
||||
|
||||
sb.append("return href;");
|
||||
}
|
||||
|
||||
|
@ -2604,8 +2685,10 @@ public class DataGridTag extends TagSupport {
|
|||
protected void getGroupUrl(StringBuffer sb) {
|
||||
//注:操作列表会带入合计列中去,故加此判断
|
||||
List<DataGridUrl> list = urlList;
|
||||
//<i class='fa fa-angle-double-right'></i>更多
|
||||
sb.append("href+=\"<a href='javascript:void(0)' class='opts-menu-triangle btnmy'> <span class='opts-menu-temp icon-triangle'></span>更多</a>\";");
|
||||
/* sb.append("href+=\"<div class='opts-menu-triangle icon-triangle' title='更多操作'></div>\";");*/
|
||||
sb.append("href+=\"<div class='opts-menu-container location-left'>\";");
|
||||
sb.append("href+=\"<div class='opts-menu-triangle icon-triangle' href='javascript:void(0);' title='更多操作'></div><div style='clear: both;'></div>\";");
|
||||
sb.append("href+=\"<div class='opts-menu-parent'>\";");
|
||||
sb.append("href+=\"<div class='opts-menu-box'>\";");
|
||||
for (DataGridUrl dataGridUrl : list) {
|
||||
|
@ -2665,11 +2748,12 @@ public class DataGridTag extends TagSupport {
|
|||
}
|
||||
|
||||
StringBuffer urlclass = new StringBuffer();
|
||||
if(!StringUtil.isEmpty(dataGridUrl.getUrlclass())){
|
||||
urlclass.append(" class=\'btn btn-default fa fa-edit ops-more ");
|
||||
urlclass.append(dataGridUrl.getUrlclass());
|
||||
urlclass.append("\'");
|
||||
|
||||
if(StringUtil.isEmpty(dataGridUrl.getUrlclass())){
|
||||
dataGridUrl.setUrlclass("btn btn-default ops-more");
|
||||
}
|
||||
urlclass.append(" class=\'"+dataGridUrl.getUrlclass()+"\'");
|
||||
|
||||
StringBuffer urlfont = new StringBuffer();
|
||||
if(!StringUtil.isEmpty(dataGridUrl.getUrlfont())){
|
||||
urlfont.append(" <i class=\' fa ");
|
||||
|
@ -2891,8 +2975,11 @@ public class DataGridTag extends TagSupport {
|
|||
if(column.getDictionary().contains(",")){
|
||||
|
||||
if(column.isPopup()){
|
||||
//TODO popup值转换处理,此处暂不处理
|
||||
}else{
|
||||
if(column.getIsAjaxDict()){
|
||||
//TODO ajax值转换处理,此处暂不处理
|
||||
|
||||
}else{
|
||||
String[] dic = column.getDictionary().split(",");
|
||||
String sql = "select " + dic[1] + " as field," + dic[2]+ " as text from " + dic[0];
|
||||
|
|
|
@ -24,6 +24,8 @@ public class DataGridToolBarTag extends TagSupport {
|
|||
|
||||
private String id;//控件ID
|
||||
|
||||
private boolean inGroup = false;//是否是 更多操作按钮组下面的
|
||||
|
||||
|
||||
public int doStartTag() throws JspTagException {
|
||||
return EVAL_PAGE;
|
||||
|
@ -33,7 +35,7 @@ public class DataGridToolBarTag extends TagSupport {
|
|||
|
||||
Tag t = findAncestorWithClass(this, DataGridTag.class);
|
||||
DataGridTag parent = (DataGridTag) t;
|
||||
parent.setToolbar(url, title, icon, exp,onclick, funname,operationCode,width,height,id);
|
||||
parent.setToolbar(url, title, icon, exp,onclick, funname,operationCode,width,height,id,inGroup);
|
||||
return EVAL_PAGE;
|
||||
}
|
||||
|
||||
|
@ -79,5 +81,10 @@ public class DataGridToolBarTag extends TagSupport {
|
|||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public boolean isInGroup() {
|
||||
return inGroup;
|
||||
}
|
||||
public void setInGroup(boolean inGroup) {
|
||||
this.inGroup = inGroup;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -204,6 +204,7 @@ public class DictSelectTag extends TagSupport {
|
|||
Gson gson = new Gson();
|
||||
Map<String, String> mp = gson.fromJson(extendJson, Map.class);
|
||||
StringBuffer sb=new StringBuffer();
|
||||
sb.append(" ");
|
||||
for(Map.Entry<String, String> entry: mp.entrySet()) {
|
||||
//判断select标签中是否含有style属性
|
||||
if(entry.getKey().equals("style")){
|
||||
|
|
|
@ -108,7 +108,9 @@ public class FormValidationTag extends TagSupport {
|
|||
if(cssTheme==null||"default".equals(cssTheme))cssTheme="";*/
|
||||
if ("div".equals(layout)) {
|
||||
sb.append("<div id=\"content\">");
|
||||
sb.append("<div id=\"wrapper\">");
|
||||
|
||||
sb.append("<div id=\"wrapper\" style=\"border-left:1px solid #ddd;\">");
|
||||
|
||||
sb.append("<div id=\"steps\">");
|
||||
}
|
||||
sb.append("<form id=\"" + formid + "\" " );
|
||||
|
@ -184,7 +186,12 @@ public class FormValidationTag extends TagSupport {
|
|||
sb.append(StringUtil.replace("<script type=\"text/javascript\" src=\"plug-in/Validform/js/Validform_v5.3.1_min_{0}.js\"></script>", "{0}", lang));
|
||||
sb.append(StringUtil.replace("<script type=\"text/javascript\" src=\"plug-in/Validform/js/Validform_Datatype_{0}.js\"></script>", "{0}", lang));
|
||||
sb.append(StringUtil.replace("<script type=\"text/javascript\" src=\"plug-in/Validform/js/datatype_{0}.js\"></script>", "{0}", lang));
|
||||
|
||||
|
||||
if("6".equals(tiptype)){
|
||||
sb.append("<link rel=\"stylesheet\" href=\"plug-in/Validform/css/tiptype.css\" type=\"text/css\"/>");
|
||||
sb.append("<script type=\"text/javascript\" src=\"plug-in/Validform/js/tiptype.js\"></script>");
|
||||
}
|
||||
|
||||
if (usePlugin != null) {
|
||||
if (usePlugin.indexOf("jqtransform") >= 0) {
|
||||
sb.append("<SCRIPT type=\"text/javascript\" src=\"plug-in/Validform/plugin/jqtransform/jquery.jqtransform.js\"></SCRIPT>");
|
||||
|
@ -219,6 +226,16 @@ public class FormValidationTag extends TagSupport {
|
|||
|
||||
sb.append("})");
|
||||
sb.append("}},");
|
||||
|
||||
}else if("6".equals(tiptype)){
|
||||
sb.append("tiptype:function(msg,o,cssctl){");
|
||||
sb.append("if(o.type==3){");
|
||||
sb.append(" ValidationMessage(o.obj,msg);");
|
||||
sb.append("}else{");
|
||||
sb.append("removeMessage(o.obj);");
|
||||
sb.append("}");
|
||||
sb.append("},");
|
||||
|
||||
}else{
|
||||
sb.append("tiptype:"+this.getTiptype()+",");
|
||||
}
|
||||
|
|
|
@ -228,7 +228,9 @@ public class TreeSelectTag extends TagSupport {
|
|||
resultSb.append("function " + field + "OnCheck(e, treeId, treeNode) {");
|
||||
resultSb.append(" var myTree = $.fn.zTree.getZTreeObj(\"show"+StringUtil.firstUpperCase(field)+"Tree\"); ");
|
||||
resultSb.append("var nodes = myTree.getCheckedNodes(true);var tempId='',tempText='';");
|
||||
resultSb.append("if(nodes && nodes.length>0){for(var a in nodes){tempId+=nodes[a].id+',';tempText+=nodes[a].text+',';}}");
|
||||
|
||||
resultSb.append("if(nodes && nodes.length>0){for(var i = 0;i<nodes.length;i++){tempId+=nodes[i].id+',';tempText+=nodes[i].text+',';}}");
|
||||
|
||||
resultSb.append("if(tempId ==''){");
|
||||
if(StringUtil.isEmpty(id)){
|
||||
resultSb.append("$('#"+field+"').val(''); }else{$('#"+field+"').val(tempId.substring(0,tempId.length - 1));}");
|
||||
|
|
|
@ -39,6 +39,7 @@ public class WebUploaderTag extends TagSupport {
|
|||
private String bizType;//业务类型,根据该类型确定上传路径
|
||||
private boolean displayTxt=true;//是否显示上传列表[默认显示]true显示false隐藏
|
||||
private boolean outJs = false;//是否在外部引入了js和css
|
||||
private boolean swfTransform = false;//是否转换成swf文件,文件预览使用
|
||||
//private static String imgexts="gif,jpg,jpeg,bmp,png";
|
||||
public int doStartTag() throws JspTagException {
|
||||
return EVAL_PAGE;
|
||||
|
@ -99,6 +100,14 @@ public class WebUploaderTag extends TagSupport {
|
|||
}else{
|
||||
sb.append("<div id='"+showthelist+"' class='uploader-list'></div>");
|
||||
}
|
||||
//进度条html添加
|
||||
sb.append("<div id='"+name+"_progress_bar' class='progress-bar-ty '");
|
||||
if("image".equals(type)){
|
||||
sb.append(" style='display:none'");
|
||||
}
|
||||
sb.append("><div class='progress-ty'>");
|
||||
sb.append("<span class='upload-label-ty' style='display:none;'>正在加载...<b class='value'>79%</b></span></div></div>");
|
||||
|
||||
sb.append("<div class='btns'><div id='"+name+"picker'>"+getButtonText()+"</div></div></div>");
|
||||
if("image".equals(type)&&oConvertUtils.isEmpty(showImgDiv)){
|
||||
showImgDiv="tempdiv_"+name;
|
||||
|
@ -120,9 +129,9 @@ public class WebUploaderTag extends TagSupport {
|
|||
sb.append(",accept:{extensions:'"+extensions+"'}");
|
||||
}
|
||||
if(oConvertUtils.isEmpty(extendParams)){
|
||||
sb.append(",formData:{isup:'1',bizType:'"+bizType+"'}});");
|
||||
sb.append(",formData:{isup:'1',swfTransform:'"+swfTransform+"',bizType:'"+bizType+"'}});");
|
||||
}else{
|
||||
sb.append(",formData:{isup:'1',bizType:'"+bizType+"',"+extendParams+"}});");
|
||||
sb.append(",formData:{isup:'1',swfTransform:'"+swfTransform+"',bizType:'"+bizType+"',"+extendParams+"}});");
|
||||
}
|
||||
if(!auto){
|
||||
sb.append("\r\nvar upbtnrdo4=\"<div id='"+name+"ctlBtn' class='upbtn btn-blue "+btnCss+"'>开始上传</div>\";$('#"+name+"picker').find('div:eq(0)').after(upbtnrdo4);upbtnrdo4='';\r\n");
|
||||
|
@ -139,6 +148,10 @@ public class WebUploaderTag extends TagSupport {
|
|||
//sb.append("$('#"+name+"picker').find('div:eq(0)').unbind(\"mouseenter\").unbind(\"mouseleave\");");
|
||||
sb.append("$('#"+showImgDiv+"').addClass('tempIMGdiv').append('<ul></ul>');\r\n");
|
||||
sb.append("$list.append('<table class=\"temptable\"></table>');\r\n");
|
||||
//增加进度条方法
|
||||
//进度条加载延迟duration设置太小则出现大文件,则会瞬间达到一个值,然后卡在那个点上,效果太假
|
||||
sb.append("var showUploadProgress = function(progress,mycallback,obj){if(!obj){obj = $('#"+name+"_progress_bar').find('.progress-ty');}if(!$('#"+name+"_progress_bar').hasClass('active')){$('#"+name+"_progress_bar').addClass('active');}obj.animate({width:progress+'%'},{duration:100,easing:'swing',complete:function(scope,i,elem){if(!!mycallback){mycallback();}}})};");
|
||||
|
||||
//判断是否支持base64
|
||||
sb.append(" var isSupportBase64 = function() {var data = new Image();var support = true;data.onload = data.onerror = function() {if( this.width != 1 || this.height != 1 ){support = false;}}//data['src'] = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';\r\nreturn support;};");
|
||||
//缩略图大小暂时写死,也可以修改css
|
||||
|
@ -162,7 +175,13 @@ public class WebUploaderTag extends TagSupport {
|
|||
if("true".equals(readOnly)||"readOnly".equals(readOnly)){
|
||||
sb.append("trhtml+=' style=\"display:none;\"';");
|
||||
}
|
||||
sb.append("trhtml+=' class=\"del icon-cha\" style=\"overflow:hidden;\">'+delflag+'</span></td><td></td></tr>';$list.children('table').append(trhtml);}");
|
||||
sb.append("trhtml+=' class=\"del icon-cha\" style=\"overflow:hidden;\">'+delflag+'</span></td>';");
|
||||
//如果是文件配置swf转换参数则支持文件预览
|
||||
if("file".equals(type) && swfTransform){
|
||||
sb.append("if(downsrc==0){trhtml+='<td class=\"viewtd\"><span class=\"view\" style=\"overflow:hidden;\"></span></td>';}");
|
||||
sb.append("else{ var aaaaa =\"systemController.do?openViewFile&path=\"+downsrc;var viewclick =\"openwindow(\'预览\',\'\"+aaaaa+\"\',\'tempty\',700,500)\";trhtml+='<td class=\\'icontd\\'><span class=\\'view icon-view\\' onclick=\"'+viewclick+'\"></span></td>';}\r\n");
|
||||
}
|
||||
sb.append("trhtml+='<td></td></tr>';$list.children('table').append(trhtml);}");
|
||||
//如果dataType有值
|
||||
if(oConvertUtils.isNotEmpty(datatype)){
|
||||
sb.append("\r\n$('#"+name+"uploader').find('div.btns').append('<input nullMsg=\""+getNullMsg()+"\" datatype=\"*\" type=\"hidden\" id= \""+name+"dataTypeInp\" />');");
|
||||
|
@ -178,7 +197,7 @@ public class WebUploaderTag extends TagSupport {
|
|||
}
|
||||
}
|
||||
//删除请求
|
||||
sb.append("\r\nvar imgDelReq=function(delpath,spanobj){$.post('"+url+"',{path:delpath,isdel:\"1\"},function(aj){var data=JSON.parse(aj);if(data.success){reset_"+name+"_dataTypeInpVal(0);exsitPathArr_"+name+".removeItem(delpath);$list.children('.fordel').children('input').val(exsitPathArr_"+name+".join(','));var myimgli=$(spanobj).closest('li');myimgli.off().find('.hidetitle').off().end().remove();}});}\r\n");
|
||||
sb.append("\r\nvar imgDelReq=function(delpath,spanobj){$.post('"+url+"',{path:delpath,swfTransform:'"+swfTransform+"',isdel:\"1\"},function(aj){var data=JSON.parse(aj);if(data.success){reset_"+name+"_dataTypeInpVal(0);exsitPathArr_"+name+".removeItem(delpath);$list.children('.fordel').children('input').val(exsitPathArr_"+name+".join(','));var myimgli=$(spanobj).closest('li');myimgli.off().find('.hidetitle').off().end().remove();}});}\r\n");
|
||||
sb.append("var "+name+"addFile=function(file,filepath){\r\nuploader.makeThumb(file, function(error,src) {\r\nif(error){return false;}\r\nif(isSupportBase64()){if(filepath==''){"+name+"addImgli(src,file.id,0,0);}\r\n}else if(filepath!=''){\r\nvar actSrc=\""+showAndDownUrl+"\"+filepath;\r\n"+name+"addImgli(actSrc,file.id,0,0);}}, thumbnailWidth, thumbnailHeight );}");
|
||||
sb.append("\r\nvar updatetdState=function(id,content){$list.children('table').find('#"+name+"'+id).find('.state').text('--'+content+'--');}\r\n");
|
||||
|
||||
|
@ -212,10 +231,16 @@ public class WebUploaderTag extends TagSupport {
|
|||
+"});");
|
||||
//上传过程中触发,携带上传进度。
|
||||
sb.append(" uploader.on( 'uploadProgress', function( file, percentage ) {var $li = $('#"+name+"'+file.id+' td:last'),$percent = $li.find('.progress .progress-bar');if ( !$percent.length ) {$percent = $('<div class=\"progress progress-striped active\"><div class=\"progress-bar\" role=\"progressbar\" style=\"width: 0%\"></div></div>').appendTo($li).find('.progress-bar');}updatetdState(file.id,'上传中');$percent.css( 'width', percentage * 100 + '%' );});");
|
||||
//上传开始事件 加载进度条
|
||||
sb.append("uploader.on('uploadStart',function(file){$('#"+name+"_progress_bar').find('.progress-ty').css('width','1%');var temprd=Math.floor(Math.random()*7+1);if(temprd<4){temprd=Number(temprd)+3}temprd=Number(temprd)*10;showUploadProgress(temprd,function(){showUploadProgress(Number(temprd)+15);})});");
|
||||
|
||||
//当文件上传成功时触发,会给表单增加一个input赋值 filePath
|
||||
sb.append("uploader.on( 'uploadSuccess', function(file,response) {if(response.success){updatetdState(file.id,'上传成功');reset_"+name+"_dataTypeInpVal(1);"
|
||||
sb.append("uploader.on( 'uploadSuccess', function(file,response) {showUploadProgress(100,function(){if(response.success){$('#"+name+"_progress_bar').removeClass('active');updatetdState(file.id,'上传成功');reset_"+name+"_dataTypeInpVal(1);"
|
||||
+"var filepath=response['"+name+"']||response.obj;$('#"+name+"'+file.id+' td:first').append('<input type=\"hidden\" name=\""+nameWithspchar+"\" value=\"'+filepath+'\" />');"+name+"addFile(file, filepath);");
|
||||
//如果是文件配置swf转换参数则支持文件预览
|
||||
if("file".equals(type) && swfTransform){
|
||||
sb.append("$('#"+name+"'+file.id+' td.viewtd').removeClass('viewtd').addClass('icontd').find('span').addClass('icon-view').attr('onclick',\"openwindow('预览','systemController.do?openViewFile&path=\"+filepath+\"','tempty',700,500)\");");
|
||||
}
|
||||
if(fileNumLimit==1){
|
||||
if(auto){
|
||||
//上传完成 限制放开
|
||||
|
@ -228,7 +253,8 @@ public class WebUploaderTag extends TagSupport {
|
|||
sb.append("$('#"+showthelist+">table').find('tr.wait-remove').find('.del').click()");
|
||||
}
|
||||
}
|
||||
sb.append("}else{updatetdState(file.id,'上传出错'+response.msg);}});\r\n");
|
||||
//TODO 上传出错颜色需改变。
|
||||
sb.append("}else{$('#"+name+"_progress_bar').removeClass('active');updatetdState(file.id,'上传出错'+response.msg);}});});\r\n");
|
||||
|
||||
|
||||
//上传失败
|
||||
|
@ -255,7 +281,7 @@ public class WebUploaderTag extends TagSupport {
|
|||
//删除
|
||||
sb.append("$list.on(\"click\", \".del\", function () {var delspantext=$(this).text();var itemObj=$(this).closest(\".item\");var id=itemObj.attr(\"id\").substring("+name.length()+");var delpath=itemObj.find(\"input[name='"+nameWithspchar+"']\").val();if(undefined==delpath||null==delpath){delpath=delspantext;if(delspantext==0){itemObj.remove();uploader.removeFile(id);var myimgli=$('#"+showImgDiv+"').find(\"img[name='\"+id+\"img']\").closest('li');myimgli.off().find('.hidetitle').off().end().remove();\r\nreturn false;}}");
|
||||
//sb.append("$list.on(\"click\", \".del\", function () {var delspantext=$(this).text();var itemObj=$(this).closest(\".item\");var id=itemObj.attr(\"id\").substring("+name.length()+");var delpath=itemObj.find(\"input[name='"+name+"']\").val();if((undefined==delpath||null==delpath) && delspantext==1){itemObj.remove();var fordelInput=$list.children('.fordel').children('input');if($(this).text()==0){uploader.removeFile(id);var myimgli=$('#"+showImgDiv+"').find(\"img[name='\"+id+\"img']\").closest('li');myimgli.off().find('.hidetitle').off().end().remove();}\r\nif(fordelInput.length>0){fordelInput.val(exsitPathArr_"+name+".join(','));}return false;}");
|
||||
sb.append("$.post('"+url+"',{path:delpath,isdel:\"1\"},function(aj){var data=JSON.parse(aj);if(data.success){reset_"+name+"_dataTypeInpVal(0);var fordelInput = $list.children('.fordel').children('input');itemObj.remove();if(delspantext==0){uploader.removeFile(id);var myimgli=$('#"+showImgDiv+"').find(\"img[name='\"+id+\"img']\").closest('li');\r\nmyimgli.off().find('.hidetitle').off().end().remove();}else if(fordelInput.length > 0) {exsitPathArr_"+name+".removeItem(delpath);fordelInput.val(exsitPathArr_"+name+".join(','));\r\n}\r\n}\r\n});\r\n});");
|
||||
sb.append("$.post('"+url+"',{path:delpath,swfTransform:'"+swfTransform+"',isdel:\"1\"},function(aj){var data=JSON.parse(aj);if(data.success){reset_"+name+"_dataTypeInpVal(0);var fordelInput = $list.children('.fordel').children('input');itemObj.remove();if(delspantext==0){uploader.removeFile(id);var myimgli=$('#"+showImgDiv+"').find(\"img[name='\"+id+\"img']\").closest('li');\r\nmyimgli.off().find('.hidetitle').off().end().remove();}else if(fordelInput.length > 0) {exsitPathArr_"+name+".removeItem(delpath);fordelInput.val(exsitPathArr_"+name+".join(','));\r\n}\r\n}\r\n});\r\n});");
|
||||
sb.append("if(location.href.indexOf('load=detail')!=-1){$('#"+name+"uploader').find('.btns').addClass('virtual-hidden').css('visibility','hidden');$list.find('span.del').css('display','none');");
|
||||
if("image".equals(type)){
|
||||
sb.append("$('#"+showImgDiv+"').find('.titledel').css('display','none');");
|
||||
|
@ -422,6 +448,12 @@ public class WebUploaderTag extends TagSupport {
|
|||
public void setOutJs(boolean outJs) {
|
||||
this.outJs = outJs;
|
||||
}
|
||||
public boolean isSwfTransform() {
|
||||
return swfTransform;
|
||||
}
|
||||
public void setSwfTransform(boolean swfTransform) {
|
||||
this.swfTransform = swfTransform;
|
||||
}
|
||||
//根据上传文件的后缀重置type
|
||||
/*private void typeResetByext(String ext){
|
||||
if(null!=ext&&!"".equals(ext)){
|
||||
|
|
|
@ -18,7 +18,10 @@
|
|||
<div class="col-xs-12 col-sm-6 col-md-4">
|
||||
<label for="${po.field}">${po.title}:</label>
|
||||
<div class="input-group" style="width:100%">
|
||||
<input type="text" class="form-control input-sm" id="${po.field}" name="${po.field}">
|
||||
<#-- update-begin-Author:LiShaoQing date:20180802 for:TASK #3017 【Tag-bootstrap】查询区域字段,popup未实现 -->
|
||||
<#assign columnArray = '${po.dictionary}'?split(",")>
|
||||
<input type="text" class="form-control input-sm" id="${po.field}" name="${po.field}" onclick="popupClick(this,'${columnArray[2]?replace('@',',')}','${columnArray[1]?replace('@',',')}','${columnArray[0]}')">
|
||||
<#-- update-end-Author:LiShaoQing date:20180802 for:TASK #3017 【Tag-bootstrap】查询区域字段,popup未实现 -->
|
||||
</div>
|
||||
</div>
|
||||
<#elseif po.dictionary?index_of(",")!=-1&&!po.popup>
|
||||
|
|
|
@ -207,7 +207,9 @@
|
|||
splitArr = dictionary.split(",");
|
||||
var spanVal = $(field).closest("#dsUL>li").find("span.conVal");
|
||||
//splitArr=dictionary 0为表编码,1为查询字段,2为返回字段
|
||||
spanVal.html("<input name=\"cons["+index+"].val\" type=\"text\" class=\"searchbox-inputtext\" onclick=\"popupClick(this,'"+splitArr[1]+"','val','"+splitArr[0]+"')\"/>");
|
||||
//update-begin-author:taoyan date:20180802 for:TASK #3044 【jeecg测试问题-周俊峰】测试问题
|
||||
spanVal.html("<input name=\"cons["+index+"].val\" type=\"text\" class=\"searchbox-inputtext\" onclick=\"popupClick(this,'"+splitArr[2]+"','val','"+splitArr[0]+"')\"/>");
|
||||
//update-end-author:taoyan date:20180802 for:TASK #3044 【jeecg测试问题-周俊峰】测试问题
|
||||
$("input[name='cons["+index+"].val']").css({"background":"url(\"plug-in/diy/icons/search.png\") no-repeat 105px","width":"130px"});
|
||||
}
|
||||
<#--update-end--Author:LiShaoQing Date:20180110 for:[#2452]【新功能】高级查询,支持popup功能 -->
|
||||
|
@ -523,7 +525,9 @@
|
|||
var splitArr = new Array();
|
||||
splitArr = dictionary.split(",");
|
||||
//splitArr=dictionary 0为表编码,1为查询字段,2为返回字段
|
||||
spanHtml+="<input name=\"cons["+i+"].val\" value='"+v+"' type=\"text\" class=\"searchbox-inputtext\" onclick=\"popupClick(this,'"+splitArr[1]+"','val','"+splitArr[0]+"')\"/>";
|
||||
//update-begin-author:taoyan date:20180802 for:TASK #3044 【jeecg测试问题-周俊峰】测试问题
|
||||
spanHtml+="<input name=\"cons["+i+"].val\" value='"+v+"' type=\"text\" class=\"searchbox-inputtext\" onclick=\"popupClick(this,'"+splitArr[2]+"','val','"+splitArr[0]+"')\"/>";
|
||||
//update-end-author:taoyan date:20180802 for:TASK #3044 【jeecg测试问题-周俊峰】测试问题
|
||||
spanVal.html(spanHtml);
|
||||
$("input[name='cons["+i+"].val']").css({"background":"url(\"plug-in/diy/icons/search.png\") no-repeat 105px","width":"130px"});
|
||||
} else {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package org.jeecgframework.web.cgform.common;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecgframework.core.util.StringUtil;
|
||||
import org.jeecgframework.core.util.oConvertUtils;
|
||||
|
||||
import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity;
|
||||
import org.jeecgframework.web.cgform.service.impl.config.util.ExtendJsonConvert;
|
||||
/**
|
||||
* @author 张代浩
|
||||
* @date 2013-08-11 09:47:30
|
||||
|
@ -57,23 +57,36 @@ public class FormHtmlUtil {
|
|||
private static String getTextAreaFormHtml(
|
||||
CgFormFieldEntity cgFormFieldEntity) {
|
||||
StringBuilder html = new StringBuilder("");
|
||||
|
||||
html.append("<textarea rows=\"6\" ");
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
html.append("datatype=\"*\" ");
|
||||
}
|
||||
html.append("\\>");
|
||||
html.append("\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}</textarea> ");
|
||||
return html.toString();
|
||||
// html.append("\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}</textarea> ");
|
||||
html.append("\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}</textarea> ");
|
||||
|
||||
return html.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -85,13 +98,26 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"text\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
|
@ -116,15 +142,26 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"text\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
html.append("validtype=\"").append(tableName).append(",").append(cgFormFieldEntity.getFieldName()).append(",id\" ");
|
||||
html.append("datatype=\"*\" ");
|
||||
html.append("\\/>");
|
||||
|
@ -140,13 +177,26 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"password\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
|
@ -174,7 +224,10 @@ public class FormHtmlUtil {
|
|||
html.append(" var=\"dictDataList\">");
|
||||
html.append("<#list dictDataList as dictdata>");
|
||||
html.append(" <input type=\"radio\" value=\"\\${dictdata.typecode?if_exists?html}\" name=\""+cgFormFieldEntity.getFieldName()+"\" ");
|
||||
html.append("<#if dictdata.typecode=='\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}'>");
|
||||
|
||||
// html.append("<#if dictdata.typecode=='\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}'>");
|
||||
html.append("<#if dictdata.typecode==\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\">");
|
||||
|
||||
html.append(" checked=\"true\" ");
|
||||
html.append("</#if> ");
|
||||
html.append(">");
|
||||
|
@ -197,7 +250,8 @@ public class FormHtmlUtil {
|
|||
|
||||
StringBuilder html = new StringBuilder("");
|
||||
|
||||
html.append("<#assign checkboxstr>\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}</#assign>");
|
||||
// html.append("<#assign checkboxstr>\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}</#assign>");
|
||||
html.append("<#assign checkboxstr>\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}</#assign>");
|
||||
|
||||
html.append("<#assign checkboxlist=checkboxstr?split(\",\")> ");
|
||||
html.append("<@DictData name=\""+cgFormFieldEntity.getDictField()+"\"");
|
||||
|
@ -241,8 +295,10 @@ public class FormHtmlUtil {
|
|||
html.append("<select name=\""+cgFormFieldEntity.getFieldName()+"\" id=\""+cgFormFieldEntity.getFieldName()+"\"> ");
|
||||
html.append("<#list dictDataList as dictdata>");
|
||||
html.append(" <option value=\"\\${dictdata.typecode?if_exists?html}\" ");
|
||||
html.append("<#if dictdata.typecode=='\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}'>");
|
||||
html.append(" selected=\"selected\" ");
|
||||
|
||||
// html.append("<#if dictdata.typecode=='\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}'>");
|
||||
html.append("<#if dictdata.typecode==\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\">");
|
||||
|
||||
html.append("</#if> ");
|
||||
html.append(">");
|
||||
html.append("\\${dictdata.typename?if_exists?html}");
|
||||
|
@ -264,15 +320,28 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"text\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
html.append("class=\"Wdate\" ");
|
||||
html.append("onClick=\"WdatePicker()\" ");
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
|
@ -291,15 +360,28 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"text\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
html.append("class=\"Wdate\" ");
|
||||
html.append("onClick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\" ");
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
|
@ -370,16 +452,29 @@ public class FormHtmlUtil {
|
|||
html.append("<input type=\"text\" readonly=\"readonly\" class=\"searchbox-inputtext\" ");
|
||||
html.append("id=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
html.append("name=\"").append(cgFormFieldEntity.getFieldName()).append("\" ");
|
||||
|
||||
if(StringUtils.isNotEmpty(cgFormFieldEntity.getExtendJson())){
|
||||
html.append(" "+ExtendJsonConvert.json2Html(cgFormFieldEntity.getExtendJson())+" ");;
|
||||
}
|
||||
if(cgFormFieldEntity.getFieldLength()!=null&&cgFormFieldEntity.getFieldLength()>0){
|
||||
html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" ");
|
||||
}
|
||||
html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
// html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" ");
|
||||
html.append("value=\"\\${data\\['"+cgFormFieldEntity.getTable().getTableName()+"'\\]\\['").append(cgFormFieldEntity.getFieldName()).append("'\\]?if_exists?html}\" ");
|
||||
|
||||
html.append("onclick=\"popupClick(this,'"+cgFormFieldEntity.getDictText()+"','"+cgFormFieldEntity.getDictField()+"','"+cgFormFieldEntity.getDictTable()+"');\" ");
|
||||
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}
|
||||
if("Y".equals(cgFormFieldEntity.getFieldMustInput())){
|
||||
//校验必填
|
||||
html.append("ignore=\"checked\" ");
|
||||
}else{
|
||||
if("Y".equals(cgFormFieldEntity.getIsNull())){
|
||||
html.append("ignore=\"ignore\" ");
|
||||
}else{
|
||||
html.append("ignore=\"checked\" ");
|
||||
}
|
||||
}
|
||||
|
||||
if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){
|
||||
html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" ");
|
||||
}else{
|
||||
|
|
|
@ -337,8 +337,7 @@ public class CgFormBuildController extends BaseController {
|
|||
pushImages(data, id);
|
||||
|
||||
//增加basePath
|
||||
//String basePath = request.getContextPath();
|
||||
String basePath = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
|
||||
String basePath = request.getScheme()+"://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
|
||||
data.put(CgAutoListConstant.BASEPATH, basePath);
|
||||
|
||||
data.put("brower_type", ContextHolderUtils.getSession().getAttribute("brower_type"));
|
||||
|
@ -433,8 +432,7 @@ public class CgFormBuildController extends BaseController {
|
|||
}
|
||||
StringBuilder sb= new StringBuilder("");
|
||||
SysThemesEnum sysThemesEnum = SysThemesUtil.getSysTheme(request);
|
||||
//String basePath = request.getContextPath();
|
||||
String basePath = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
|
||||
String basePath = request.getScheme()+"://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/jquery/jquery-1.8.3.js\"></script>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js\"></script>");
|
||||
sb.append("<script type=\"text/javascript\" src=\""+basePath+"/plug-in/tools/dataformat.js\"></script>");
|
||||
|
|
|
@ -254,7 +254,11 @@ public class CgformSqlController extends BaseController {
|
|||
for (PropertyDescriptor pd : pds) {
|
||||
if(null == reflectHelper.getMethodValue(pd.getName())){
|
||||
ignores.add(pd.getName());
|
||||
|
||||
}else if(reflectHelper.isIgore(pd.getName())){
|
||||
ignores.add(pd.getName());
|
||||
}
|
||||
|
||||
}
|
||||
if(t instanceof CgFormHeadPojo){
|
||||
reflectHelper.setMethodValue("isDbsynch", "N");
|
||||
|
|
|
@ -1161,8 +1161,16 @@ public class CgFormHeadController extends BaseController {
|
|||
public void configDatagrid(CgFormHeadEntity cgFormHead,String id,
|
||||
HttpServletRequest request, HttpServletResponse response,
|
||||
DataGrid dataGrid) {
|
||||
String hql = "from CgFormHeadEntity c where c.physiceId = ? order by c.tableVersion asc";
|
||||
List<CgFormHeadEntity> findHql = systemService.findHql(hql, id);
|
||||
|
||||
List<CgFormHeadEntity> findHql = null;
|
||||
if(oConvertUtils.isNotEmpty(cgFormHead.getTableName())) {
|
||||
String hql = "from CgFormHeadEntity c where c.physiceId = ? AND c.tableName = ? order by c.tableVersion asc";
|
||||
findHql = systemService.findHql(hql, id, cgFormHead.getTableName());
|
||||
} else {
|
||||
String hql = "from CgFormHeadEntity c where c.physiceId = ? order by c.tableVersion asc";
|
||||
findHql = systemService.findHql(hql, id);
|
||||
}
|
||||
|
||||
dataGrid.setResults(findHql);
|
||||
dataGrid.setTotal(findHql.size());
|
||||
TagUtil.datagrid(response, dataGrid);
|
||||
|
|
|
@ -251,7 +251,9 @@ public class ExcelTempletController extends BaseController {
|
|||
|
||||
}
|
||||
}
|
||||
resultMap.put(b.getFieldName(), sb.toString().substring(0, sb.toString().length() - 1));
|
||||
if(oConvertUtils.isNotEmpty(sb.toString())){
|
||||
resultMap.put(b.getFieldName(), sb.toString().substring(0, sb.toString().length() - 1));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -149,6 +149,9 @@ public class CgformTransController {
|
|||
logger.info(" columnt : "+ columnt.toString());
|
||||
String fieldName = columnt.getFieldDbName();
|
||||
CgFormFieldEntity cgFormField = new CgFormFieldEntity();
|
||||
|
||||
cgFormField.setOldFieldName(columnt.getFieldDbName().toLowerCase());
|
||||
|
||||
cgFormField.setFieldName(columnt.getFieldDbName()
|
||||
.toLowerCase());
|
||||
if (StringUtil.isNotEmpty(columnt.getFiledComment()))
|
||||
|
|
|
@ -237,7 +237,9 @@ public class CategoryController extends BaseController {
|
|||
ComboTree tree = new ComboTree();
|
||||
tree.setId(entity.getCode());
|
||||
tree.setText(entity.getName());
|
||||
tree.setIconCls(entity.getIcon().getIconClas());
|
||||
if(entity.getIcon()!=null){
|
||||
tree.setIconCls(entity.getIcon().getIconClas());
|
||||
}
|
||||
if (entity.getList() != null && entity.getList().size() > 0) {
|
||||
List<ComboTree> comboTrees = new ArrayList<ComboTree>();
|
||||
for (int i = 0; i < entity.getList().size(); i++) {
|
||||
|
|
|
@ -362,16 +362,20 @@ public class CommonController extends BaseController {
|
|||
public AjaxJson getDictInfo(String dictionary,String dictCondition,Boolean popup,String value, HttpServletRequest request) {
|
||||
String message = null;
|
||||
AjaxJson j = new AjaxJson();
|
||||
Object text = value;
|
||||
|
||||
Object text = "--";
|
||||
if(popup){
|
||||
//TODO popup处理 (暂不做处理)
|
||||
|
||||
text="-- popup暂不支持ajax --";
|
||||
}else{
|
||||
boolean flag = tSDictTableConfigService.checkDictAuth(dictionary, dictCondition);
|
||||
if(flag){
|
||||
text = tSDictTableConfigService.getDictText(dictionary, dictCondition, value);
|
||||
}else{
|
||||
text="-- 字典配置需要授权 --";
|
||||
}
|
||||
}
|
||||
|
||||
j.setObj(text);
|
||||
j.setMsg(message);
|
||||
return j;
|
||||
|
|
|
@ -288,7 +288,11 @@ public class InterroleController extends BaseController {
|
|||
if (roleInterfaceList.size() > 0) {
|
||||
for (InterroleInterfaceEntity roleInterface : roleInterfaceList) {
|
||||
TSInterfaceEntity inter = (TSInterfaceEntity) roleInterface.getInterfaceEntity();
|
||||
loginActionlist.add(inter);
|
||||
|
||||
if(inter!=null){
|
||||
loginActionlist.add(inter);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
roleInterfaceList.clear();
|
||||
|
@ -427,7 +431,11 @@ public class InterroleController extends BaseController {
|
|||
.findByProperty(InterroleInterfaceEntity.class, "interroleEntity.id", role.getId());
|
||||
Map<String, InterroleInterfaceEntity> map = new HashMap<String, InterroleInterfaceEntity>();
|
||||
for (InterroleInterfaceEntity interfaceOfRole : roleInterfaceList) {
|
||||
map.put(interfaceOfRole.getInterfaceEntity().getId(), interfaceOfRole);
|
||||
|
||||
if(interfaceOfRole.getInterfaceEntity()!=null){
|
||||
map.put(interfaceOfRole.getInterfaceEntity().getId(), interfaceOfRole);
|
||||
}
|
||||
|
||||
}
|
||||
Set<String> set = new HashSet<String>();
|
||||
if (StringUtil.isNotEmpty(roleinterface)) {
|
||||
|
|
|
@ -129,7 +129,9 @@ public class LoginController extends BaseController{
|
|||
TSUser u = userService.checkUserExits(user);
|
||||
if (u == null) {
|
||||
u = userService.findUniqueByProperty(TSUser.class, "email", user.getUserName());
|
||||
if(u == null || u.getPassword().equals(PasswordUtil.encrypt(u.getUserName(), u.getPassword(), PasswordUtil.getStaticSalt()))){
|
||||
|
||||
if(u == null || !u.getPassword().equals(PasswordUtil.encrypt(u.getUserName(),user.getPassword(), PasswordUtil.getStaticSalt()))){
|
||||
|
||||
j.setMsg(mutiLangService.getLang("common.username.or.password.error"));
|
||||
j.setSuccess(false);
|
||||
return j;
|
||||
|
|
|
@ -79,17 +79,17 @@ public class NoticeController extends BaseController{
|
|||
AjaxJson j = new AjaxJson();
|
||||
try {
|
||||
TSUser user = ResourceUtil.getSessionUser();
|
||||
|
||||
String sql = "SELECT notice.*,noticeRead.is_read as is_read FROM t_s_notice notice "
|
||||
+ "LEFT JOIN t_s_notice_read_user noticeRead ON notice.id = noticeRead.notice_id "
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = '"+user.getId()+"' ";
|
||||
if(isRead != null && (isRead == 1 || isRead == 0 )){
|
||||
sql += " and noticeRead.is_read = " + isRead.intValue();
|
||||
}else{
|
||||
sql += " and noticeRead.is_read = 0 ";
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = ? ";
|
||||
sql += " and noticeRead.is_read = ? ";
|
||||
sql += " ORDER BY noticeRead.create_time DESC ";
|
||||
if(isRead==null || !(isRead==1 || isRead ==0)){
|
||||
isRead = 0;
|
||||
}
|
||||
sql += " ORDER BY noticeRead.create_time DESC ";
|
||||
List<Map<String, Object>> noticeList = systemService.findForJdbc(sql,1,10);
|
||||
|
||||
List<Map<String, Object>> noticeList = systemService.findForJdbcParam(sql,1,10,user.getId(),isRead.intValue());
|
||||
|
||||
//将List转换成JSON存储
|
||||
JSONArray result = new JSONArray();
|
||||
if(noticeList!=null && noticeList.size()>0){
|
||||
|
@ -109,13 +109,14 @@ public class NoticeController extends BaseController{
|
|||
String seeAll = MutiLangUtil.getLang("notice.seeAll");
|
||||
attrs.put("seeAll", seeAll);
|
||||
j.setAttributes(attrs);
|
||||
|
||||
|
||||
//获取通知公告总数
|
||||
String sql2 ="SELECT count(notice.id) FROM t_s_notice notice "
|
||||
+ "LEFT JOIN t_s_notice_read_user noticeRead ON notice.id = noticeRead.notice_id "
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = '"+user.getId()+"' "
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = ? "
|
||||
+ "and noticeRead.is_read = 0";
|
||||
List<Map<String, Object>> resultList2 = systemService.findForJdbc(sql2);
|
||||
List<Map<String, Object>> resultList2 = systemService.findForJdbc(sql2,user.getId());
|
||||
|
||||
Object count = resultList2.get(0).get("count");
|
||||
j.setObj(count);
|
||||
} catch (Exception e) {
|
||||
|
@ -173,14 +174,15 @@ public class NoticeController extends BaseController{
|
|||
// //查询条件组装器
|
||||
// org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, notice, request.getParameterMap());
|
||||
// this.noticeService.getDataGridReturn(cq, true);
|
||||
|
||||
|
||||
TSUser user = ResourceUtil.getSessionUser();
|
||||
String sql = "SELECT notice.*,noticeRead.is_read as is_read FROM t_s_notice notice "
|
||||
+ " LEFT JOIN t_s_notice_read_user noticeRead ON notice.id = noticeRead.notice_id "
|
||||
+ " WHERE noticeRead.del_flag = 0 and noticeRead.user_id = '"+user.getId()+"' "
|
||||
+ " WHERE noticeRead.del_flag = 0 and noticeRead.user_id = ? "
|
||||
+ " ORDER BY noticeRead.is_read asc,noticeRead.create_time DESC ";
|
||||
|
||||
List<Map<String, Object>> resultList = systemService.findForJdbc(sql,dataGrid.getPage(),dataGrid.getRows());
|
||||
List<Map<String, Object>> resultList = systemService.findForJdbcParam(sql,dataGrid.getPage(),dataGrid.getRows(),user.getId());
|
||||
|
||||
//将List转换成JSON存储
|
||||
List<Map<String, Object>> noticeList = new ArrayList<Map<String, Object>>();
|
||||
if(resultList!=null && resultList.size()>0){
|
||||
|
@ -197,9 +199,11 @@ public class NoticeController extends BaseController{
|
|||
}
|
||||
|
||||
dataGrid.setResults(noticeList);
|
||||
|
||||
String getCountSql ="SELECT count(notice.id) as count FROM t_s_notice notice LEFT JOIN t_s_notice_read_user noticeRead ON notice.id = noticeRead.notice_id "
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = '"+user.getId()+"' and noticeRead.is_read = 0";
|
||||
List<Map<String, Object>> resultList2 = systemService.findForJdbc(getCountSql);
|
||||
+ "WHERE noticeRead.del_flag = 0 and noticeRead.user_id = ? and noticeRead.is_read = 0";
|
||||
List<Map<String, Object>> resultList2 = systemService.findForJdbc(getCountSql, user.getId());
|
||||
|
||||
Object count = resultList2.get(0).get("count");
|
||||
dataGrid.setTotal(Integer.valueOf(count.toString()));
|
||||
TagUtil.datagrid(response, dataGrid);
|
||||
|
|
|
@ -960,8 +960,11 @@ public class RoleController extends BaseController {
|
|||
subCq.eq("TSRole.id", roleId);
|
||||
subCq.add();
|
||||
|
||||
|
||||
cq.add(Property.forName("id").notIn(subCq.getDetachedCriteria()));
|
||||
|
||||
cq.eq("deleteFlag", new Short("0"));//删除状态,不删除
|
||||
cq.eq("userType","1");//系统用户
|
||||
|
||||
cq.add();
|
||||
|
||||
this.systemService.getDataGridReturn(cq, true);
|
||||
|
|
|
@ -41,6 +41,8 @@ import org.jeecgframework.core.enums.StoreUploadFilePathEnum;
|
|||
import org.jeecgframework.core.extend.hqlsearch.parse.ObjectParseUtil;
|
||||
import org.jeecgframework.core.extend.hqlsearch.parse.PageValueConvertRuleEnum;
|
||||
import org.jeecgframework.core.extend.hqlsearch.parse.vo.HqlRuleEnum;
|
||||
import org.jeecgframework.core.extend.swftools.SwfToolsUtil;
|
||||
import org.jeecgframework.core.util.FileUtils;
|
||||
import org.jeecgframework.core.util.JSONHelper;
|
||||
import org.jeecgframework.core.util.ListUtils;
|
||||
import org.jeecgframework.core.util.MutiLangSqlCriteriaUtil;
|
||||
|
@ -60,6 +62,7 @@ import org.jeecgframework.web.system.manager.ClientManager;
|
|||
import org.jeecgframework.web.system.manager.ClientSort;
|
||||
import org.jeecgframework.web.system.pojo.base.Client;
|
||||
import org.jeecgframework.web.system.pojo.base.DataLogDiff;
|
||||
import org.jeecgframework.web.system.pojo.base.DictEntity;
|
||||
import org.jeecgframework.web.system.pojo.base.TSDatalogEntity;
|
||||
import org.jeecgframework.web.system.pojo.base.TSDepart;
|
||||
import org.jeecgframework.web.system.pojo.base.TSFunction;
|
||||
|
@ -127,27 +130,45 @@ public class SystemController extends BaseController {
|
|||
|
||||
@RequestMapping(params = "typeListJson")
|
||||
@ResponseBody
|
||||
public AjaxJson typeListJson(@RequestParam(required=true)String typeGroupName) {
|
||||
public AjaxJson typeListJson(@RequestParam(required=true)String typeGroupName,HttpServletRequest request) {
|
||||
AjaxJson ajaxJson = new AjaxJson();
|
||||
JSONArray typeArray = new JSONArray();
|
||||
try {
|
||||
List<TSType> typeList = ResourceUtil.getCacheTypes(typeGroupName.toLowerCase());
|
||||
JSONArray typeArray = new JSONArray();
|
||||
JSONObject headJson = new JSONObject();
|
||||
headJson.put("typecode", "");
|
||||
headJson.put("typename", "");
|
||||
typeArray.add(headJson);
|
||||
if(typeList != null && !typeList.isEmpty()){
|
||||
for (TSType type : typeList) {
|
||||
JSONObject typeJson = new JSONObject();
|
||||
typeJson.put("typecode", type.getTypecode());
|
||||
String dicTable = request.getParameter("dicTable");
|
||||
if(oConvertUtils.isEmpty(dicTable)){
|
||||
List<TSType> typeList = ResourceUtil.getCacheTypes(typeGroupName.toLowerCase());
|
||||
JSONObject headJson = new JSONObject();
|
||||
headJson.put("typecode", "");
|
||||
headJson.put("typename", "");
|
||||
typeArray.add(headJson);
|
||||
if(typeList != null && !typeList.isEmpty()){
|
||||
for (TSType type : typeList) {
|
||||
JSONObject typeJson = new JSONObject();
|
||||
typeJson.put("typecode", type.getTypecode());
|
||||
|
||||
String typename = type.getTypename();
|
||||
if(MutiLangUtil.existLangKey(typename)){
|
||||
typename = MutiLangUtil.doMutiLang(typename,"");
|
||||
String typename = type.getTypename();
|
||||
if(MutiLangUtil.existLangKey(typename)){
|
||||
typename = MutiLangUtil.doMutiLang(typename,"");
|
||||
}
|
||||
typeJson.put("typename",typename );
|
||||
|
||||
typeArray.add(typeJson);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
String dicText = request.getParameter("dicText");
|
||||
List<DictEntity> list = systemService.queryDict(dicTable, typeGroupName, dicText);
|
||||
if(list!=null && list.size()>0){
|
||||
for (DictEntity type : list) {
|
||||
JSONObject typeJson = new JSONObject();
|
||||
typeJson.put("typecode", type.getTypecode());
|
||||
String typename = type.getTypename();
|
||||
if(MutiLangUtil.existLangKey(typename)){
|
||||
typename = MutiLangUtil.doMutiLang(typename,"");
|
||||
}
|
||||
typeJson.put("typename",typename );
|
||||
typeArray.add(typeJson);
|
||||
}
|
||||
typeJson.put("typename",typename );
|
||||
|
||||
typeArray.add(typeJson);
|
||||
}
|
||||
}
|
||||
ajaxJson.setObj(typeArray);
|
||||
|
@ -1531,7 +1552,6 @@ public class SystemController extends BaseController {
|
|||
return success;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* WebUploader
|
||||
* 文件上传处理/删除处理
|
||||
|
@ -1543,8 +1563,14 @@ public class SystemController extends BaseController {
|
|||
String msg="啥都没干-没传参数吧!";
|
||||
String upFlag=request.getParameter("isup");
|
||||
String delFlag=request.getParameter("isdel");
|
||||
String swfTransform=request.getParameter("swfTransform");//是否将文件转换成swf
|
||||
//String ctxPath = request.getSession().getServletContext().getRealPath("");
|
||||
String ctxPath=ResourceUtil.getConfigByName("webUploadpath");//demo中设置为D://upFiles,实际项目应因事制宜
|
||||
|
||||
//默认上传文件是否转换为swf,实现在线预览功能开关
|
||||
String globalSwfTransformFlag = ResourceUtil.getConfigByName("swf.transform.flag");
|
||||
|
||||
|
||||
logger.debug("----ctxPath-----"+ctxPath);
|
||||
try {
|
||||
//如果是上传操作
|
||||
|
@ -1566,16 +1592,28 @@ public class SystemController extends BaseController {
|
|||
fileName = orgName.substring(0,orgName.lastIndexOf("."))+"_"+System.currentTimeMillis()+orgName.substring(orgName.indexOf("."));
|
||||
|
||||
String savePath = file.getPath() + File.separator + fileName;
|
||||
File savefile = new File(savePath);
|
||||
FileCopyUtils.copy(mf.getBytes(), savefile);
|
||||
String fileExt = FileUtils.getExtend(fileName);
|
||||
if("txt".equals(fileExt)){
|
||||
FileUtils.uploadTxtFile(mf, savePath);
|
||||
}else{
|
||||
File savefile = new File(savePath);
|
||||
FileCopyUtils.copy(mf.getBytes(), savefile);
|
||||
}
|
||||
msg="上传成功";
|
||||
j.setMsg(msg);
|
||||
String dbpath=bizPath+File.separator+nowday+File.separator+fileName;
|
||||
logger.debug("---dbpath----"+dbpath);
|
||||
if(dbpath.contains("\\")){
|
||||
dbpath = dbpath.replace("\\","/");
|
||||
}
|
||||
j.setObj(dbpath);
|
||||
//1、将文件路径赋值给obj,前台可获取之,随表单提交,然后数据库中存储该路径
|
||||
//2、demo这里用的是AjaxJson对象,开发者可自定义返回对象,但是用t标签的时候路径属性名需为 obj或 filePath 或自己在标签内指定若在标签内指定则action返回路径的名称应保持一致
|
||||
//如果是删除操作
|
||||
if("true".equals(globalSwfTransformFlag) && "true".equals(swfTransform)){
|
||||
//转换swf
|
||||
SwfToolsUtil.convert2SWF(savePath);
|
||||
}
|
||||
//如果是删除操作
|
||||
}else if("1".equals(delFlag)){
|
||||
String path=request.getParameter("path");
|
||||
String delpath=ctxPath+File.separator+path;
|
||||
|
@ -1588,6 +1626,21 @@ public class SystemController extends BaseController {
|
|||
if(fileDelete.delete()){
|
||||
msg="--------成功删除文件---------"+delpath;
|
||||
logger.info(msg);
|
||||
//删除swf/pdf文件
|
||||
if("true".equals(globalSwfTransformFlag) && "true".equals(swfTransform)){
|
||||
try {
|
||||
String swfPath = FileUtils.getSwfPath(delpath);
|
||||
new File(swfPath).delete();
|
||||
logger.info("--------成功删除swf文件---------"+swfPath);
|
||||
if(!delpath.endsWith("pdf")){
|
||||
String pdfPath = delpath.substring(0, delpath.lastIndexOf(".")+1)+"pdf";
|
||||
new File(pdfPath).delete();
|
||||
logger.info("--------成功删除pdf文件---------"+pdfPath);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.info("swf文件ORpdf文件未删除成功");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
j.setSuccess(false);
|
||||
msg="没删除成功--jdk的问题还是你文件的问题请重新试试";
|
||||
|
@ -1608,6 +1661,25 @@ public class SystemController extends BaseController {
|
|||
j.setMsg(msg);
|
||||
return j;
|
||||
}
|
||||
|
||||
/**
|
||||
* 预览图片/word/excel/PDF文件
|
||||
* @author taoYan
|
||||
* @since 2018年7月26日
|
||||
*/
|
||||
@RequestMapping(params = "openViewFile")
|
||||
public ModelAndView openViewFile(HttpServletRequest request) {
|
||||
String inputFile = request.getParameter("path");
|
||||
String extend=FileUtils.getExtend(inputFile);
|
||||
if (FileUtils.isPicture(extend)) {
|
||||
request.setAttribute("realpath", "img/server/"+inputFile);
|
||||
return new ModelAndView("common/upload/imageView");
|
||||
}else{
|
||||
String swfPath = FileUtils.getSwfPath(inputFile);
|
||||
request.setAttribute("swfpath", "img/server/"+swfPath+"?down=true");
|
||||
return new ModelAndView("common/upload/swfView");
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 获取图片流/获取文件用于下载
|
||||
|
|
|
@ -10,6 +10,8 @@ import javax.persistence.ManyToOne;
|
|||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
import org.hibernate.annotations.NotFound;
|
||||
import org.hibernate.annotations.NotFoundAction;
|
||||
|
||||
/**
|
||||
* @Title: Entity
|
||||
|
@ -58,6 +60,9 @@ public class InterroleInterfaceEntity implements java.io.Serializable {
|
|||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "interface_id")
|
||||
|
||||
@NotFound(action=NotFoundAction.IGNORE)
|
||||
|
||||
public TSInterfaceEntity getInterfaceEntity() {
|
||||
return this.interfaceEntity;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ import javax.persistence.ManyToOne;
|
|||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
import org.hibernate.annotations.NotFound;
|
||||
import org.hibernate.annotations.NotFoundAction;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
|
@ -108,6 +110,9 @@ public class TSDepartAuthgFunctionRelEntity implements java.io.Serializable {
|
|||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "auth_id")
|
||||
|
||||
@NotFound(action=NotFoundAction.IGNORE)
|
||||
|
||||
public TSFunction getTsFunction() {
|
||||
return tsFunction;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,9 @@ public class TSDictTableConfigServiceImpl extends CommonServiceImpl implements T
|
|||
|
||||
@Override
|
||||
public Object getDictText(String dictionary, String dictCondition,String value) {
|
||||
Object text = value;
|
||||
|
||||
Object text = "--";
|
||||
|
||||
try {
|
||||
//自定义字典处理
|
||||
String[] dic = dictionary.split(",");
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -251,8 +254,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -286,6 +289,10 @@ function resetTrNum(tableId) {
|
|||
if (onclick_str.indexOf("#index#") >= 0){
|
||||
$this.attr("onclick",onclick_str.replace(/#index#/g,i));
|
||||
}else{
|
||||
var s = onclick_str.indexOf("[");
|
||||
var e = onclick_str.indexOf("]");
|
||||
var new_onclick_str = onclick_str.substring(s+1,e);
|
||||
$this.attr("onclick",onclick_str.replace(new_onclick_str,i));
|
||||
}
|
||||
}
|
||||
if(validtype_str!=null){
|
||||
|
@ -315,6 +322,31 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
<#-- update--begin--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -284,8 +287,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -319,6 +322,10 @@ function resetTrNum(tableId) {
|
|||
if (onclick_str.indexOf("#index#") >= 0){
|
||||
$this.attr("onclick",onclick_str.replace(/#index#/g,i));
|
||||
}else{
|
||||
var s = onclick_str.indexOf("[");
|
||||
var e = onclick_str.indexOf("]");
|
||||
var new_onclick_str = onclick_str.substring(s+1,e);
|
||||
$this.attr("onclick",onclick_str.replace(new_onclick_str,i));
|
||||
}
|
||||
}
|
||||
if(validtype_str!=null){
|
||||
|
@ -348,6 +355,29 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -194,8 +194,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType=='text'>
|
||||
<input name="${po.fieldName}" type="text" class="form-control" maxlength="${po.length?c}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" tableName="${po.table.tableName}" fieldName="${po.oldFieldName}"/> />
|
||||
<#elseif po.showType=='password'>
|
||||
|
@ -82,7 +82,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -91,7 +91,7 @@
|
|||
<script type="text/javascript" charset="utf-8" src="plug-in/ueditor/ueditor.all.min.js"></script>
|
||||
</#if>
|
||||
<#-- update--end--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<textarea name="${po.fieldName}" id="${po.fieldName}" style="width: 650px;height:300px">${'$'}{${entityName?uncap_first}.${po.fieldName} }</textarea>
|
||||
<textarea name="${po.fieldName}" id="${po.fieldName}" style="width: 650px;height:300px">${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<script type="text/javascript">
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:editor编辑器变量唯一 -->
|
||||
var ${po.fieldName}_editor = UE.getEditor('${po.fieldName}');
|
||||
|
@ -143,7 +143,7 @@
|
|||
<div class="col-sm-7">
|
||||
<div class="input-group" style="width:100%">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -201,8 +201,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -251,8 +254,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -286,6 +289,10 @@ function resetTrNum(tableId) {
|
|||
if (onclick_str.indexOf("#index#") >= 0){
|
||||
$this.attr("onclick",onclick_str.replace(/#index#/g,i));
|
||||
}else{
|
||||
var s = onclick_str.indexOf("[");
|
||||
var e = onclick_str.indexOf("]");
|
||||
var new_onclick_str = onclick_str.substring(s+1,e);
|
||||
$this.attr("onclick",onclick_str.replace(new_onclick_str,i));
|
||||
}
|
||||
}
|
||||
if(validtype_str!=null){
|
||||
|
@ -315,6 +322,31 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造) -->
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -284,8 +287,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -319,6 +322,10 @@ function resetTrNum(tableId) {
|
|||
if (onclick_str.indexOf("#index#") >= 0){
|
||||
$this.attr("onclick",onclick_str.replace(/#index#/g,i));
|
||||
}else{
|
||||
var s = onclick_str.indexOf("[");
|
||||
var e = onclick_str.indexOf("]");
|
||||
var new_onclick_str = onclick_str.substring(s+1,e);
|
||||
$this.attr("onclick",onclick_str.replace(new_onclick_str,i));
|
||||
}
|
||||
}
|
||||
if(validtype_str!=null){
|
||||
|
@ -348,6 +355,31 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
<#-- update--begin--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -141,10 +141,10 @@
|
|||
<div class="panel-body" style="padding-top: 0px; padding-bottom: 0px;">
|
||||
<!-- toolbar -->
|
||||
<div id="toolbar">
|
||||
<button onclick="add('录入','${entityName?uncap_first}Controller.do?goAdd','${entityName?uncap_first}List',600,400)" id="btn_add" class="btn btn-primary btn-sm">
|
||||
<button onclick="add('录入','${entityName?uncap_first}Controller.do?goAdd','${entityName?uncap_first}List',1000,600)" id="btn_add" class="btn btn-primary btn-sm">
|
||||
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> 录入
|
||||
</button>
|
||||
<button onclick="update('编辑','${entityName?uncap_first}Controller.do?goUpdate','${entityName?uncap_first}List',600,400)" id="btn_edit" class="btn btn-success btn-sm">
|
||||
<button onclick="update('编辑','${entityName?uncap_first}Controller.do?goUpdate','${entityName?uncap_first}List',1000,600)" id="btn_edit" class="btn btn-success btn-sm">
|
||||
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> 编辑
|
||||
</button>
|
||||
<button onclick="deleteALLSelect('批量删除','${entityName?uncap_first}Controller.do?doBatchDel','${entityName?uncap_first}List',600,400)" id="btn_delete" class="btn btn-danger btn-sm">
|
||||
|
|
|
@ -192,8 +192,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType=='text'>
|
||||
<input name="${po.fieldName}" type="text" class="form-control" maxlength="${po.length?c}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" tableName="${po.table.tableName}" fieldName="${po.oldFieldName}"/> />
|
||||
<#elseif po.showType=='password'>
|
||||
|
@ -82,7 +82,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -143,7 +143,7 @@
|
|||
<div class="col-sm-7">
|
||||
<div class="input-group" style="width:100%">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -201,8 +201,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -251,8 +254,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -286,6 +289,10 @@ function resetTrNum(tableId) {
|
|||
if (onclick_str.indexOf("#index#") >= 0){
|
||||
$this.attr("onclick",onclick_str.replace(/#index#/g,i));
|
||||
}else{
|
||||
var s = onclick_str.indexOf("[");
|
||||
var e = onclick_str.indexOf("]");
|
||||
var new_onclick_str = onclick_str.substring(s+1,e);
|
||||
$this.attr("onclick",onclick_str.replace(new_onclick_str,i));
|
||||
}
|
||||
}
|
||||
if(validtype_str!=null){
|
||||
|
@ -315,6 +322,31 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
<#-- update--begin--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
</#if>
|
||||
</#list>
|
||||
<t:base type="bootstrap,layer,validform,<#if uploadFlag==1>webuploader,</#if>bootstrap-form"></t:base>
|
||||
<script src="${'$'}{webRoot}/plug-in/lhgDialog/lhgdialog.min.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/jquery-plugs/i18n/jquery.i18n.properties.js"></script>
|
||||
<script src="${'$'}{webRoot}/plug-in/tools/curdtools.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" style="width:100%;overflow-x:hidden">
|
||||
|
@ -284,8 +287,8 @@ function formControlInit(){
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
}
|
||||
|
@ -348,6 +351,31 @@ function deleteSelectRows(tableId){
|
|||
<#-- update--end--author:jiaqiankun date:20180710 for:TASK #2933 【严重bug 代码生成器】一对多table风格,默认编辑数据,点击任意一条明细数据,删除,会把所有的明细删掉 -->
|
||||
resetTrNum(tableId);
|
||||
}
|
||||
<#-- update--begin--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
//通用弹出式文件上传
|
||||
function onetomanyUpload(inputName){
|
||||
$.dialog({
|
||||
content: "url:${'$'}{webRoot}/systemController.do?commonWebUpload",
|
||||
lock : true,
|
||||
title:"文件上传",
|
||||
zIndex:getzIndex(),
|
||||
width:700,
|
||||
height: 200,
|
||||
parent:windowapi,
|
||||
cache:false,
|
||||
ok: function(){
|
||||
var iframe = this.iframe.contentWindow;
|
||||
var url = iframe.uploadCallback();
|
||||
$("input[name='"+inputName+"']").val(url);
|
||||
$("input[name='"+inputName+"']").next("a").attr("href","img/server/"+url+"?down=true").html("下载");
|
||||
return true;
|
||||
},
|
||||
cancelVal: '关闭',
|
||||
cancel: function(){
|
||||
}
|
||||
});
|
||||
}
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造)-->
|
||||
</script>
|
||||
<#if (cgformConfig.formJs.cgJsStr)?? && cgformConfig.formJs.cgJsStr!="">
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -192,8 +192,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType=='text'>
|
||||
<input name="${po.fieldName}" type="text" class="form-control" maxlength="${po.length?c}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" tableName="${po.table.tableName}" fieldName="${po.oldFieldName}"/> />
|
||||
<#elseif po.showType=='password'>
|
||||
|
@ -82,7 +82,7 @@
|
|||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-9 bt-content">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -143,7 +143,7 @@
|
|||
<div class="col-sm-7">
|
||||
<div class="input-group" style="width:100%">
|
||||
<#if po.showType=='textarea'>
|
||||
<textarea name="${po.fieldName}" value = "${'$'}{${entityName?uncap_first}.${po.fieldName}}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>></textarea>
|
||||
<textarea name="${po.fieldName}" class="form-control input-sm" rows="6" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}"/>>${'$'}{${entityName?uncap_first}.${po.fieldName}}</textarea>
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
<#assign ue_widget_count = ue_widget_count + 1>
|
||||
|
@ -201,8 +201,8 @@ $(document).ready(function() {
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
<form class = "page-query">
|
||||
<#list columns as po1>
|
||||
<#if po1.isQuery =='Y'>
|
||||
<#-- update--begin--author:liushaoqian date:20180713 for:TASK #2965 【代码生成器--刘少谦】一对多代码生成器模板测试 -->
|
||||
<#if po1.showType?index_of("datetime")!=-1>
|
||||
<#-- update--begin--author:liushaoqian date:20180720 for:TASK #2965 【代码生成器--刘少谦】一对多代码生成器模板测试 -->
|
||||
<#if po1.showType?index_of("datetime")!=-1 || po1.showType?index_of("date")!=-1 || po1.showType?index_of("timestamp")!=-1>
|
||||
<#if po1.queryMode =='group'>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">
|
||||
|
@ -61,32 +61,59 @@
|
|||
${po1.content}:
|
||||
</span>
|
||||
<input type="text" class="form-control input-sm Wdate" onclick="WdatePicker()" id="${tableName}.${fieldMeta[po1.fieldName]}" name="${tableName}.${fieldMeta[po1.fieldName]}"/>
|
||||
</#if>
|
||||
<#else>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
</span>
|
||||
</span>
|
||||
</#if>
|
||||
<#else>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">
|
||||
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" >
|
||||
${po1.content}:
|
||||
</span>
|
||||
<input type="text" name="${tableName}.${fieldMeta[po1.fieldName]}" style="width: 120px" class="inuptxt">
|
||||
<input type="text" name="${tableName}.${fieldMeta[po1.fieldName]}" style="width: 120px" class="inuptxt"/>
|
||||
</span>
|
||||
</span>
|
||||
</#if>
|
||||
<#-- update--end--author:liushaoqian date:20180713 for:TASK #2965 【代码生成器--刘少谦】一对多代码生成器模板测试 -->
|
||||
<#-- update--end--author:liushaoqian date:20180720 for:TASK #2965 【代码生成器--刘少谦】一对多代码生成器模板测试 -->
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
<#list subtables as tb>
|
||||
<#list subColumnsMap['${tb}'] as po2>
|
||||
<#if po2.isQuery =='Y'>
|
||||
<#-- update--begin--author:liushaoqian date:20180713 for:TASK #2965 【代码生成器--刘少谦】一对多代码生成器模板测试 -->
|
||||
<#if po2.showType?index_of("datetime")!=-1 || po2.showType?index_of("date")!=-1||po2.showType?index_of("timestamp")!=-1>
|
||||
<#if po2.queryMode =='group'>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">
|
||||
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" >
|
||||
${po2.content}:
|
||||
</span>
|
||||
<input type="text" name="${tb}.${subFieldMeta[po2.fieldName]}" style="width: 120px" class="inuptxt">
|
||||
<input type="text" class="form-control input-sm Wdate" onclick="WdatePicker()" id="${tb}.${subFieldMeta[po2.fieldName]}_begin" name="${tb}.${subFieldMeta[po2.fieldName]}_begin"/>
|
||||
<span class="input-group-addon input-sm">~</span>
|
||||
<input type="text" class="form-control input-sm Wdate" onclick="WdatePicker()" id="${tb}.${subFieldMeta[po2.fieldName]}_end" name="${tb}.${subFieldMeta[po2.fieldName]}_end"/>
|
||||
</span>
|
||||
</span>
|
||||
<#else>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">
|
||||
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" >
|
||||
${po2.content}:
|
||||
</span>
|
||||
<input type="text" class="form-control input-sm Wdate" onclick="WdatePicker()" id="${tb}.${subFieldMeta[po2.fieldName]}" name="${tb}.${subFieldMeta[po2.fieldName]}"/>
|
||||
</span>
|
||||
</span>
|
||||
</#if>
|
||||
<#else>
|
||||
<span class="query-item" style="max-width: 83%;display: inline-block;display:-moz-inline-box;">
|
||||
<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">
|
||||
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" >
|
||||
${po2.content}:
|
||||
</span>
|
||||
<input type="text" name="${tb}.${subFieldMeta[po2.fieldName]}" style="width: 120px" class="inuptxt"/>
|
||||
</span>
|
||||
</span>
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
</#list>
|
||||
|
@ -180,7 +207,14 @@ $(function(){
|
|||
}
|
||||
});
|
||||
|
||||
var lenOffset = getQueryareaRow();
|
||||
var menu_top1 = (78+lenOffset*30)+"px",menu_top2 = '30px';
|
||||
$('#accDiv').accordion({
|
||||
firstbuybuy:true,
|
||||
secondbuybuy:function(go){
|
||||
var state = go=="collapse"?true:false;
|
||||
toggleMainMenusTop(menu_top1,menu_top2,state);
|
||||
},
|
||||
onSelect:function(title,index){
|
||||
$('#tab-menus-main').find('.table-menu-'+index).addClass("active");
|
||||
},
|
||||
|
|
|
@ -123,15 +123,21 @@ $(function(){
|
|||
<#if po.showType=='checkbox' || po.showType=='radio' || po.showType=='select' || po.showType=='list'>
|
||||
<#if optionCodes?index_of(po.dictField) lt 0>
|
||||
<#assign optionCodes=optionCodes+","+po.dictField >
|
||||
promiseArr.push(new Promise(function(resolve, reject) {
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",resolve);
|
||||
}));
|
||||
<#if po.dictTable?if_exists?html!="">
|
||||
<#if po.showType=='popup'><#rt/>
|
||||
<#else><#rt/>
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",promiseArr,"${po.dictTable}","${po.dictText}");
|
||||
</#if><#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!=""><#rt/>
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",promiseArr,"","");
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
Promise.all(promiseArr).then(function(results) {
|
||||
initDatagrid();
|
||||
$.when.apply(null,promiseArr).done(function(){
|
||||
initDatagrid();
|
||||
$('#${entityName?uncap_first}List').datagrid('getPager').pagination({
|
||||
beforePageText: '',
|
||||
afterPageText: '/{pages}',
|
||||
|
@ -145,20 +151,18 @@ $(function(){
|
|||
$(this).pagination('loaded');
|
||||
}
|
||||
});
|
||||
|
||||
<#list columns as po>
|
||||
<#if po.isQuery =='Y'>
|
||||
<#if po.showType=='checkbox'||po.showType=='radio'>
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find(".${po.fieldName}-search"),${entityName?uncap_first}ListdictsData.${po.dictField},"${po.showType}","${po.fieldName}");
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find(".${po.fieldName}-search"),"${po.dictTable}","${po.dictField}","${po.showType}","${po.fieldName}");
|
||||
<#elseif po.showType=='select' || po.showType=='list'>
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find("select[name='${po.fieldName}']"),${entityName?uncap_first}ListdictsData.${po.dictField},"select");
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find("select[name='${po.fieldName}']"),"${po.dictTable}","${po.dictField}","select","${po.content}");
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
}).catch(function(err) {
|
||||
console.log('Catch: ', err);
|
||||
}).fail(function(){
|
||||
console.log("i'm sorry!it's unkown error that i can't resolve as yet");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
//easyui-datagrid实例化
|
||||
|
@ -209,7 +213,7 @@ function initDatagrid(){
|
|||
}
|
||||
<#elseif po.showType=='checkbox' || po.showType=='radio' || po.showType=='select' || po.showType=='list'>
|
||||
formatter : function(value, rec, index) {
|
||||
return listDictFormat(value,${entityName?uncap_first}ListdictsData.${po.dictField});
|
||||
return listDictFormat(value,"${po.dictField}","${po.dictTable}");
|
||||
}
|
||||
<#elseif po.showType=='image' ||po.showType=='file'>
|
||||
formatter:function(value,rec,index){
|
||||
|
@ -301,35 +305,50 @@ function resetSearch(){
|
|||
}
|
||||
|
||||
//加载字典数据
|
||||
function initDictByCode(dictObj,code,callback){
|
||||
if(!dictObj[code]){
|
||||
jQuery.ajax({
|
||||
url: "systemController.do?typeListJson&typeGroupName="+code,
|
||||
function initDictByCode(dictObj,code,promiseArr,table,text){
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
//如果当前dictcode为id那么,此处的字典对象对应的key为"表名+id"
|
||||
dictKey = table+code;
|
||||
}
|
||||
if(!dictObj[dictKey]){
|
||||
var url = "systemController.do?typeListJson&typeGroupName="+code;
|
||||
if(table){
|
||||
url += "&dicTable="+table+"&dicText="+text;
|
||||
}
|
||||
var dictAjax = jQuery.ajax({
|
||||
url:url,
|
||||
type:"GET",
|
||||
dataType:"JSON",
|
||||
success: function (back) {
|
||||
if(back.success){
|
||||
dictObj[code]= back.obj;
|
||||
|
||||
dictObj[dictKey]= back.obj;
|
||||
}
|
||||
callback();
|
||||
}
|
||||
});
|
||||
promiseArr.push(dictAjax);
|
||||
}
|
||||
}
|
||||
|
||||
//加载form查询数据字典项
|
||||
function loadSearchFormDicts(obj,arr,type,name){
|
||||
function loadSearchFormDicts(obj,table,code,type,name){
|
||||
var html = "";
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
dictKey = table+code;
|
||||
}
|
||||
var arr = ${entityName?uncap_first}ListdictsData[dictKey];
|
||||
for(var a = 0;a < arr.length;a++){
|
||||
if("select"== type){
|
||||
if(a==0){
|
||||
html+="<option value = '' style='display: none'> 请选择"+name+"</option>";
|
||||
}
|
||||
html+="<option value = '"+arr[a].typecode+"'>"+arr[a].typename+"</option>";
|
||||
}else{
|
||||
if(!arr[a].typecode){
|
||||
}else{
|
||||
html+="<input name = '"+name+"' type='"+type+"' value = '"+arr[a].typecode+"'>"+arr[a].typename +" ";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
obj.html(html);
|
||||
|
@ -353,10 +372,15 @@ function getRadioVal(name){
|
|||
return v;
|
||||
}
|
||||
//列表数据字典项格式化
|
||||
function listDictFormat(value,dicts){
|
||||
function listDictFormat(value,code,table){
|
||||
if (!value) return '';
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
dictKey = table+code;
|
||||
}
|
||||
var dicts = ${entityName?uncap_first}ListdictsData[dictKey];
|
||||
var valArray = value.split(',');
|
||||
var showVal = '';
|
||||
var showVal = value;
|
||||
if (valArray.length > 1) {
|
||||
for (var k = 0; k < valArray.length; k++) {
|
||||
if(dicts && dicts.length>0){
|
||||
|
|
|
@ -83,8 +83,8 @@
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -92,8 +92,8 @@
|
|||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
checkboxClass : 'icheckbox_square-green',
|
||||
radioClass : 'iradio_square-green',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
|
||||
|
|
|
@ -125,14 +125,20 @@ $(function(){
|
|||
<#if po.showType=='checkbox' || po.showType=='radio' || po.showType=='select' || po.showType=='list'>
|
||||
<#if optionCodes?index_of(po.dictField) lt 0>
|
||||
<#assign optionCodes=optionCodes+","+po.dictField >
|
||||
promiseArr.push(new Promise(function(resolve, reject) {
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",resolve);
|
||||
}));
|
||||
<#if po.dictTable?if_exists?html!="">
|
||||
<#if po.showType=='popup'><#rt/>
|
||||
<#else><#rt/>
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",promiseArr,"${po.dictTable}","${po.dictText}");
|
||||
</#if><#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!=""><#rt/>
|
||||
initDictByCode(${entityName?uncap_first}ListdictsData,"${po.dictField}",promiseArr,"","");
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
Promise.all(promiseArr).then(function(results) {
|
||||
$.when.apply(null,promiseArr).done(function(){
|
||||
initDatagrid();
|
||||
$('#${entityName?uncap_first}List').datagrid('getPager').pagination({
|
||||
beforePageText: '',
|
||||
|
@ -150,17 +156,15 @@ $(function(){
|
|||
<#list columns as po>
|
||||
<#if po.isQuery =='Y'>
|
||||
<#if po.showType=='checkbox'||po.showType=='radio'>
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find(".${po.fieldName}-search"),${entityName?uncap_first}ListdictsData.${po.dictField},"${po.showType}","${po.fieldName}");
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find(".${po.fieldName}-search"),"${po.dictTable}","${po.dictField}","${po.showType}","${po.fieldName}");
|
||||
<#elseif po.showType=='select' || po.showType=='list'>
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find("select[name='${po.fieldName}']"),${entityName?uncap_first}ListdictsData.${po.dictField},"select");
|
||||
loadSearchFormDicts($("#${entityName?uncap_first}Form").find("select[name='${po.fieldName}']"),"${po.dictTable}","${po.dictField}","select","${po.content}");
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
}).catch(function(err) {
|
||||
console.log('Catch: ', err);
|
||||
}).fail(function(){
|
||||
console.log("i'm sorry!it's unkown error that i can't resolve as yet");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
//easyui-datagrid实例化
|
||||
|
@ -211,7 +215,7 @@ function initDatagrid(){
|
|||
}
|
||||
<#elseif po.showType=='checkbox' || po.showType=='radio' || po.showType=='select' || po.showType=='list'>
|
||||
formatter : function(value, rec, index) {
|
||||
return listDictFormat(value,${entityName?uncap_first}ListdictsData.${po.dictField});
|
||||
return listDictFormat(value,"${po.dictField}","${po.dictTable}");
|
||||
}
|
||||
<#elseif po.showType=='image' ||po.showType=='file'>
|
||||
formatter:function(value,rec,index){
|
||||
|
@ -300,34 +304,49 @@ function resetSearch(){
|
|||
}
|
||||
|
||||
//加载字典数据
|
||||
function initDictByCode(dictObj,code,callback){
|
||||
if(!dictObj[code]){
|
||||
jQuery.ajax({
|
||||
url: "systemController.do?typeListJson&typeGroupName="+code,
|
||||
function initDictByCode(dictObj,code,promiseArr,table,text){
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
//如果当前dictcode为id那么,此处的字典对象对应的key为"表名+id"
|
||||
dictKey = table+code;
|
||||
}
|
||||
if(!dictObj[dictKey]){
|
||||
var url = "systemController.do?typeListJson&typeGroupName="+code;
|
||||
if(table){
|
||||
url += "&dicTable="+table+"&dicText="+text;
|
||||
}
|
||||
var dictAjax = jQuery.ajax({
|
||||
url:url,
|
||||
type:"GET",
|
||||
dataType:"JSON",
|
||||
success: function (back) {
|
||||
if(back.success){
|
||||
dictObj[code]= back.obj;
|
||||
|
||||
dictObj[dictKey]= back.obj;
|
||||
}
|
||||
callback();
|
||||
}
|
||||
});
|
||||
promiseArr.push(dictAjax);
|
||||
}
|
||||
}
|
||||
//加载form查询数据字典项
|
||||
function loadSearchFormDicts(obj,arr,type,name){
|
||||
function loadSearchFormDicts(obj,table,code,type,name){
|
||||
var html = "";
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
dictKey = table+code;
|
||||
}
|
||||
var arr = ${entityName?uncap_first}ListdictsData[dictKey];
|
||||
for(var a = 0;a < arr.length;a++){
|
||||
if("select"== type){
|
||||
if(a==0){
|
||||
html+="<option value = '' style='display: none'> 请选择"+name+"</option>";
|
||||
}
|
||||
html+="<option value = '"+arr[a].typecode+"'>"+arr[a].typename+"</option>";
|
||||
}else{
|
||||
if(!arr[a].typecode){
|
||||
}else{
|
||||
html+="<input name = '"+name+"' type='"+type+"' value = '"+arr[a].typecode+"'>"+arr[a].typename +" ";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
obj.html(html);
|
||||
|
@ -351,10 +370,15 @@ function getRadioVal(name){
|
|||
return v;
|
||||
}
|
||||
//列表数据字典项格式化
|
||||
function listDictFormat(value,dicts){
|
||||
function listDictFormat(value,code,table){
|
||||
if (!value) return '';
|
||||
var dictKey = code;
|
||||
if(code=="id"){
|
||||
dictKey = table+code;
|
||||
}
|
||||
var dicts = ${entityName?uncap_first}ListdictsData[dictKey];
|
||||
var valArray = value.split(',');
|
||||
var showVal = '';
|
||||
var showVal = value;
|
||||
if (valArray.length > 1) {
|
||||
for (var k = 0; k < valArray.length; k++) {
|
||||
if(dicts && dicts.length>0){
|
||||
|
|
|
@ -34,8 +34,25 @@
|
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
|
||||
</div>
|
||||
</#if>
|
||||
<#elseif tablestyle != "1" && (po.showType=='file' || po.showType=='image')>
|
||||
<@webuploadtag po = po defval="${'$'}{${valuepre}${po.fieldName}}"/>
|
||||
<#-- update--begin--author:liushaoqian Date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造) -->
|
||||
<#elseif po.showType=='file' || po.showType=='image'>
|
||||
<#if tablestyle != "1">
|
||||
<@webuploadtag po = po defval="${'$'}{${valuepre}${po.fieldName}}"/>
|
||||
<#else>
|
||||
<input onclick="onetomanyUpload('${namepre}${po.fieldName}')" class="btn btn-default" type="button" value="上传附件" />
|
||||
<input type="hidden" name="${namepre}${po.fieldName}" <#if valuepre != "">value = "${'$'}{${valuepre}${po.fieldName}}"</#if>/>
|
||||
<#if valuepre != "">
|
||||
<a target="_blank" class=".btn-default"<#rt/>
|
||||
<c:if test="${'$'}{not empty ${valuepre}${po.fieldName}}"><#rt/>
|
||||
href="img/server/${'$'}{${valuepre}${po.fieldName}}?down=true">下载<#rt/>
|
||||
</c:if><#rt/>
|
||||
<c:if test="${'$'}{empty ${valuepre}${po.fieldName}}">></c:if><#rt/>
|
||||
</a><#rt/>
|
||||
<#else>
|
||||
<a target="_blank" class="btn btn-link"></a>
|
||||
</#if>
|
||||
</#if>
|
||||
<#-- update--end--author:liushaoqian Date:20180720 for:TASK #2959 【代码生成器模板】新模板Bootstrap 版本等模板,明细不支持上传附件 (统一改造) -->
|
||||
<#else>
|
||||
<input name="${namepre}${po.fieldName}" <#if valuepre != "">value = "${'$'}{${valuepre}${po.fieldName}}"</#if> type="text" class="form-control input-sm" maxlength="${po.length?c}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" tableName="${po.table.tableName}" fieldName="${po.oldFieldName}"/> />
|
||||
</#if>
|
||||
|
|
|
@ -3,42 +3,45 @@
|
|||
<#list columns as po><#rt/>
|
||||
<t:dgCol title="${po.content}" <#rt/>
|
||||
field="${po.fieldName}" <#rt/>
|
||||
<#if po.showType?index_of("datetime")!=-1><#rt/>
|
||||
<#if po.showType?index_of("datetime")!=-1><#rt/>
|
||||
formatter="yyyy-MM-dd hh:mm:ss" <#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.showType?index_of("date")!=-1><#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.showType?index_of("date")!=-1><#rt/>
|
||||
formatter="yyyy-MM-dd" <#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.isShowList?if_exists?html =='N'><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.isShowList?if_exists?html =='N'><#rt/>
|
||||
hidden="true" <#rt/>
|
||||
<#else><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.dictTable?if_exists?html!=""><#rt/>
|
||||
<#else><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.dictTable?if_exists?html!=""><#rt/>
|
||||
dictionary="${po.dictTable},${po.dictField?replace(',', '@')},${po.dictText?replace(',', '@')}" <#rt/>
|
||||
<#if po.showType=='popup'> popup="true" extendParams="editor:'text'"<#else> extendParams="editor:'combobox'"</#if><#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!=""><#rt/>
|
||||
<#if po.showType=='popup'> popup="true" extendParams="editor:'text'"<#else> extendParams="editor:'combobox'"</#if><#rt/>
|
||||
<#else><#rt/>
|
||||
<#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!=""><#rt/>
|
||||
dictionary="${po.dictField}" filterType="combobox" extendParams="editor:'combobox'"<#rt/>
|
||||
<#else>
|
||||
<#if po.type?if_exists?html =='java.util.Date'><#rt/>
|
||||
<#else>
|
||||
<#if po.type?if_exists?html =='java.util.Date'><#rt/>
|
||||
filterType="datebox" extendParams="editor:{type:'datebox',options:{onShowPanel:initDateboxformat}}"<#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.lang.Integer'><#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.lang.Integer'><#rt/>
|
||||
filterType="numberbox" extendParams="editor:'numberbox'"<#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.math.BigDecimal'><#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.math.BigDecimal'><#rt/>
|
||||
filterType="numberbox" extendParams="editor:{type:'validatebox',options:{validType:'decimalTwo'}}"<#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.lang.Double'><#rt/>
|
||||
<#elseif po.type?if_exists?html =='java.lang.Double'><#rt/>
|
||||
filterType="numberbox" extendParams="editor:{type:'validatebox',options:{validType:'decimalTwo'}}"<#rt/>
|
||||
<#else>
|
||||
<#else>
|
||||
<#if po.showType?index_of("image") != -1 || po.showType?index_of("file") != -1><#rt/>
|
||||
<#else>
|
||||
extendParams="editor:'text'"<#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.showType?index_of("image") != -1><#rt/>
|
||||
image="true" imageSize="50,50" formatterjs="formatterImg"<#rt/>
|
||||
<#elseif po.showType?index_of("file") != -1><#rt/>
|
||||
downloadName="附件下载" formatterjs="formatterFile"<#rt/>
|
||||
<#elseif po.showType?index_of("tree") != -1><#rt/>
|
||||
</#if>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
<#if po.showType?index_of("image") != -1><#rt/>
|
||||
image="true" imageSize="50,50" formatterjs="formatterImg" extendParams="editor:{type:'filecontrol',options:{btnclass:'ace_button'}}"<#rt/>
|
||||
<#elseif po.showType?index_of("file") != -1><#rt/>
|
||||
downloadName="附件下载" formatterjs="formatterFile" extendParams="editor:{type:'filecontrol',options:{btnclass:'ace_button'}}"<#rt/>
|
||||
<#elseif po.showType?index_of("tree") != -1><#rt/>
|
||||
formatterjs="treeFormater"<#rt/>
|
||||
</#if><#rt/>
|
||||
width="${po.fieldLength}"></t:dgCol>
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
<#-- update--end--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType=='textarea'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<textarea style="width:600px;" class="inputxt" rows="6" id="${po.fieldName}" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />></textarea>
|
||||
<textarea style="height:auto;width:95%" class="inputxt" rows="6" id="${po.fieldName}" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />></textarea>
|
||||
<#-- update--end--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType=='password'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
|
@ -240,7 +240,7 @@
|
|||
<td class="value" <#if (pageColumns?size>10)> colspan="3" </#if>>
|
||||
<#if po.showType=='textarea'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<textarea style="width:600px;" class="inputxt" rows="6" id="${po.fieldName}" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />></textarea>
|
||||
<textarea style="height:auto;width:95%" class="inputxt" rows="6" id="${po.fieldName}" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />></textarea>
|
||||
<#-- update--end--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType=='textarea'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<textarea id="${po.fieldName}" style="width:600px;" class="inputxt" rows="6" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />>${'$'}{${entityName?uncap_first}Page.${po.fieldName}}</textarea>
|
||||
<textarea id="${po.fieldName}" style="height:auto;width:95%;" class="inputxt" rows="6" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />>${'$'}{${entityName?uncap_first}Page.${po.fieldName}}</textarea>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType=='password'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
|
@ -248,7 +248,7 @@
|
|||
<td class="value" <#if (pageColumns?size>10)> colspan="3" </#if>>
|
||||
<#if po.showType=='textarea'>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<textarea id="${po.fieldName}" style="width:600px;" class="inputxt" rows="6" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />>${'$'}{${entityName?uncap_first}Page.${po.fieldName}}</textarea>
|
||||
<textarea id="${po.fieldName}" style="height:auto;width:95%;" class="inputxt" rows="6" name="${po.fieldName}" <@datatype validType="${po.fieldValidType!''}" isNull="${po.isNull}" type="${po.type}" mustInput="${po.fieldMustInput!''}" />>${'$'}{${entityName?uncap_first}Page.${po.fieldName}}</textarea>
|
||||
<#-- update--begin--author:zhangjiaqiangDate:20170509 for:修订生成代码不美观 -->
|
||||
<#elseif po.showType='umeditor'>
|
||||
<#-- update--begin--author:zhangjiaqiang date:20170522 for:ueditor配置文件只加载一次 -->
|
||||
|
|
|
@ -114,14 +114,11 @@
|
|||
}
|
||||
});
|
||||
});
|
||||
//单选框/多选框初始化
|
||||
$('.i-checks').iCheck({
|
||||
labelHover : false,
|
||||
cursor : true,
|
||||
checkboxClass : 'icheckbox_square-blue',
|
||||
radioClass : 'iradio_square-blue',
|
||||
increaseArea : '20%'
|
||||
});
|
||||
//自定义checkbox、radio 样式
|
||||
$('.i-checks').iCheck({
|
||||
checkboxClass: 'icheckbox_square-green',
|
||||
radioClass: 'iradio_square-green'
|
||||
});
|
||||
}
|
||||
|
||||
function upload() {
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
//-->
|
||||
</script>
|
||||
</head>
|
||||
<body style="overflow-y: hidden; overflow-x: hidden;" scroll="no">
|
||||
<body>
|
||||
<form id="formobj" action="${basePath}/cgFormBuildController.do?saveOrUpdate" name="formobj" method="post">
|
||||
<input type="hidden" id="btn_sub" class="btn_sub"/>
|
||||
<input type="hidden" name="tableName" value="${tableName?if_exists?html}" >
|
||||
|
@ -32,24 +32,24 @@
|
|||
<td align="right" height="40" width="10%">
|
||||
<span class="filedzt">* 客户编号</span>
|
||||
</td>
|
||||
<td class="value" width="20%">
|
||||
<td class="value" width="25%">
|
||||
<input name="custom_id" id="custom_id" datatype="*" class="inputxt" value="${data['${tableName}']['custom_id']?if_exists?html}" >
|
||||
<span class="Validform_checktip"></span>
|
||||
<label class="Validform_label" style="display: none;">客户编号</label>
|
||||
</td>
|
||||
<td align="right" height="40" width="10%">
|
||||
<td align="right" height="40" width="5%">
|
||||
<span class="filedzt">负责人</span>
|
||||
</td>
|
||||
<td class="value" width="20%">
|
||||
<td class="value" width="25%">
|
||||
<input name="header" id="header" datatype="*" class="inputxt" value="${data['${tableName}']['header']?if_exists?html}" >
|
||||
<span class="Validform_checktip"></span>
|
||||
<label class="Validform_label" style="display: none;">负责人</label>
|
||||
</td>
|
||||
<td align="right" height="40" width="10%">
|
||||
<td align="right" height="40" width="5%">
|
||||
<span class="filedzt">成立日期</span>
|
||||
</td>
|
||||
<td class="value" width="30%">
|
||||
<input name="establish_date" id="establish_date" datatype="*" class="Wdate" onClick="WdatePicker()" value="${data['${tableName}']['establish_date']?if_exists?html}" >
|
||||
<td class="value" width="25%">
|
||||
<input name="establish_date" id="establish_date" datatype="*" class="inputxt Wdate" onClick="WdatePicker()" value="${data['${tableName}']['establish_date']?if_exists?html}" >
|
||||
<span class="Validform_checktip"></span>
|
||||
<label class="Validform_label" style="display: none;">成立日期</label>
|
||||
</td>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<title></title>
|
||||
${config_iframe}
|
||||
</head>
|
||||
<body style="overflow-y: hidden; overflow-x: hidden;" scroll="no">
|
||||
<body>
|
||||
<form id="formobj" action="${basePath}/cgFormBuildController.do?saveOrUpdate" name="formobj" method="post">
|
||||
<input type="hidden" id="btn_sub" class="btn_sub"/>
|
||||
<input type="hidden" name="tableName" value="${tableName?if_exists?html}" >
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
<link rel="stylesheet" href="${webRootf!''}plug-in/bootstrap3.3.5/css/bootstrap.min.css">
|
||||
<script type="text/javascript" src="${webRootf!''}plug-in/bootstrap3.3.5/js/bootstrap.min.js"></script>
|
||||
<!-- icheck组件引用 -->
|
||||
<link href="${webRootf!''}plug-in/icheck-1.x/skins/square/_all.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${webRootf!''}plug-in/icheck-1.x/icheck.js"></script>
|
||||
<link href="${webRootf!''}plug-in/hplus/css/plugins/iCheck/custom.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${webRootf!''}plug-in/hplus/js/plugins/iCheck/icheck.min.js"></script>
|
||||
<!-- Validform扩展样式 -->
|
||||
<link rel="stylesheet" href="plug-in/themes/bootstrap-ext/css/validform-ext.css" />
|
||||
<!-- Layer组件引用 -->
|
||||
|
|
|
@ -2,19 +2,20 @@
|
|||
sessionVersion=sessionVersion
|
||||
#
|
||||
templatepath=docTemp
|
||||
#
|
||||
|
||||
#UploadTag\u6807\u7b7e\u4e0a\u4f20\u6587\u4ef6\u8def\u5f84\uff08\u76f8\u5bf9\u8def\u5f84\uff09
|
||||
uploadpath=upload
|
||||
|
||||
#WebUploaderTag\u6807\u7b7e\u4e0a\u4f20\u6587\u4ef6\u8def\u5f84(\u7edd\u5bf9\u8def\u5f84)
|
||||
webUploadpath=D://upFiles
|
||||
#\u65b9\u5f0f\u4e00\uff1a\u6ca1\u6709\u5355\u72ec\u56fe\u7247\u670d\u52a1\u5668\uff0c\u901a\u8fc7\u672c\u5730\u670d\u52a1\u5316\u7c7b\u5b9e\u73b0\u6d41\u65b9\u5f0f\u4e0b\u8f7d,\u6b64\u4e3a\u9ed8\u8ba4\u914d\u7f6e\u4e0d\u9700\u8981\u66f4\u6539
|
||||
#WebUploaderTag\u4e0a\u4f20\u7684\u56fe\u7247\u9884\u89c8\u65b9\u5f0f
|
||||
#\u9884\u89c8\u65b9\u5f0f\u4e00\uff1a\u6ca1\u6709\u5355\u72ec\u56fe\u7247\u670d\u52a1\u5668\uff0c\u901a\u8fc7\u672c\u5730\u670d\u52a1\u5316\u7c7b\u5b9e\u73b0\u6d41\u65b9\u5f0f\u4e0b\u8f7d,\u6b64\u4e3a\u9ed8\u8ba4\u914d\u7f6e\u4e0d\u9700\u8981\u66f4\u6539
|
||||
showAndDownUrl=img/server/
|
||||
#\u65b9\u5f0f\u4e8c\uff1a\u5355\u72ec\u56fe\u7247\u670d\u52a1\u5668\uff0c\u9700\u8981\u914d\u7f6e\u56fe\u7247\u670d\u52a1\u5668\u57df\u540d\u6839\u76ee\u5f55\u5730\u5740
|
||||
#\u9884\u89c8\u65b9\u5f0f\u4e8c\uff1a\u5355\u72ec\u56fe\u7247\u670d\u52a1\u5668\uff0c\u9700\u8981\u914d\u7f6e\u56fe\u7247\u670d\u52a1\u5668\u57df\u540d\u6839\u76ee\u5f55\u5730\u5740
|
||||
#showAndDownUrl=http://www.img.com/
|
||||
#\u65b9\u5f0f\u4e09\uff1aftp downPath
|
||||
#\u9884\u89c8\u65b9\u5f0f\u4e09\uff1aftp downPath
|
||||
#showAndDownUrl=systemController/showOrDownByurlFTP.do?dbPath=
|
||||
|
||||
office_home=D://Program Files//OpenOffice
|
||||
|
||||
|
||||
#ftpclient
|
||||
ftp.url=192.168.1.132
|
||||
|
@ -23,6 +24,12 @@ ftp.userName=13552579746@163.com
|
|||
ftp.passWord=yandong123
|
||||
|
||||
|
||||
#\u3010\u5728\u7ebf\u6587\u6863\u9884\u89c8\u529f\u80fd\u3011OpenOffice\u672c\u5730\u5b89\u88c5\u76ee\u5f55
|
||||
office_home=D://Program Files//OpenOffice
|
||||
#\u3010\u5728\u7ebf\u6587\u6863\u9884\u89c8\u529f\u80fd\u3011\u5168\u5c40\u5f00\u5173\uff0c\u662f\u5426\u9ed8\u8ba4\u5f00\u542fswf\u5728\u7ebf\u6587\u6863\u9884\u89c8\u8f6c\u6362\u529f\u80fd
|
||||
swf.transform.flag=true
|
||||
|
||||
|
||||
#DEV(\u5f00\u53d1\u6a21\u5f0f)/PUB(\u751f\u4ea7\u6a21\u5f0f)
|
||||
sqlReadMode=DEV
|
||||
|
||||
|
@ -48,6 +55,7 @@ orgCodeLengthType=2
|
|||
categoryCodeLengthType=2
|
||||
|
||||
|
||||
#\u7cfb\u7edf\u53d1\u9001\u90ae\u4ef6\u914d\u7f6e
|
||||
mail.smtpHost=smtp.126.com
|
||||
mail.sender=anchaodaren@126.com
|
||||
mail.user=anchaodaren
|
||||
|
|
|
@ -562,7 +562,7 @@
|
|||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>操作菜单,一开始是否隐藏</description>
|
||||
<description>操作菜单,一开始是否隐藏true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:jiaqiankun date:20180713 for:TASK #2872 【新功能】列表按钮改造成配置,支持折叠模式,增加一个参数 -->
|
||||
</tag>
|
||||
|
@ -613,7 +613,7 @@
|
|||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>操作菜单,一开始是否隐藏</description>
|
||||
<description>操作菜单,一开始是否隐藏true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:jiaqiankun date:20180713 for:TASK #2872 【新功能】列表按钮改造成配置,支持折叠模式,增加一个参数 -->
|
||||
</tag>
|
||||
|
@ -679,7 +679,7 @@
|
|||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>操作菜单,一开始是否隐藏</description>
|
||||
<description>操作菜单,一开始是否隐藏true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:taoYan date:20180524 for:操作菜单扩展 -->
|
||||
</tag>
|
||||
|
@ -738,7 +738,7 @@
|
|||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>操作菜单,一开始是否隐藏</description>
|
||||
<description>操作菜单,一开始是否隐藏true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:taoYan date:2018524 for:操作菜单扩展 -->
|
||||
</tag>
|
||||
|
@ -803,6 +803,13 @@
|
|||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>按钮操作Code</description>
|
||||
</attribute>
|
||||
<!-- update-begin-author:taoyan date:20180717 for:TASK #2873 【新功能】按钮折叠功能 -->
|
||||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>是否在更多操作按钮组中显示,若为true则该按钮一开始为隐藏,点击更多操作按钮才会显示</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:taoyan date:20180717 for:TASK #2873 【新功能】按钮折叠功能 -->
|
||||
</tag>
|
||||
<tag>
|
||||
<name>dgConfOpt</name>
|
||||
|
@ -857,7 +864,7 @@
|
|||
<attribute>
|
||||
<name>inGroup</name>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>操作菜单,一开始是否隐藏</description>
|
||||
<description>操作菜单,一开始是否隐藏true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end-author:jiaqiankun date:20180713 for:TASK #2872 【新功能】列表按钮改造成配置,支持折叠模式,增加一个参数 -->
|
||||
</tag>
|
||||
|
@ -2026,6 +2033,14 @@
|
|||
<description>是否在外部引入js-css</description>
|
||||
</attribute>
|
||||
<!-- update-end- Author:taoyan Date:20180519 for:文件上传增加属性:是否在外部引入js-css -->
|
||||
<!-- update-begin- Author:taoyan Date:20180725 for:TASK #3007 【新功能】陶炎的上传,不支持文档 swf转换 -->
|
||||
<attribute>
|
||||
<name>swfTransform</name>
|
||||
<required>false</required>
|
||||
<rtexprvalue>true</rtexprvalue>
|
||||
<description>是否支持需要将此文件转换成swf文件,true/false</description>
|
||||
</attribute>
|
||||
<!-- update-end- Author:taoyan Date:20180725 for:TASK #3007 【新功能】陶炎的上传,不支持文档 swf转换 -->
|
||||
</tag>
|
||||
<!-- add-end- Author:taoyan Date:20170327 for:文件上传标签 -->
|
||||
<!-- add-begin-author:zhangjiaqiang Date:20170913 for:treeSelectTag -->
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<display-name>Jeecg 微云快速开发平台</display-name>
|
||||
<context-param>
|
||||
<param-name>webAppRootKey</param-name>
|
||||
<param-value>jeecg-3.7.7</param-value>
|
||||
<param-value>jeecg-3.7.8</param-value>
|
||||
</context-param>
|
||||
<context-param>
|
||||
<param-name>log4jConfigLocation</param-name>
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
/* * css: {validform验证效果扩展} * ----------*/
|
||||
.poptip{z-index:1000;position: absolute;top: 20px;left:20px;padding: 6px 10px 6px;*padding: 7px 10px 5px;line-height: 16px;color: #fff;font-size: 12px;background-color: #B94A48;border: solid 1px #B94A48;border-radius: 2px;box-shadow: 0 0 3px #ddd;}
|
||||
.poptip-arrow{position: absolute;overflow: hidden;font-style: normal;font-family: simsun;text-shadow:0 0 2px #ccc;}
|
||||
.poptip-arrow em,.poptip-arrow i{position: absolute;left:0;top:0;font-style: normal;}
|
||||
.poptip-arrow em{color: #B94A48;}
|
||||
.poptip-arrow i{color: #B94A48;text-shadow:none;}
|
||||
.poptip-arrow-top,.poptip-arrow-bottom{height: 6px;width: 12px;left:12px;margin-left:-6px;}
|
||||
.poptip-arrow-left,.poptip-arrow-right{height: 12px;width: 6px;top: 12px;margin-top:-6px;}
|
||||
.poptip-arrow-top{top: -6px;}
|
||||
.poptip-arrow-top em{top: -1px;}
|
||||
.poptip-arrow-top i{top: 0px;}
|
||||
.poptip-arrow-bottom{bottom: -6px;}
|
||||
.poptip-arrow-bottom em{top: -8px;}
|
||||
.poptip-arrow-bottom i{top: -9px;}
|
||||
.poptip-arrow-left{left:-6px;}
|
||||
.poptip-arrow-left em{left:1px;}
|
||||
.poptip-arrow-left i{left:2px;}
|
||||
.poptip-arrow-right{right:-6px;}
|
||||
.poptip-arrow-right em{left:-6px;}
|
||||
.poptip-arrow-right i{left:-7px;}
|
|
@ -92,7 +92,7 @@
|
|||
"s6-18" : /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$/,
|
||||
"p" : /^[0-9]{6}$/,
|
||||
/*update-begin--Author:dangzhenghui Date:20170627 for:手机支持170号段*/
|
||||
"m":/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|17[0-9]{9}$|18[0-9]{9}$/,
|
||||
"m":/^1[3|4|5|7|8][0-9]\d{8}$/,
|
||||
/*update-end--Author:dangzhenghui Date:20170627 for:手机支持170号段*/
|
||||
"e" : /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
|
||||
"url" : /^(\w+:\/\/)?\w+(\.\w+)+.*$/,
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/* * js: {validform验证效果扩展} * ----------*/
|
||||
|
||||
//提示信息
|
||||
function ValidationMessage(obj, Validatemsg) {
|
||||
try {
|
||||
removeMessage(obj);
|
||||
//obj.focus();
|
||||
var $poptip_error = $('<div class="poptip"><span class="poptip-arrow poptip-arrow-top"><em>◆</em></span>' + Validatemsg + '</div>').css("left", obj.offset().left + 'px').css("top", obj.offset().top + obj.parent().height() + 5 + 'px')
|
||||
$('body').append($poptip_error);
|
||||
if (obj.hasClass('form-control') || obj.hasClass('ui-select')) {
|
||||
obj.parent().addClass('has-error');
|
||||
}
|
||||
if (obj.hasClass('ui-select')) {
|
||||
$('.input-error').remove();
|
||||
}
|
||||
obj.change(function () {
|
||||
if (obj.val()) {
|
||||
removeMessage(obj);
|
||||
}
|
||||
});
|
||||
if (obj.hasClass('ui-select')) {
|
||||
$(document).click(function (e) {
|
||||
if (obj.attr('data-value')) {
|
||||
removeMessage(obj);
|
||||
}
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
return false;
|
||||
} catch (e) {
|
||||
alert(e)
|
||||
}
|
||||
}
|
||||
//移除提示
|
||||
function removeMessage(obj) {
|
||||
obj.parent().removeClass('has-error');
|
||||
$('.poptip').remove();
|
||||
$('.input-error').remove();
|
||||
}
|
|
@ -42,4 +42,49 @@ form[name="searchColumsForm"]{
|
|||
/*border-top: 1px solid #dddddd;*/
|
||||
height:27px ;
|
||||
}
|
||||
/*update-end--Author:xuelin Date:20171221 for:[#2456]【样式bug】shortcut下online功能测试的列表有问题-------------------- */
|
||||
/*update-end--Author:xuelin Date:20171221 for:[#2456]【样式bug】shortcut下online功能测试的列表有问题-------------------- */
|
||||
|
||||
/*update-begin-author:taoYan date:20180717 for:TASK #2873 【新功能】按钮折叠功能*/
|
||||
.toolbar-more-container{position:relative;display: inline-block;}
|
||||
.toolbar-more-list{
|
||||
border: medium none;
|
||||
display: none;
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
left: 0;
|
||||
list-style: none outside none;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
text-shadow: none;
|
||||
top: 100%;
|
||||
z-index: 1000;
|
||||
border-radius: 0;
|
||||
box-shadow: 0 0 3px rgba(86, 96, 117, 0.3);
|
||||
min-width: 120px;
|
||||
background-color: #fff;
|
||||
margin: 0;
|
||||
}
|
||||
.toolbar-more-list.active{display:block;left: auto;right: 0;}
|
||||
.toolbar-more-list>li>a{
|
||||
display: block;
|
||||
padding: 2px 20px 2px 8px;
|
||||
clear: both;
|
||||
border-radius: 3px;
|
||||
color: inherit;
|
||||
line-height: 25px;
|
||||
margin: 2px;
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.toolbar-more-list>li>a:focus,.toolbar-more-list>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}
|
||||
.toolbar-more-list .easyui-mycon{
|
||||
display:inline-block;width:16px;height:16px;position:relative;top:2px;
|
||||
}
|
||||
/* .toolbar-more{display:none;border-radius:5px;position:absolute;z-index:100;background-color:rgb(238, 238, 238)}
|
||||
.toolbar-more.active{display:block}
|
||||
.toolbar-more-list{margin:8px 0;padding:0}
|
||||
.toolbar-more-list li{margin: 5px 2px;list-style-type:none;} */
|
||||
/*update-end-author:taoYan date:20180717 for:TASK #2873 【新功能】按钮折叠功能*/
|
|
@ -0,0 +1,95 @@
|
|||
/**
|
||||
* @author: YL
|
||||
* @version: v1.0.0
|
||||
*/
|
||||
!function ($) {
|
||||
'use strict';
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
treeShowField: null,
|
||||
idField: 'id',
|
||||
parentIdField: 'pid',
|
||||
onGetNodes: function (row, data) {
|
||||
var that = this;
|
||||
var nodes = [];
|
||||
$.each(data, function (i, item) {
|
||||
if (row[that.options.idField] === item[that.options.parentIdField]) {
|
||||
nodes.push(item);
|
||||
}
|
||||
});
|
||||
return nodes;
|
||||
},
|
||||
onCheckRoot: function (row, data) {
|
||||
var that = this;
|
||||
return !row[that.options.parentIdField];
|
||||
}
|
||||
});
|
||||
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||||
_initRow = BootstrapTable.prototype.initRow,
|
||||
_initHeader = BootstrapTable.prototype.initHeader;
|
||||
|
||||
// td
|
||||
BootstrapTable.prototype.initHeader = function () {
|
||||
var that = this;
|
||||
_initHeader.apply(that, Array.prototype.slice.apply(arguments));
|
||||
var treeShowField = that.options.treeShowField;
|
||||
if (treeShowField) {
|
||||
$.each(this.header.fields, function (i, field) {
|
||||
if (treeShowField === field) {
|
||||
that.treeEnable = true;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var initTr = function (item, idx, data, parentDom) {
|
||||
var that = this;
|
||||
var nodes = that.options.onGetNodes.apply(that, [item, data]);
|
||||
item._nodes = nodes;
|
||||
parentDom.append(_initRow.apply(that, [item, idx, data, parentDom]));
|
||||
|
||||
// init sub node
|
||||
var len = nodes.length - 1;
|
||||
for (var i = 0; i <= len; i++) {
|
||||
var node = nodes[i];
|
||||
node._level = item._level + 1;
|
||||
node._parent = item;
|
||||
if (i === len)
|
||||
node._last = 1;
|
||||
// jquery.treegrid.js
|
||||
that.options.rowStyle = function (item, idx) {
|
||||
var id = item[that.options.idField] ? item[that.options.idField] : 0;
|
||||
var pid = item[that.options.parentIdField] ? item[that.options.parentIdField] : 0;
|
||||
return {
|
||||
classes: 'treegrid-' + id + ' treegrid-parent-' + pid
|
||||
};
|
||||
};
|
||||
initTr.apply(that, [node, $.inArray(node, data), data, parentDom]);
|
||||
}
|
||||
};
|
||||
|
||||
// tr
|
||||
BootstrapTable.prototype.initRow = function (item, idx, data, parentDom) {
|
||||
var that = this;
|
||||
if (that.treeEnable) {
|
||||
// init root node
|
||||
if (that.options.onCheckRoot.apply(that, [item, data])) {
|
||||
if (item._level === undefined) {
|
||||
item._level = 0;
|
||||
}
|
||||
// jquery.treegrid.js
|
||||
that.options.rowStyle = function (item, idx) {
|
||||
var x = item[that.options.idField] ? item[that.options.idField] : 0;
|
||||
return {
|
||||
classes: 'treegrid-' + x
|
||||
};
|
||||
};
|
||||
initTr.apply(that, [item, idx, data, parentDom]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return _initRow.apply(that, Array.prototype.slice.apply(arguments));
|
||||
};
|
||||
}(jQuery);
|
After Width: | Height: | Size: 119 B |
After Width: | Height: | Size: 108 B |
After Width: | Height: | Size: 701 B |
|
@ -83,3 +83,6 @@
|
|||
width:64px;height:64px;
|
||||
background:url('icons/ok64.png') no-repeat center center;
|
||||
}
|
||||
.icon-caret-down{
|
||||
background:url('icons/fa-caret-down.png') no-repeat center center;
|
||||
}
|
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 1.5 KiB |
|
@ -104,4 +104,8 @@
|
|||
.icon-chart-organisation {
|
||||
background:url('icons/chart_organisation.png') no-repeat center center;
|
||||
}
|
||||
/*update-end-Author:LiShaoQing date:20180103 for:组织机构添加职务信息图标 */
|
||||
/*update-end-Author:LiShaoQing date:20180103 for:组织机构添加职务信息图标 */
|
||||
|
||||
.icon-caret-down{
|
||||
background:url('icons/fa-caret-down.png') no-repeat center center;
|
||||
}
|
After Width: | Height: | Size: 180 B |
|
@ -0,0 +1,11 @@
|
|||
/*! iCheck v1.0.2 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */
|
||||
(function(f){function A(a,b,d){var c=a[0],g=/er/.test(d)?_indeterminate:/bl/.test(d)?n:k,e=d==_update?{checked:c[k],disabled:c[n],indeterminate:"true"==a.attr(_indeterminate)||"false"==a.attr(_determinate)}:c[g];if(/^(ch|di|in)/.test(d)&&!e)x(a,g);else if(/^(un|en|de)/.test(d)&&e)q(a,g);else if(d==_update)for(var f in e)e[f]?x(a,f,!0):q(a,f,!0);else if(!b||"toggle"==d){if(!b)a[_callback]("ifClicked");e?c[_type]!==r&&q(a,g):x(a,g)}}function x(a,b,d){var c=a[0],g=a.parent(),e=b==k,u=b==_indeterminate,
|
||||
v=b==n,s=u?_determinate:e?y:"enabled",F=l(a,s+t(c[_type])),B=l(a,b+t(c[_type]));if(!0!==c[b]){if(!d&&b==k&&c[_type]==r&&c.name){var w=a.closest("form"),p='input[name="'+c.name+'"]',p=w.length?w.find(p):f(p);p.each(function(){this!==c&&f(this).data(m)&&q(f(this),b)})}u?(c[b]=!0,c[k]&&q(a,k,"force")):(d||(c[b]=!0),e&&c[_indeterminate]&&q(a,_indeterminate,!1));D(a,e,b,d)}c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"default");g[_add](B||l(a,b)||"");g.attr("role")&&!u&&g.attr("aria-"+(v?n:k),"true");
|
||||
g[_remove](F||l(a,s)||"")}function q(a,b,d){var c=a[0],g=a.parent(),e=b==k,f=b==_indeterminate,m=b==n,s=f?_determinate:e?y:"enabled",q=l(a,s+t(c[_type])),r=l(a,b+t(c[_type]));if(!1!==c[b]){if(f||!d||"force"==d)c[b]=!1;D(a,e,s,d)}!c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"pointer");g[_remove](r||l(a,b)||"");g.attr("role")&&!f&&g.attr("aria-"+(m?n:k),"false");g[_add](q||l(a,s)||"")}function E(a,b){if(a.data(m)){a.parent().html(a.attr("style",a.data(m).s||""));if(b)a[_callback](b);a.off(".i").unwrap();
|
||||
f(_label+'[for="'+a[0].id+'"]').add(a.closest(_label)).off(".i")}}function l(a,b,f){if(a.data(m))return a.data(m).o[b+(f?"":"Class")]}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function D(a,b,f,c){if(!c){if(b)a[_callback]("ifToggled");a[_callback]("ifChanged")[_callback]("if"+t(f))}}var m="iCheck",C=m+"-helper",r="radio",k="checked",y="un"+k,n="disabled";_determinate="determinate";_indeterminate="in"+_determinate;_update="update";_type="type";_click="click";_touch="touchbegin.i touchend.i";
|
||||
_add="addClass";_remove="removeClass";_callback="trigger";_label="label";_cursor="cursor";_mobile=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);f.fn[m]=function(a,b){var d='input[type="checkbox"], input[type="'+r+'"]',c=f(),g=function(a){a.each(function(){var a=f(this);c=a.is(d)?c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),g(this),c.each(function(){var c=
|
||||
f(this);"destroy"==a?E(c,"ifDestroyed"):A(c,!0,a);f.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var e=f.extend({checkedClass:k,disabledClass:n,indeterminateClass:_indeterminate,labelHover:!0},a),l=e.handle,v=e.hoverClass||"hover",s=e.focusClass||"focus",t=e.activeClass||"active",B=!!e.labelHover,w=e.labelHoverClass||"hover",p=(""+e.increaseArea).replace("%","")|0;if("checkbox"==l||l==r)d='input[type="'+l+'"]';-50>p&&(p=-50);g(this);return c.each(function(){var a=f(this);E(a);var c=this,
|
||||
b=c.id,g=-p+"%",d=100+2*p+"%",d={position:"absolute",top:g,left:g,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},g=_mobile?{position:"absolute",visibility:"hidden"}:p?d:{position:"absolute",opacity:0},l="checkbox"==c[_type]?e.checkboxClass||"icheckbox":e.radioClass||"i"+r,z=f(_label+'[for="'+b+'"]').add(a.closest(_label)),u=!!e.aria,y=m+"-"+Math.random().toString(36).substr(2,6),h='<div class="'+l+'" '+(u?'role="'+c[_type]+'" ':"");u&&z.each(function(){h+=
|
||||
'aria-labelledby="';this.id?h+=this.id:(this.id=y,h+=y);h+='"'});h=a.wrap(h+"/>")[_callback]("ifCreated").parent().append(e.insert);d=f('<ins class="'+C+'"/>').css(d).appendTo(h);a.data(m,{o:e,s:a.attr("style")}).css(g);e.inheritClass&&h[_add](c.className||"");e.inheritID&&b&&h.attr("id",m+"-"+b);"static"==h.css("position")&&h.css("position","relative");A(a,!0,_update);if(z.length)z.on(_click+".i mouseover.i mouseout.i "+_touch,function(b){var d=b[_type],e=f(this);if(!c[n]){if(d==_click){if(f(b.target).is("a"))return;
|
||||
A(a,!1,!0)}else B&&(/ut|nd/.test(d)?(h[_remove](v),e[_remove](w)):(h[_add](v),e[_add](w)));if(_mobile)b.stopPropagation();else return!1}});a.on(_click+".i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[_type];b=b.keyCode;if(d==_click)return!1;if("keydown"==d&&32==b)return c[_type]==r&&c[k]||(c[k]?q(a,k):x(a,k)),!1;if("keyup"==d&&c[_type]==r)!c[k]&&x(a,k);else if(/us|ur/.test(d))h["blur"==d?_remove:_add](s)});d.on(_click+" mousedown mouseup mouseover mouseout "+_touch,function(b){var d=
|
||||
b[_type],e=/wn|up/.test(d)?t:v;if(!c[n]){if(d==_click)A(a,!1,!0);else{if(/wn|er|in/.test(d))h[_add](e);else h[_remove](e+" "+t);if(z.length&&B&&e==v)z[/ut|nd/.test(d)?_remove:_add](w)}if(_mobile)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto);
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"message": "",
|
||||
"value": [
|
||||
{
|
||||
"userName": "淳芸",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20001
|
||||
}, {
|
||||
"userName": "orion-01",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20000
|
||||
}, {
|
||||
"userName": "穆晓晨",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20002
|
||||
}, {
|
||||
"userName": "张欢引",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20003
|
||||
}, {
|
||||
"userName": "吴琼",
|
||||
"shortAccount": "wuqiong",
|
||||
"userId": 20004
|
||||
}, {
|
||||
"userName": "吴东鹏",
|
||||
"shortAccount": "wudongpeng",
|
||||
"userId": 20005
|
||||
}, {
|
||||
"userName": "黄少铅",
|
||||
"shortAccount": "huangshaoqian",
|
||||
"userId": 20006
|
||||
}, {
|
||||
"userName": "胡运燕",
|
||||
"shortAccount": "yunyan",
|
||||
"userId": 20007
|
||||
}, {
|
||||
"userName": "刘幸",
|
||||
"shortAccount": "liuxing",
|
||||
"userId": 20008
|
||||
}, {
|
||||
"userName": "陈媛媛",
|
||||
"shortAccount": "chenyuanyuan",
|
||||
"userId": 20009
|
||||
}, {
|
||||
"userName": "旷东林",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20010
|
||||
}, {
|
||||
"userName": "唐宏禹",
|
||||
"shortAccount": "chunyun",
|
||||
"userId": 20011
|
||||
}, {
|
||||
"userName": "旷东林",
|
||||
"shortAccount": "kuangdonglin",
|
||||
"userId": 20010
|
||||
}, {
|
||||
"userName": "唐宏禹",
|
||||
"shortAccount": "tanghongyu",
|
||||
"userId": 20011
|
||||
}
|
||||
],
|
||||
"code": 200,
|
||||
"redirect": ""
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
"name": "iCheck",
|
||||
"version": "1.0.2",
|
||||
"description": "Highly customizable checkboxes and radio buttons (jQuery & Zepto)",
|
||||
"keywords": [
|
||||
"icheck",
|
||||
"checkbox",
|
||||
"radio",
|
||||
"input",
|
||||
"field",
|
||||
"form",
|
||||
"custom",
|
||||
"replacement",
|
||||
"accessibility",
|
||||
"skins",
|
||||
"ui",
|
||||
"checked",
|
||||
"disabled",
|
||||
"indeterminate"
|
||||
],
|
||||
"main": [
|
||||
"./icheck.min.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.7"
|
||||
},
|
||||
"ignore": [
|
||||
".gitignore",
|
||||
"CHANGELOG.md",
|
||||
"README.md",
|
||||
"demo/"
|
||||
],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Damir Sultanov",
|
||||
"email": "info@fronteed.com",
|
||||
"homepage": "http://fronteed.com/"
|
||||
}
|
||||
],
|
||||
"homepage": "http://fronteed.com/iCheck/"
|
||||
}
|
Before Width: | Height: | Size: 24 KiB |