V1.3版本,阶段A:GLUE模式开关
This commit is contained in:
parent
e6c239eca0
commit
5c1bba3364
|
@ -1,7 +1,3 @@
|
||||||
# DROP TABLE IF EXISTS XXL_JOB_QRTZ_FIRED_TRIGGERS;
|
|
||||||
# DROP TABLE IF EXISTS XXL_JOB_QRTZ_PAUSED_TRIGGER_GRPS;
|
|
||||||
# DROP TABLE IF EXISTS XXL_JOB_QRTZ_SCHEDULER_STATE;
|
|
||||||
# DROP TABLE IF EXISTS XXL_JOB_QRTZ_LOCKS;
|
|
||||||
|
|
||||||
CREATE TABLE XXL_JOB_QRTZ_JOB_DETAILS
|
CREATE TABLE XXL_JOB_QRTZ_JOB_DETAILS
|
||||||
(
|
(
|
||||||
|
@ -160,6 +156,9 @@ CREATE TABLE `xxl_job_qrtz_trigger_info` (
|
||||||
`author` varchar(64) DEFAULT NULL COMMENT '作者',
|
`author` varchar(64) DEFAULT NULL COMMENT '作者',
|
||||||
`alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
|
`alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
|
||||||
`alarm_threshold` int(11) DEFAULT NULL COMMENT '报警阀值(连续失败次数)',
|
`alarm_threshold` int(11) DEFAULT NULL COMMENT '报警阀值(连续失败次数)',
|
||||||
|
`glue_switch` int(11) DEFAULT '0' COMMENT 'GLUE模式开关:0-否,1-是',
|
||||||
|
`glue_source` text COMMENT 'GLUE源代码',
|
||||||
|
`glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -180,5 +179,17 @@ CREATE TABLE `xxl_job_qrtz_trigger_log` (
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `xxl_job_qrtz_trigger_logglue` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`job_group` varchar(255) NOT NULL,
|
||||||
|
`job_name` varchar(255) NOT NULL,
|
||||||
|
`glue_source` text,
|
||||||
|
`glue_remark` varchar(128) NOT NULL,
|
||||||
|
`add_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ;
|
||||||
|
|
||||||
|
|
||||||
commit;
|
commit;
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ public class JobInfoController {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public ReturnT<String> add(String jobGroup, String jobName, String jobCron, String jobDesc,
|
public ReturnT<String> add(String jobGroup, String jobName, String jobCron, String jobDesc,
|
||||||
String handler_address, String handler_name, String handler_params,
|
String handler_address, String handler_name, String handler_params,
|
||||||
String author, String alarmEmail, int alarmThreshold) {
|
String author, String alarmEmail, int alarmThreshold, int glueSwitch) {
|
||||||
|
|
||||||
// valid
|
// valid
|
||||||
if (JobGroupEnum.match(jobGroup) == null) {
|
if (JobGroupEnum.match(jobGroup) == null) {
|
||||||
|
@ -88,7 +88,7 @@ public class JobInfoController {
|
||||||
if (StringUtils.isBlank(handler_address)) {
|
if (StringUtils.isBlank(handler_address)) {
|
||||||
return new ReturnT<String>(500, "请输入“机器地址”");
|
return new ReturnT<String>(500, "请输入“机器地址”");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(handler_name)) {
|
if (glueSwitch==0 && StringUtils.isBlank(handler_name)) {
|
||||||
return new ReturnT<String>(500, "请输入“执行器”");
|
return new ReturnT<String>(500, "请输入“执行器”");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(author)) {
|
if (StringUtils.isBlank(author)) {
|
||||||
|
@ -127,6 +127,9 @@ public class JobInfoController {
|
||||||
jobInfo.setAuthor(author);
|
jobInfo.setAuthor(author);
|
||||||
jobInfo.setAlarmEmail(alarmEmail);
|
jobInfo.setAlarmEmail(alarmEmail);
|
||||||
jobInfo.setAlarmThreshold(alarmThreshold);
|
jobInfo.setAlarmThreshold(alarmThreshold);
|
||||||
|
jobInfo.setGlueSwitch(glueSwitch);
|
||||||
|
jobInfo.setGlueSource(null);
|
||||||
|
jobInfo.setGlueRemark(null);
|
||||||
xxlJobInfoDao.save(jobInfo);
|
xxlJobInfoDao.save(jobInfo);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -148,7 +151,7 @@ public class JobInfoController {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public ReturnT<String> reschedule(String jobGroup, String jobName, String jobCron, String jobDesc,
|
public ReturnT<String> reschedule(String jobGroup, String jobName, String jobCron, String jobDesc,
|
||||||
String handler_address, String handler_name, String handler_params,
|
String handler_address, String handler_name, String handler_params,
|
||||||
String author, String alarmEmail, int alarmThreshold) {
|
String author, String alarmEmail, int alarmThreshold, int glueSwitch) {
|
||||||
|
|
||||||
// valid
|
// valid
|
||||||
if (JobGroupEnum.match(jobGroup) == null) {
|
if (JobGroupEnum.match(jobGroup) == null) {
|
||||||
|
@ -166,7 +169,7 @@ public class JobInfoController {
|
||||||
if (StringUtils.isBlank(handler_address)) {
|
if (StringUtils.isBlank(handler_address)) {
|
||||||
return new ReturnT<String>(500, "请输入“机器地址”");
|
return new ReturnT<String>(500, "请输入“机器地址”");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(handler_name)) {
|
if (glueSwitch==0 && StringUtils.isBlank(handler_name)) {
|
||||||
return new ReturnT<String>(500, "请输入“执行器”");
|
return new ReturnT<String>(500, "请输入“执行器”");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(author)) {
|
if (StringUtils.isBlank(author)) {
|
||||||
|
@ -192,6 +195,7 @@ public class JobInfoController {
|
||||||
jobInfo.setAuthor(author);
|
jobInfo.setAuthor(author);
|
||||||
jobInfo.setAlarmEmail(alarmEmail);
|
jobInfo.setAlarmEmail(alarmEmail);
|
||||||
jobInfo.setAlarmThreshold(alarmThreshold);
|
jobInfo.setAlarmThreshold(alarmThreshold);
|
||||||
|
jobInfo.setGlueSwitch(glueSwitch);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// fresh quartz
|
// fresh quartz
|
||||||
|
|
|
@ -24,6 +24,10 @@ public class XxlJobInfo {
|
||||||
private String alarmEmail; // 报警邮件
|
private String alarmEmail; // 报警邮件
|
||||||
private int alarmThreshold; // 报警阀值
|
private int alarmThreshold; // 报警阀值
|
||||||
|
|
||||||
|
private int glueSwitch; // GLUE模式开关:0-否,1-是
|
||||||
|
private String glueSource; // GLUE源代码
|
||||||
|
private String glueRemark; // GLUE备注
|
||||||
|
|
||||||
// copy from quartz
|
// copy from quartz
|
||||||
private String jobStatus; // 任务状态 【base on quartz】
|
private String jobStatus; // 任务状态 【base on quartz】
|
||||||
|
|
||||||
|
@ -131,12 +135,37 @@ public class XxlJobInfo {
|
||||||
this.jobStatus = jobStatus;
|
this.jobStatus = jobStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getGlueSwitch() {
|
||||||
|
return glueSwitch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGlueSwitch(int glueSwitch) {
|
||||||
|
this.glueSwitch = glueSwitch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGlueSource() {
|
||||||
|
return glueSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGlueSource(String glueSource) {
|
||||||
|
this.glueSource = glueSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGlueRemark() {
|
||||||
|
return glueRemark;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGlueRemark(String glueRemark) {
|
||||||
|
this.glueRemark = glueRemark;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "XxlJobInfo [id=" + id + ", jobGroup=" + jobGroup + ", jobName=" + jobName + ", jobCron=" + jobCron
|
return "XxlJobInfo [id=" + id + ", jobGroup=" + jobGroup + ", jobName=" + jobName + ", jobCron=" + jobCron
|
||||||
+ ", jobDesc=" + jobDesc + ", jobClass=" + jobClass + ", jobData=" + jobData + ", addTime=" + addTime
|
+ ", jobDesc=" + jobDesc + ", jobClass=" + jobClass + ", jobData=" + jobData + ", addTime=" + addTime
|
||||||
+ ", updateTime=" + updateTime + ", author=" + author + ", alarmEmail=" + alarmEmail
|
+ ", updateTime=" + updateTime + ", author=" + author + ", alarmEmail=" + alarmEmail
|
||||||
+ ", alarmThreshold=" + alarmThreshold + ", jobStatus=" + jobStatus + "]";
|
+ ", alarmThreshold=" + alarmThreshold + ", glueSwitch=" + glueSwitch + ", glueSource=" + glueSource
|
||||||
|
+ ", glueRemark=" + glueRemark + ", jobStatus=" + jobStatus + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
<result column="author" property="author" />
|
<result column="author" property="author" />
|
||||||
<result column="alarm_email" property="alarmEmail" />
|
<result column="alarm_email" property="alarmEmail" />
|
||||||
<result column="alarm_threshold" property="alarmThreshold" />
|
<result column="alarm_threshold" property="alarmThreshold" />
|
||||||
|
|
||||||
|
<result column="glue_switch" property="glueSwitch" />
|
||||||
|
<result column="glue_source" property="glueSource" />
|
||||||
|
<result column="glue_remark" property="glueRemark" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
|
@ -33,7 +37,10 @@
|
||||||
t.update_time,
|
t.update_time,
|
||||||
t.author,
|
t.author,
|
||||||
t.alarm_email,
|
t.alarm_email,
|
||||||
t.alarm_threshold
|
t.alarm_threshold,
|
||||||
|
t.glue_switch,
|
||||||
|
t.glue_source,
|
||||||
|
t.glue_remark
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
|
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
|
||||||
|
@ -76,7 +83,10 @@
|
||||||
update_time,
|
update_time,
|
||||||
author,
|
author,
|
||||||
alarm_email,
|
alarm_email,
|
||||||
alarm_threshold
|
alarm_threshold,
|
||||||
|
glue_switch,
|
||||||
|
glue_source,
|
||||||
|
glue_remark
|
||||||
) VALUES (
|
) VALUES (
|
||||||
#{jobGroup},
|
#{jobGroup},
|
||||||
#{jobName},
|
#{jobName},
|
||||||
|
@ -88,7 +98,10 @@
|
||||||
NOW(),
|
NOW(),
|
||||||
#{author},
|
#{author},
|
||||||
#{alarmEmail},
|
#{alarmEmail},
|
||||||
#{alarmThreshold}
|
#{alarmThreshold},
|
||||||
|
#{glueSwitch},
|
||||||
|
#{glueSource},
|
||||||
|
#{glueRemark}
|
||||||
);
|
);
|
||||||
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
|
@ -111,7 +124,10 @@
|
||||||
update_time = NOW(),
|
update_time = NOW(),
|
||||||
author = #{author},
|
author = #{author},
|
||||||
alarm_email = #{alarmEmail},
|
alarm_email = #{alarmEmail},
|
||||||
alarm_threshold = #{alarmThreshold}
|
alarm_threshold = #{alarmThreshold},
|
||||||
|
glue_switch = #{glueSwitch},
|
||||||
|
glue_source = #{glueSource},
|
||||||
|
glue_remark = #{glueRemark}
|
||||||
WHERE job_group = #{jobGroup}
|
WHERE job_group = #{jobGroup}
|
||||||
AND job_name = #{jobName}
|
AND job_name = #{jobName}
|
||||||
</update>
|
</update>
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
<th name="author" >负责人</th>
|
<th name="author" >负责人</th>
|
||||||
<th name="alarmEmail" >报警邮件</th>
|
<th name="alarmEmail" >报警邮件</th>
|
||||||
<th name="alarmThreshold" >报警阀值</th>
|
<th name="alarmThreshold" >报警阀值</th>
|
||||||
|
<th name="glueSwitch" >GLUE模式</th>
|
||||||
<th name="jobStatus" >状态</th>
|
<th name="jobStatus" >状态</th>
|
||||||
<th>操作</th>
|
<th>操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -142,10 +143,16 @@
|
||||||
<div class="col-sm-4"><input type="text" class="form-control" name="alarmThreshold" placeholder="请输入“报警阈值”" maxlength="200" ></div>
|
<div class="col-sm-4"><input type="text" class="form-control" name="alarmThreshold" placeholder="请输入“报警阈值”" maxlength="200" ></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-3 col-sm-9">
|
<div class="col-sm-offset-3 col-sm-6">
|
||||||
<button type="submit" class="btn btn-primary" >保存</button>
|
<button type="submit" class="btn btn-primary" >保存</button>
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="checkbox">
|
||||||
|
<label><input type="checkbox" class="ifGLUE" >开启GLUE模式<font color="black">*</font></label>
|
||||||
|
<input type="hidden" name="glueSwitch" value="0" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -194,10 +201,16 @@
|
||||||
<div class="col-sm-4"><input type="text" class="form-control" name="alarmThreshold" placeholder="请输入“报警阈值”" maxlength="200" ></div>
|
<div class="col-sm-4"><input type="text" class="form-control" name="alarmThreshold" placeholder="请输入“报警阈值”" maxlength="200" ></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-3 col-sm-9">
|
<div class="col-sm-offset-3 col-sm-6">
|
||||||
<button type="submit" class="btn btn-primary" >保存</button>
|
<button type="submit" class="btn btn-primary" >保存</button>
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="checkbox">
|
||||||
|
<label><input type="checkbox" class="ifGLUE" >开启GLUE模式<font color="black">*</font></label>
|
||||||
|
<input type="hidden" name="glueSwitch" value="0" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,10 +8,11 @@ $(function() {
|
||||||
});
|
});
|
||||||
codeEditor.setValue( $("#demoCode").val() );
|
codeEditor.setValue( $("#demoCode").val() );
|
||||||
|
|
||||||
|
// editor height
|
||||||
var height = Math.max(document.documentElement.clientHeight, document.body.offsetHeight);
|
var height = Math.max(document.documentElement.clientHeight, document.body.offsetHeight);
|
||||||
$(".CodeMirror").attr('style', 'height:'+ height +'px');
|
$(".CodeMirror").attr('style', 'height:'+ height +'px');
|
||||||
|
|
||||||
|
// code source save
|
||||||
$("#save").click(function() {
|
$("#save").click(function() {
|
||||||
var codeSource = codeEditor.getValue();
|
var codeSource = codeEditor.getValue();
|
||||||
var codeRemark = $("#codeRemark").val();
|
var codeRemark = $("#codeRemark").val();
|
||||||
|
|
|
@ -61,6 +61,7 @@ $(function() {
|
||||||
{ "data": 'author', "visible" : true},
|
{ "data": 'author', "visible" : true},
|
||||||
{ "data": 'alarmEmail', "visible" : false},
|
{ "data": 'alarmEmail', "visible" : false},
|
||||||
{ "data": 'alarmThreshold', "visible" : false},
|
{ "data": 'alarmThreshold', "visible" : false},
|
||||||
|
{ "data": 'glueSwitch', "visible" : false},
|
||||||
{
|
{
|
||||||
"data": 'jobStatus',
|
"data": 'jobStatus',
|
||||||
"visible" : true,
|
"visible" : true,
|
||||||
|
@ -87,8 +88,13 @@ $(function() {
|
||||||
}
|
}
|
||||||
// log url
|
// log url
|
||||||
var logUrl = base_url +'/joblog?jobGroup='+ row.jobGroup +'&jobName='+ row.jobName;
|
var logUrl = base_url +'/joblog?jobGroup='+ row.jobGroup +'&jobName='+ row.jobName;
|
||||||
|
|
||||||
// log url
|
// log url
|
||||||
var codeUrl = base_url +'/jobcode?id='+ row.id;
|
var codeHtml = "";
|
||||||
|
if(row.glueSwitch != 0){
|
||||||
|
var codeUrl = base_url +'/jobcode?id='+ row.id;
|
||||||
|
codeHtml = '<button class="btn btn-warning btn-xs" type="button" onclick="javascript:window.open(\'' + codeUrl + '\')" >GLUE</button> '
|
||||||
|
}
|
||||||
|
|
||||||
// job data
|
// job data
|
||||||
var jobDataMap = eval('(' + row.jobData + ')');
|
var jobDataMap = eval('(' + row.jobData + ')');
|
||||||
|
@ -100,18 +106,19 @@ $(function() {
|
||||||
' jobDesc="'+ row.jobDesc +'" '+
|
' jobDesc="'+ row.jobDesc +'" '+
|
||||||
' jobClass="'+ row.jobClass +'" '+
|
' jobClass="'+ row.jobClass +'" '+
|
||||||
' jobData="'+ row.jobData +'" '+
|
' jobData="'+ row.jobData +'" '+
|
||||||
' author="'+ row.author +'" '+
|
|
||||||
' alarmEmail="'+ row.alarmEmail +'" '+
|
|
||||||
' alarmThreshold="'+ row.alarmThreshold +'" '+
|
|
||||||
' handler_params="'+jobDataMap.handler_params +'" '+
|
' handler_params="'+jobDataMap.handler_params +'" '+
|
||||||
' handler_address="'+ jobDataMap.handler_address +'" '+
|
' handler_address="'+ jobDataMap.handler_address +'" '+
|
||||||
' handler_name="'+ jobDataMap.handler_name +'" '+
|
' handler_name="'+ jobDataMap.handler_name +'" '+
|
||||||
|
' author="'+ row.author +'" '+
|
||||||
|
' alarmEmail="'+ row.alarmEmail +'" '+
|
||||||
|
' alarmThreshold="'+ row.alarmThreshold +'" '+
|
||||||
|
' glueSwitch="'+ row.glueSwitch +'" '+
|
||||||
'>'+
|
'>'+
|
||||||
'<button class="btn btn-primary btn-xs job_operate" type="job_trigger" type="button">执行</button> '+
|
'<button class="btn btn-primary btn-xs job_operate" type="job_trigger" type="button">执行</button> '+
|
||||||
pause_resume +
|
pause_resume +
|
||||||
'<button class="btn btn-primary btn-xs" type="job_del" type="button" onclick="javascript:window.open(\'' + logUrl + '\')" >日志</button><br> '+
|
'<button class="btn btn-primary btn-xs" type="job_del" type="button" onclick="javascript:window.open(\'' + logUrl + '\')" >日志</button><br> '+
|
||||||
'<button class="btn btn-warning btn-xs update" type="button">编辑</button> '+
|
'<button class="btn btn-warning btn-xs update" type="button">编辑</button> '+
|
||||||
'<button class="btn btn-warning btn-xs" type="button" onclick="javascript:window.open(\'' + codeUrl + '\')" >GLUE</button> '+
|
codeHtml +
|
||||||
'<button class="btn btn-danger btn-xs job_operate" type="job_del" type="button">删除</button> '+
|
'<button class="btn btn-danger btn-xs job_operate" type="job_del" type="button">删除</button> '+
|
||||||
'</p>';
|
'</p>';
|
||||||
|
|
||||||
|
@ -318,6 +325,34 @@ $(function() {
|
||||||
$(".remote_panel").show(); // remote
|
$(".remote_panel").show(); // remote
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// GLUE模式开启
|
||||||
|
$("#addModal .form .ifGLUE").click(function(){
|
||||||
|
var ifGLUE = $(this).is(':checked');
|
||||||
|
var $handler_name = $("#addModal .form input[name='handler_name']");
|
||||||
|
var $glueSwitch = $("#addModal .form input[name='glueSwitch']");
|
||||||
|
if (ifGLUE) {
|
||||||
|
$handler_name.val("");
|
||||||
|
$handler_name.attr("readonly","readonly");
|
||||||
|
$glueSwitch.val(1);
|
||||||
|
} else {
|
||||||
|
$handler_name.removeAttr("readonly");
|
||||||
|
$glueSwitch.val(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#updateModal .form .ifGLUE").click(function(){
|
||||||
|
var ifGLUE = $(this).is(':checked');
|
||||||
|
var $handler_name = $("#updateModal .form input[name='handler_name']");
|
||||||
|
var $glueSwitch = $("#updateModal .form input[name='glueSwitch']");
|
||||||
|
if (ifGLUE) {
|
||||||
|
$handler_name.val("");
|
||||||
|
$handler_name.attr("readonly","readonly");
|
||||||
|
$glueSwitch.val(1);
|
||||||
|
} else {
|
||||||
|
$handler_name.removeAttr("readonly");
|
||||||
|
$glueSwitch.val(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// 更新
|
// 更新
|
||||||
$("#job_list").on('click', '.update',function() {
|
$("#job_list").on('click', '.update',function() {
|
||||||
$("#updateModal .form input[name='jobGroup']").val($(this).parent('p').attr("jobGroup"));
|
$("#updateModal .form input[name='jobGroup']").val($(this).parent('p').attr("jobGroup"));
|
||||||
|
@ -330,6 +365,18 @@ $(function() {
|
||||||
$("#updateModal .form input[name='author']").val($(this).parent('p').attr("author"));
|
$("#updateModal .form input[name='author']").val($(this).parent('p').attr("author"));
|
||||||
$("#updateModal .form input[name='alarmEmail']").val($(this).parent('p').attr("alarmEmail"));
|
$("#updateModal .form input[name='alarmEmail']").val($(this).parent('p').attr("alarmEmail"));
|
||||||
$("#updateModal .form input[name='alarmThreshold']").val($(this).parent('p').attr("alarmThreshold"));
|
$("#updateModal .form input[name='alarmThreshold']").val($(this).parent('p').attr("alarmThreshold"));
|
||||||
|
$("#updateModal .form input[name='glueSwitch']").val($(this).parent('p').attr("glueSwitch"));
|
||||||
|
|
||||||
|
// GLUE check
|
||||||
|
var $glueSwitch = $("#updateModal .form input[name='glueSwitch']");
|
||||||
|
var $handler_name = $("#updateModal .form input[name='handler_name']");
|
||||||
|
if ($glueSwitch.val() != 0) {
|
||||||
|
$handler_name.attr("readonly","readonly");
|
||||||
|
$("#updateModal .form .ifGLUE").attr("checked", true);
|
||||||
|
} else {
|
||||||
|
$handler_name.removeAttr("readonly");
|
||||||
|
$("#updateModal .form .ifGLUE").attr("checked", false);
|
||||||
|
}
|
||||||
|
|
||||||
$('#updateModal').modal({backdrop: false, keyboard: false}).modal('show');
|
$('#updateModal').modal({backdrop: false, keyboard: false}).modal('show');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue