天天看點

新手程式員如何快速開發應用功能?

作者:曦楚攻城

周一入職了一位專科學曆實習生,工作室教育訓練了3天,整體能力一般,昨天嘗試讓他做兩個功能:銷售訂單和出庫單。今天看了一下,感覺還可以。

給大家分享下效果:

1、銷售訂單:功能關鍵點(從商品檔案選擇并關聯區域價格表、子表自動累計金額至主表)

新手程式員如何快速開發應用功能?

商品檔案

新手程式員如何快速開發應用功能?

價格表

新手程式員如何快速開發應用功能?

銷售訂單界面

新手程式員如何快速開發應用功能?

批量選擇商品錄入

新手程式員如何快速開發應用功能?

金額自動計算

點選選擇商品按鈕前端事件代碼:

/**
 * 
 * @param {} btn 按鈕本身
 * @param {} event 事件對象
 * @param {} eOpts 
 */
function(btn,event,eOpts){
    var func1 = JE.getFunc('XSDD');
    var jeformview=func1.formview;
  	var vals=jeformview.form.getValues();
    var ZBID=vals.XSDD_ID;
    var ID = vals.XSDD_ID;
    var QY = vals.QY;
    if(JE.isNotEmpty(ZBID)){
    //彈出查詢選擇
    JE.selectWin({
        title:'請選擇商品',
        type:'grid',
        whereSql:"AND QY='"+QY+"' ",
        multiSelect:true,//是否多選
        configInfo:'V_SPDA,SPBM~SPMC~DW~XSJ~TCL~BS~SPDA_ID,,M',//查詢選擇配置資訊
        callback:function(sels){
    var ID2 = sels[0].data.SPDA_ID;  //取得選中資料的主鍵
    var func = JE.getFunc('XSDDMX');
    //擷取從表grid
    var grid = func.gridview;
   //判斷是否有資料
          //debugger;
          var data = [];//定義空數組
          //循環商品資料
          Ext.each(sels,function(sel){
             var obj=JE.ajax({
             url:'/je/doSave',
             params:{
                    tableCode:"XSDDMX",
                    SPBM:sel.data.SPBM,
                    XSDD_ID:ID,
                    SPMC:sel.data.SPMC,
                    DW:sel.data.DW,
                    DJ:sel.data.XSJ,
                    TCL:sel.data.TCL,
                    BS:sel.data.BS,
                    }
             });
        });
         grid.reload();  
            
    return true;
    }
  });
    }
    else {
        JE.alert("請先儲存主表再進行操作。");
    }
}           

2、銷售出貨:功能關鍵點(從銷售訂單選擇未發貨商品記錄)

新手程式員如何快速開發應用功能?

銷售出貨界面

新手程式員如何快速開發應用功能?

根據客戶資訊比對未出貨訂單明細

添加出貨明細按鈕代碼:

function(btn,event,eOpts){
    var func1 = JE.getFunc('CKD');
    var jeformview=func1.formview;
  	var vals=jeformview.form.getValues();
    var ZBID=vals.CKD_ID;
    var ID = vals.CKD_ID;
    var KHBM = vals.KHBM;
    if(JE.isNotEmpty(ZBID)){
    //彈出查詢選擇
    JE.selectWin({
        title:'請選擇要出貨的訂單商品',
        type:'grid',
        whereSql:"AND KHBM='"+KHBM+"' ",
        multiSelect:true,//是否多選
        configInfo:'V_DDSPMX,SPBM~SPMC~DW~BM~SL~DJ~JE~BS~TCL~TCJE~DPHK~HKJE~KHSPBM~BJ~XSDDMX_ID,,M',//查詢選擇配置資訊
        callback:function(sels){
    var ID2 = sels[0].data.XSDDMX_ID;  //取得選中資料的主鍵
    var func = JE.getFunc('CKMX');
    //擷取從表grid
    var grid = func.gridview;
   //判斷是否有資料
          //debugger;
          var data = [];//定義空數組
          //循環商品資料
          Ext.each(sels,function(sel){
             var obj=JE.ajax({
             url:'/je/doSave',
             params:{
                    tableCode:"CKMX",
                    SPBM:sel.data.SPBM,
                    CKD_ID:ID,
                    SPMC:sel.data.SPMC,
                    DW:sel.data.DW,
                    BM:sel.data.BM,
                    SL:sel.data.SL,
                    DJ:sel.data.DJ,
                    JE:sel.data.JE,
                    BS:sel.data.BS,
                    TCL:sel.data.TCL,
                    DPHK:sel.data.DPHK,
                    HKJE:sel.data.HKJE,
                    KHSPBM:sel.data.KHSPBM,
                    BJ:sel.data.BJ,
                    TCJE:sel.data.TCJE,
                    XSDDMX_ID:sel.data.XSDDMX_ID,
                    CKBM:"CK008",
                    CKMC:"倉庫1"
                    }
             });
          
        });
         grid.reload();  
            
    return true;
    }
  });
    }
    else {
        JE.alert("請先儲存主表再進行操作。");
    }
}           

整個開發從建表、界面排版、字典建立、搜尋設定及背景資料互動,全程在WEB端完成,不需要接觸後端,總耗時約3個小時。這對一個剛接觸和學習低代碼架構的新手來說,我還是挺滿意的,按目前來看他完成一個簡單的進銷存,後續還有報表及多聯列印格式設定,評估下來2周時間能完成并具備上線條件。

這大大節省了像我們這種微小企業的前期人力成本,招入進來能快速上手項目,員工也不會覺得心累,工作起來更有信心。這就是優秀低代碼架構的魅力!

繼續閱讀