2023年1月16日 星期一

V80209 – checkboxGroup -按[v]全部,則其他checkbox均Disabled,且為清為[ ]

目的: V80209 checkboxGroup  -[V]全部

1>按[v]全部,則其他checkbox均Disabled,且為清為[ ] 
2>按[ ]全部,則允許其他checkbox均Enabled,且為清為[ ] -






1>*.js

{
                        xtype: 'panel',
                        id: 'panel16',
                        layout: { type: 'vbox', align: 'stretch' },
                        //layout: { type: 'vbox'},
                        flex: 55,
                        border: 1,
                        items: [
                            {
                                xtype: 'checkboxgroup', fieldLabel: '異動原因', labelWidth: 60,
                               // layout: 'vbox',
                                columns: [.35,.35,.35],
                                id: 's_VRCODE',
                                items: [
                                    {
                                        boxLabel: '拆挪',
                                        name: 's_VRCODE',
                                        inputValue: 'C',
                                    },
                                    {
                                        boxLabel: '修理',
                                        name: 's_VRCODE',
                                        inputValue: 'R',
                                    },
                                    {
                                        boxLabel: '安裝',
                                        name: 's_VRCODE',
                                        inputValue: 'D',
                                    },                                    
                                    {
                                        boxLabel: '測試',
                                        name: 's_VRCODE',
                                        inputValue: 'T',
                                    },
                                    {
                                        boxLabel: 'DELETE解繳',
                                        name: 's_VRCODE',
                                        inputValue: 'E',
                                    },
                                    {
                                        boxLabel: '品保阻留',
                                        name: 's_VRCODE',
                                        inputValue: 'Q',
                                    },
                                    {
                                        boxLabel: '原件報廢',
                                        name: 's_VRCODE',
                                        inputValue: 'F',
                                    },
                                    {
                                        boxLabel: '預配',
                                        name: 's_VRCODE',
                                        inputValue: 'P',
                                    },
                                    {
                                        boxLabel: '空軍借件',
                                        name: 's_VRCODE',
                                        inputValue: 'H',
                                    },
                                    {
                                        boxLabel: '專案裝備撥補',
                                        name: 's_VRCODE',
                                        inputValue: 'Z',
                                    },
                                    {
                                        boxLabel: '入庫',
                                        name: 's_VRCODE',
                                        inputValue: 'I',
                                    },
                                    {
                                        boxLabel: '舊件繳回',
                                        name: 's_VRCODE',
                                        inputValue: 'O',
                                    },
                                    {
                                        boxLabel: '借件歸還',
                                        name: 's_VRCODE',
                                        inputValue: 'J',
                                    },
                                    {
                                        boxLabel: '機敏庫房保存',
                                        name: 's_VRCODE',
                                        inputValue: 'S',
                                    },
                                    {
                                        boxLabel: 'REWORK',
                                        name: 's_VRCODE',
                                        inputValue: 'A',
                                    },
                                    {
                                        boxLabel: '空軍存放',
                                        name: 's_VRCODE',
                                        inputValue: 'V',
                                    },                                    
                                    {
                                        boxLabel: '故障待修',
                                        name: 's_VRCODE',
                                        inputValue: 'M',                                        
                                    },                                                                        
                                    {
                                        boxLabel: '全部',
                                        name: 's_VRCODE',
                                        inputValue: 'ALL',                                        
                                        //checked: true,
                                        listeners:
                                        {
                                            change: function (me, newValue, oldValue, eOpts) {
                                                console.log("change!!");
                                                var Tmp_checkboxGroup = Ext.getCmp("s_VRCODE");
                                                console.log("newValue: ", newValue);
                                                console.log("oldValue: ", oldValue);
                                                for (i = 0; i < Tmp_checkboxGroup.items.length - 1; i++) {
                                                    console.log("i: ", i);                                                
                                                   var Tmp_checkbox = Tmp_checkboxGroup.items.items[i];
                                                    console.log("Tmp_checkbox: ", Tmp_checkbox);
                                                    Tmp_checkbox.setValue(false);
                                                    Tmp_checkbox.setDisabled(newValue);
                                                }
                                            }
                                        }
                                    },
                                ]
                            }, // end of s_異動紀錄
                        ]
                    },  //  end of items of panel16, flex:10
                ]
            },  // end of panel1


2>*.cs

           string Tmp_VRCODE = nvc["s_VRCODE"];  //異動原因
            ////將 A,C,B,D,ALL 字串加入 ""  --> "A","B","C","D" , 不含 ALL 傳回
            Tmp_VRCODE = myfunc.AddQuoteStr(Tmp_VRCODE);


 OracleCommand cmd = new OracleCommand();
            string Tmp_Sql1 = "", Tmp_Sql2 = "";  //for 日期起迄
            string Tmp_Sql = "  SELECT  RNK,RVNO,ARPNO,DITM,NM,REPN,RESN,REDT,INPN,INSN,RMK,PLNC,
                                                              INSC,NOTE,STLCT,STAT,FACWC,EFF "
                                        + "  FROM   ( SELECT  dense_rank()  over(order by  RVNO) as RNK,"
                                                       + "    RVNO,ARPNO,DITM,NM,REPN,RESN,REDT,INPN,INSN,RMK,PLNC,
                                                                INSC,NOTE,STLCT,STAT,FACWC,EFF "
                                                        + "   FROM     AMM_FRO3F16 "
                                                       + "   WHERE  1=1 ";
            //panel11

           //異動碼
            if (!myfunc.checkisnull(Tmp_VRCODE))
            {
             Tmp_Sql = Tmp_Sql + "  AND   RVNO IN (SELECT DISTINCT RVNO FROM  AMM_FRO3F16D WHERE  1=1 "
                                                       +                             " AND   VRCODE IN ("+ Tmp_VRCODE+")  )" ;
         }

