顯示具有 TreeView 標籤的文章。 顯示所有文章
顯示具有 TreeView 標籤的文章。 顯示所有文章

2023年11月19日 星期日

V80E01 - TreeView挑選人員 - 利用Get_pickTree_btn0

 目的: V80E01 - TreeView挑選人員 - 利用Get_pickTree_btn0

 處理說明: 1> 利用  Get_pickTree_btn0  - 產生 TreeView挑選人員 Button
                   2>var cmp_pick_EMPLYID 
           = get_pickTree_btn0('挑選員工編號', 's_btn_EMPLYID', 's_EMPLYID', 's_EMPLYID_');
              //get_pickTree_btn0(挑選視窗標題,按鈕id,傳回員工編號欄位(s_EMPLYID),
                                                                                          傳回員工姓名欄位(s_EMPLYID_),  )


1>*.js

 // panel11  
    var cmp_EMPLYID = get_cmp_txt1('員工編號', 's_EMPLYID', 80, 100);
    var cmp_EMPLYID_ = get_cmp_cal0('s_EMPLYID_', 100);
    //取得 TreeView 人員挑選
    var cmp_pick_EMPLYID = get_pickTree_btn0('挑選員工編號', 's_btn_EMPLYID',                                                                                                's_EMPLYID', 's_EMPLYID_');
    cmp_EMPLYID.items.push(cmp_EMPLYID_,cmp_pick_EMPLYID);


    //篩選條件畫面
    var Query = new Ext.FormPanel({
        id: 's_form',
        layout: { type: 'hbox', align: 'stretch' },
        fieldDefaults: { labelAlign: 'right' },
        defaults: { margin: { top: 3 } },
        items: [
            {
                xtype: 'panel', id: 'panel1', layout: { type: 'hbox', align: 'stretch' }, flex: 14, border: 0,
                items: [
                    {
                 xtype: 'panel', id: 'panel11', layout: { type: 'vbox', align: 'stretch' }, flex: 25, border: 0,
                        items: [cmp_EMPLYID,],
                    },  // end of panel11
                    {
                        xtype: 'panel', id: 'panel12', layout: { type: 'vbox', align: 'stretch' }, flex: 30, border: 0,
                        items: [],
                    },   // end of panel12 , flex:16                                        
                ]
            },  // end of panel1            

2023年5月12日 星期五

V20302A - 取得 TreePanel 所選的 nodes資料 , node.raw

 目的:V20302A - 取得 TreePanel 所選的 nodes資料

處理說明: 1>treepanel的 node 屬性  {id:611292 , leaf: true, text :"611292:蔡聰進"}
                  2>treepanel的 選擇 nodes , 
                      var nodes=treepanel.getSelectionModel().getSelection();
                      var node=nodes[0];
                      node.raw.id
                      node.raw.text
                      node.raw.leaf



1>*.js
   1>>[右移]鈕
         var nodes = treepanel.getSelectionModel().getSelection();
         var node = nodes[0];
         if (checkisnull(node))
              return;
         console.log("node:", node);
         console.log("node.raw:", node.raw);
         var Tmp_Emplyid, Tmp_EmplyNM, Tmp_Notes_EMAIL;
          if (node.raw.leaf) {
               Tmp_Emplyid = node.raw.id;
               Tmp_EmplyNM = StrExtract(node.raw.text, 2, ":");
               console.log("姓名:", Tmp_EmplyNM);
                var Tmp_Email = getEmp_Email(Tmp_Emplyid);
                console.log("Email:", Tmp_Email);
                var Tmp_rec = { EMPLYNM: Tmp_EmplyNM, NOTES_MAIL: Tmp_Email };
                Ext.getCmp("sub_Grid1").store.add(Tmp_rec);
         }

2>>[左移]鈕:
      var nodes = Ext.getCmp("sub_Grid1").getSelectionModel().getSelection();                                               
                                                if (nodes.length == 0) {                                                    
                                                        mywarnalert("請先選擇要左移的資料");                                                        
                                                    return;
                                                }
                                                var node = nodes[0];                                                
                                                Ext.getCmp("sub_Grid1").store.remove(node);

2023年5月9日 星期二

V20302A - TreeView挑選Email人員, Scrollbar 無法動作

目的: V20302A - TreeView挑選Email人員, Scrollbar 無法動作 

處理說明: 1>上層Panel必須設定 ScrollBar: true
           2>  width: 400, height: 300 必需設定數值,才會有ScrollBar
                3> TreePanel.layout 不可設為 fit, 設為 vbox
                    { // TreeView
                            xtype: "panel", flex: 4, layout: { type: 'vbox', align: 'stretch' },                            
                            autoScroll: true, items: [treepanel1]
                        },  //TreeView



2022年8月28日 星期日

V120403 - TreeView 挑選員工 - getEmpTree 新方法

1>目的以 TreeView 方式挑選員工  - getEmpTree 新方法

    處理說明: 1>呼叫  getEmpTree
                           Ext.Loader.loadScript({ url: '../GUITemplate/EmployeeTree.js' });
                      2>{xtype: "button", id: "btn_MTEMPLYID", name: "btn_MTEMPLYID", text: "...",
handler: function () {
var win_tree = GetEmpTree('維修人員挑選', 'MTEMPLYID', 'MTEMPLYID_');
win_tree.show();
                                }
                              }






2>目的: 以 TreeView 方式挑選員工  - 原始方法 TreePanel

    處理說明: 1>//載入  [員工編號]  TreeView 挑選 source 

  Ext.Loader.setConfig({enabled: true,paths: { 'EmployeeTree': '../GUITemplate/EmployeeTree.js' } });

                   2>Create TreeView 物件,   Ext.create('EmployeeTree',
                        --> 不可加 id, 因為同一畫面可能多個人員挑選, 有多個同一id, 會 Error




1>*.js
//載入  [員工編號]  TreeView 挑選 source
Ext.Loader.setConfig({ enabled: true, paths: { 'EmployeeTree': '../GUITemplate/EmployeeTree.js' } });


//path : The mapping from namespaces to file paths { 'Ext': '.', // This is set by default,      Ext.layout.container.Containe...
:
{
xtype: "button", id: "s_btn_EMPLYID", name: "s_btn_EMPLYID", text: "...",
handler: function () {
                 var treepanel = Ext.create('EmployeeTree', {   
   listeners: {
itemclick: function (view, record, item, index, e) {
if (record.raw.leaf) {
var info = record.raw.text;
var newStr = info.split(":");
Ext.getCmp('CUSTODIAN').setValue(newStr[0]);
Ext.getCmp('CUSTODIAN_').setValue(newStr[1]);
win_tree.close();
}
}
}// end of listeners ); //end of treepanel
                                                        var win_tree = getWindow('保管人員挑選', treepanel);
win_tree.height = 400;
win_tree.show();
                                                     } // end of handler } // end of button ] // end of items[] },

-->
win_tree=getWindow() 的 Window.closeAction: 'hide' , 不會自動 destroy() , 需自行 destroy
Window.[關閉]鈕 , 會執行 win_tree.destroy()