2022年9月20日火曜日

gession 回覧の返信可能に

 以前から思っていたのですが、グループセッションの回覧機能に返信機能があるといいなと考え、Jqueryなど使い実装してみた。けっこう時間はかかったが、なんとか完成した。コンパイルせず、JSPだけでなんとかできた。

 ただし、ユーザーIDの扱い方がよくわからず、全角の氏名を使ってデータを扱うことにした。簡易的な方法なので、同じ職場にまったく同じ漢字の氏名の人がいると使えません。なんらかの形で文字を微妙に調整するとかする必要があります。

 でも、よく考えたら、同一漢字のままでグループウエアを運用することはないでしょう、おそらく運用上は部署名をつけるとかすると思うので、あまり関係ないかもしれませんが。


cir020.jsp
以下抜粋です。HTMLタグに必要なID属性なども追加必要です
<!-- 追加2022.9.19 -->
  <html:form styleId="cir010Form" action="/circular/cir010">
    <input type="hidden" name="CMD" value="search">
    <input type="hidden" name="reply_name" id="reply_name" value="">
    <input type="hidden" name="reply_title" id="reply_title" value="">
    <input type="hidden" name="reply_naiyo" id="reply_naiyo" value="">
  </html:form>

<!-- 追加2022.9.19 -->
<script>
$(document).ready( function(){
     setTimeout(function(){ 
          document.getElementById( "reply_name" ).value=document.getElementById( "hassin_name" ).textContent; 
           document.getElementById( "reply_title" ).value=document.getElementById( "reply_title_src" ).textContent;
           document.getElementById( "reply_naiyo" ).value=document.getElementById( "reply_naiyo_src" ).textContent;   
     },100);
    });
</script>
cir040.jsp
<%
String reply_title = "RE:"+request.getParameter("reply_title");
String reply_naiyo = "\n*********************Original Message*****************"+request.getParameter("reply_naiyo");
%>
<span id="reply_name2">
<%=request.getParameter("reply_name")%>
</span>


<!-- 追加2022.9.20 -->
<script>
$(document).ready( function(){
 
    setTimeout(function(){     
        var functinBtnName = $(".cir_send_sel_btn").attr('id');
        var paramStr = "CMD=getInitData";
        paramStr += getNowSelUsr();
        getSelAtesakiData(paramStr, functinBtnName, 0);             
    },100);    
        
    setTimeout(function(){     
        /* テンプレートポップアップ */
        $('#atesakiSelPop').dialog({
            autoOpen: false,  // hide dialog
            bgiframe: false,   // for IE6
            resizable: false,
            height: 0,
            width: 0,
            modal: true,
            overlay: {
              backgroundColor: '#000000',
              opacity: 0.0
            },
            buttons: {
              閉じる: function() {
                  $(this).dialog('close');
              }
            }
        });       
    },100);


    setTimeout(function(){     
      const list = document.getElementById('cmn120SelectLeftUser')
       const options = list.options
       Array.from(options).forEach(function(option) {
            if (option.label.trim() == $('#reply_name2').text().trim() ){
          option.selected=true         
           }

      }); 
       },300);
    
    setTimeout(function(){    
       var paramStr = "CMD=addUserData&";
           paramStr += getFormData($('#atesakiSelForm'));
           getSelAtesakiData(paramStr, $('#funcBtnName').val(), $('#funcBtnKbn').val());    
       },400);
    
    setTimeout(function(){     
    drawPopUsr();
    },500);
     
   });
</script>





0 件のコメント:

コメントを投稿