2023年1月4日 星期三

筆記型電腦簡要規格: 品牌型號,CPU,記憶體,硬體,螢幕,作業系統

 筆記型電腦簡要規格: 品牌型號,CPU,記憶體,硬體,螢幕,作業系統

Acer P215-53,i7,16GB,256GB/1TB,15.6",Win10





1>品牌型號: Acer TMP215-53

2>CPU : Intel CoreTM i7-1165G

3>記憶體: 16GB

4>硬體:  256GB SSD/1TB SATA

5>螢幕: 15.6"

6>作業系統:  Win10


網路卡: Wifi, Bluetooth, 乙太網路

IO Port: USB3*3  HDMI*1   VGA*1  RJ45*1 WebCam

電池: 11hr , 48 Wh 3cell

重量: 1.8kg

配件: 附筆電包,滑鼠


映像檔轉虛擬光碟機_操作說明

 目的: 將映像檔轉虛擬光碟機操作說明, 以便安裝軟體(Ex: Delphi)

操作說明: 1>將映像檔掛接成虛擬磁碟機

                  2>由虛擬光碟機安裝軟體(Ex: Delphi)

                  3>退出虛擬光碟機


1>將映像檔掛接成虛擬磁碟機



  2>由虛擬光碟機安裝軟體(Ex: Delphi)



  3>退出虛擬光碟機



2023年1月2日 星期一

PL/SQL Developer – 環境設定 - 自動 Selection Statement / 自動Commit

 目的: PL/SQL Developer – 環境設定 - 自動 Selection Statement / 自動 Commit

操作說明: 1>  Edit à PL/SQL Beautify Options à Windows àSQL Windows

                  2> 勾選    [v] AutoCommit

                                   [v] AutoSelect  Statement







Visual Studio IDE 環境設定 - 背景顏色/字型大小/字型顏色

目的:  Visual Studio IDE 環境設定 - 背景顏色/字型大小/字型顏色

操作說明: 1>由工具 --> 選項 --> 環境

                  2>[字型與色彩]

                  3>由工具 --> 選項 --> 匯入和匯出設定








2>Visual Studio IDE 環境設定匯入  - 工具à匯入和匯出設定












3>目前 Visual Studio 2019 的環境設定檔, 範例放置路徑如下:
D:\A_PROJ\000_維航處\01_教育訓練\0_VisualStudio2019\000_IDE_Setting\microed_202010.vssettings\microed_202010.vssettings

2022年12月26日 星期一

V80201- 請稍候訊息 - 1>Label方式 2>LoadMask方式

目的:  V80201- 顯示 請稍候訊息

處理說明: 1>畫面上,以 label 顯示訊息 - 請稍候  - label.setVisible(true)  ;
                  2>載入完成時, label.setVisible(false)  ;
                  3>Ext.Ajax 的  async 必需為 true, 異步式處理, 即去後端處理時,前端仍需繼續處理
                       ,如此前端才會顯示等待訊息




一.以 Label 方式處理
1>*.js
  //資料處理中..,請稍候
                {
                    xtype: 'label',
                    id: 'waitlbl1',
                    text: '.',
                    hidden: false,
                }, // end of 請稍候
                {
                    xtype: 'label',
                    id: 'waitlbl',

                    text: '資料處理中,請稍候...',
                    hidden: true,
                    style: {color: 'blue',}

                }, // end of 請稍候

{
            xtype: 'button', text: '確定', id: 'sub_ShowPN_OkBtn',
            listeners: {
                click: function () {
                    //mysuccessalert("mysub2_確定 ");
                    Ext.getCmp("waitlbl").setVisible(true);
                    //Ext.getCmp("waitlbl").setX(100);                                        
                    //myMask.show();                    
                    ShowPNGridDetail(par_PN, par_ECNO, par_CNDPROCCODE, par_ASN);
                }
            }
        },        


Ext.getCmp('sub_Grid').store.on("load", function (me, records, successful, eOpts) {        
        if (successful) {
            console.log("successful");
            console.log("Ext.getCmp('sub_Grid').store.data", Ext.getCmp('sub_Grid').store.data);
            win1.show();
            //若已載入完成,則            
            Ext.getCmp('waitlbl').setVisible(false);            
            //myMask.unmask();                    
            //myMask.hide();                                
        }
    }

二.以 LoadMask方式處理

目的:  V80201- 顯示 請稍候訊息  - 以 LoadMask 方式

處理說明: 1>畫面上,以 LoadMask 顯示訊息 - 請稍候  - Ext.getCmp("myMask").show();

                  2>載入完成時, - Ext.getCmp("myMask").hide();





1>*.js
var myMask = new Ext.LoadMask(Ext.getBody(), {
     msg: '資料處理中,請稍候...',
     id: 'myMask',

});

//顯示訊息
Ext.getCmp("myMask").show();

//隱藏訊息
Ext.getCmp('sub_Grid').store.on("load", function (me, records, successful, eOpts) {
        if (successful) {

            console.log("successful");
            console.log("Ext.getCmp('sub_Grid').store.data", Ext.getCmp('sub_Grid').store.data);
            win1.show();
            //若已載入完成,則            
            Ext.getCmp("myMask").hide();
        }
    }
    );