diff --git a/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js b/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js
index b9ad2a8..6b99079 100644
--- a/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js
+++ b/hg-monitor-web-base/src/main/resources/static/src/controller/commonDetail.js
@@ -2414,7 +2414,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
                         templet: '<div><span data-biz-detail-status="{{ d.id }}" class="layui-table-link">告警消除</span></div>'
                     }
                 ]],
-                done: function () {
+                done: function (res) {
+                    let alarmData=res.data;
                     $( '[lay-id="' + tableId + '"] [data-warn-zbmc]').unbind('click').on('click', function () {
                         var name = $(this).data("name");
                         var params = {
@@ -2430,32 +2431,96 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
 
                     $('[lay-id="' + tableId + '"] [data-biz-detail-status]').click(function (e) {
                         var id = $(e.target).data('biz-detail-status');
-                        layer.prompt({id:"detail_clear_alarm_id", title: '告警消除', formType: 2}, function (text, index) {
-                            admin.req({
-                                url: common.domainName + '/api-web/home/alarm/clear'
-                                , type: "post"
-                                , data: {
-                                    ids: id.toString(),
-                                    reason: text,
-                                    access_token: obj.sessions.getToken().access_token,
-                                    noticeFlag: $('input[name="noticeFlag"]:checked').val()
-                                }
-                                , done: function (res) {
-                                    //如果消除成功,关闭弹出框然后重新加载页面
-                                    if (res.success) {
-                                        layer.close(index);
-                                        layer.msg('告警已消除!', {icon: 1, time: 2000});
-                                        alarmlist.reload()
-                                    } else {
-                                        layer.msg('告警消除失败,请与管理员联系!', {icon: 7, time: 3000});
+                        let alarmObj='';
+                        alarmData.map(item=>{
+                            if(item.id==id){
+                                alarmObj=item;
+                            }
+                        })
+                        //获取知识库开启状态 lsq 2022-04-15
+                        admin.req({
+                            url: common.domainName + '/api-user/sysConf/getByCode',
+                            type: "get",
+                            data: {
+                                code: 'knFlag'
+                            },
+                            done: function (data) {
+                                let knFlag = data.object.value;
+                                if (knFlag == '1') {
+                                    //开启闭环
+                                    // Start 将对象转成key=value&key1=value1 LSQ 2022/03/22
+                                    let urlParams = '';
+                                    let params = alarmObj;
+                                    for (let key in params) {
+                                        if (params[key] || params[key] == 0) {
+                                            let str = params[key];
+                                            if (typeof str == 'string') {
+                                                str = str.replace(/%/g, '%25');
+                                            }
+                                            urlParams += key + '=' + encodeURIComponent(str) + '&'
+                                        }
                                     }
+                                    urlParams = urlParams.substr(0, urlParams.length - 1) + '&alarmTypeCustom=active';
+                                    //判断告警是否已经存入消除草稿 lsq 2022-04-14
+                                    admin.req({
+                                        url: common.domainName + '/api-web/bAlarmManage/manageInto',
+                                        type: "get",
+                                        data: {
+                                            alarmId: params.id
+                                        },
+                                        done: function (data) {
+                                            if (data.data && data.data.length > 0) {
+                                                //已存入了草稿
+                                                layer.msg('告警消除已存入草稿中了!', {icon: 2, time: 2000});
+                                            } else {
+                                                layer.open({
+                                                    title: ['告警消除', 'font-size:18px;'],
+                                                    type: 2,
+                                                    area: ['80%', '90%'],
+                                                    shadeClose: true,//开启遮罩层
+                                                    id: 'alarms_clear_id',
+                                                    // content: laytpl(res.body).render(JSON.stringify(params)),
+                                                    content: ['/vue3/index.html#/alarmsClearEditor?' + urlParams, 'no'],
+                                                    cancel: function () {
+                                                        clearTimeout();
+                                                    }
+                                                });
+                                            }
+                                        }
+                                    })
+
+                                } else {
+                                    //不开启闭环
+                                    //获取以往告警消除意见
+                                    layer.prompt({id:"detail_clear_alarm_id", title: '告警消除', formType: 2}, function (text, index) {
+                                        admin.req({
+                                            url: common.domainName + '/api-web/home/alarm/clear'
+                                            , type: "post"
+                                            , data: {
+                                                ids: id.toString(),
+                                                reason: text,
+                                                access_token: obj.sessions.getToken().access_token,
+                                                noticeFlag: $('input[name="noticeFlag"]:checked').val()
+                                            }
+                                            , done: function (res) {
+                                                //如果消除成功,关闭弹出框然后重新加载页面
+                                                if (res.success) {
+                                                    layer.close(index);
+                                                    layer.msg('告警已消除!', {icon: 1, time: 2000});
+                                                    alarmlist.reload()
+                                                } else {
+                                                    layer.msg('告警消除失败,请与管理员联系!', {icon: 7, time: 3000});
+                                                }
+                                            }
+                                        });
+                                    });
+                                    $("#detail_clear_alarm_id").find('textarea.layui-layer-input').attr("placeholder","消除意见(必填)");
+                                    $("#detail_clear_alarm_id").append('<div style="padding-top: 15px;"><span>是否通知:</span> ' +
+                                        '<input type="radio" name="noticeFlag" value="true" title="是">&nbsp;是' +
+                                        '<input type="radio" name="noticeFlag" value="false" title="否" checked="" style="margin-left: 20px;">&nbsp;否</div> ');
                                 }
-                            });
-                        });
-                        $("#detail_clear_alarm_id").find('textarea.layui-layer-input').attr("placeholder","消除意见(必填)");
-                        $("#detail_clear_alarm_id").append('<div style="padding-top: 15px;"><span>是否通知:</span> ' +
-                            '<input type="radio" name="noticeFlag" value="true" title="是">&nbsp;是' +
-                            '<input type="radio" name="noticeFlag" value="false" title="否" checked="" style="margin-left: 20px;">&nbsp;否</div> ');
+                            }
+                        })
                     });
                 }
             });
diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.html b/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.html
index 824410c..aef3a2f 100644
--- a/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.html
+++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.html
@@ -137,9 +137,11 @@
                 v-model="opinion"
                 type="textarea"
                 :rows="5"
-                placeholder="此处输入审核意见"
+                maxLength="200"
+                show-word-limit
+                placeholder="此处输入审核意见(最大200个字符)"
         />
-        <div class="opinion-style" v-if="((status==2 || (status==3 && approverName==loginName) || (status==1 && handleInfoObj.managename==loginName)) && handleInfoObj.managename!=approverName) || (status==2 && handleInfoObj.managename==approverName)">
+        <div class="opinion-style" v-if="((status==2 || (status==3 && approverName==loginName) || (status==1 && handleInfoObj.managename==loginName)) && handleInfoObj.managename!=approverName) || (status==2 && handleInfoObj.managename==approverName) || status==3">
             {{opinion}}
         </div>
     </div>
diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.js b/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.js
index 449c619..9537fcc 100644
--- a/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.js
+++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/index.js
@@ -34,6 +34,7 @@ export default {
     },
     setup(props, {attrs, slots, emit}){
         const {proxy} = Vue.getCurrentInstance();
+
         let test=Vue.ref('');
         let isClear=Vue.ref(false);
         let detail=Vue.ref('');
@@ -48,7 +49,6 @@ export default {
         let loginName=Vue.ref('');
         let options=Vue.ref([{value:'001',name:'admin'},{value:'002',name:'root'}])
         let timer=Vue.ref(null);
-
         //富文本带标签内容
         let change=(val)=> {
             detail.value=val;
@@ -76,7 +76,7 @@ export default {
                 proxy.$global.showMsg("请输入审核意见", 'warning');
                 return;
             }
-            if((val==0 || val==1 ) && repositoryInto.value && !pcontent){
+            if((val==0 || val==1 ) && repositoryInto.value && (!pcontent || !detailText.value)){
                 proxy.$global.showMsg("请输入处理方案", 'warning');
                 return;
             }
@@ -110,7 +110,7 @@ export default {
                     alarmType:alarmInfo.value.alarmTypeCustom,//告警类型,active活动告警,his历史告警
                     managetime:dateTime.value,
                     managename:loginName.value,
-                    alarmHisId:alarmInfo.value.alarmTypeCustom=='active' || props.status==0?'':alarmInfo.value.primaryKey,
+                    alarmHisId:alarmInfo.value.alarmTypeCustom=='active' || props.status==0?handleInfoObj.value.alarmHisId:alarmInfo.value.primaryKey,
                 }
                 if(repositoryId.value){
                     params.repositoryId=repositoryId.value;//引用知识库id