專刊內文

當前位置:首頁>專刊分享>內文

瀏覽次數 : 483



iCoder-README


前往 iCoder-README (2018-2019)
 


2020-9(2020-9-1)


* Gantt甘特圖組件,提供一個 TitleFormatter的屬性,可以設定每條甘特圖的浮動Title內容,如下:


function gantt1_titleFormatter(row)

{

 return row.進度說明;

}


* ShoppingCart增加了PanelTitlePanelHeight,用來控制購物車顯示時對應PanelTitle與高度,並且ShoppingCart會顯示購物車內商品數量的小紅圈。


* EEPCloud的用戶管理中,增加"Excel匯入"功能,並可以設定密碼是否加密(如果從EEP轉過來的User就選"不加密",如果從其他系統轉過來就要選"加密")



*局部更正MS-SQL資料庫區分大小寫時,WorkflowSQL命令出錯的問題,目前已知的有個人事項的【待辦】語法"Agent"錯誤,【討論】語法中的"FlowTodo"錯誤,還有上呈Approve時發生"FLOWID"錯誤等,已更正。


*EEPCloud登入時,如果該帳號的預設的資料庫為混和雲又無法連上時,會無法登入,已更正成逾時後還是可以登入。


* Excel導入多頁簽資料時,如果發生錯誤,會告知哪一個頁簽的哪一筆資料,好讓用戶容易排除問題。


* excel欄位標題如有使用*設為必填時,透過iCoder讀入並回存到Excel後,會導致該欄位的#標籤消失,已更正。


* WordExcel所定義的# 後面如果有"[]"代表size長度,可以無須一定要使用":欄位名稱"的方式來定義,直接使用"[]"即可,:"#T :說明[100]", 可以直接設定:"#T [100]"即可。


* SoppingCart增加OnQuantityChanged事件,當數量增減或改變時,會觸發此事件,通常用來自動計算小計與合計使用。如:


function ShoppingCart1_onQuantityChanged(row) { 

   row.小計=row.單價*row.數量;

}


* WordExcel所定義的# 後面如果有"[]"代表size長度,可以無須一定要使用":欄位名稱"


* 新增明細 ##2 ##3word中計算公式的運用方式,如下:


#[總計]=##2[合計].Total


##3[小計]=[數量]*[單價]


* SystemtableMENUTABLE 執行"批量修改"時,會產生Error(只有MENUTABLE會錯),已修正。


* 增加ShoppingCart組件, 來處理購物車。

   RemoteName: 購物車對應的遠端資料表。

   NameField: 購物車對應的商品名稱欄位。

   QuantityField: 購物車對應的商品數量欄位。

   ImageField: 購物車對應的商品圖檔欄位。

   ImageFolder: 購物車圖檔的目錄名稱。

   PriceFormatter: 用來格式化價格的顯示事件。

   PanelTitle: 購物車Panel(明細小頁面)的標題。

   PanelHeight: 購物車Panel(明細小頁面)的高度,寬度自動。

   Placement: 購物車的位置。

   OnRenderFooter: 顯示購物車明細小頁面的頁尾,用於商品與金額加總。

   OnQuantityChanged: 購物商品數量更改的事件。

 

用來新增購物車的方法,如下:

  $('#ShoppingCart1').shoppingcart('add', {客戶編號:user,客戶名稱:userName,商品編號:row.商品編號,名稱:row.名稱,規格:row.規格,單價:row.優惠價,數量:1,圖片:row.圖片}, function(){

    $.alert('加入成功', 'info');

        });

 

購物車單價格事的事件範例:

function ShoppingCart1_priceFormatter(row)

{  // 顯示單價的格式

    return '<div style="color:red">單價:NTD$' + row.單價+ '</div>'

}

 

購物車數量更改的事件範例:

function ShoppingCart1_onQuantityChanged(row) { 

   row.小計=row.單價*row.數量;

}

 

購物加總顯示的的事件範例:

function ShoppingCart1_onRenderFooter(datas)

{  // 顯示購物車表尾格式

    var sum = 0; //加總購物車

    for (var i = 0; i < datas.total; i++) {

        sum += datas.rows[i].小計;

    };   // 顯示加總與結帳按鈕

    return '<span><span style="color:red">' + datas.total + '</span>件商品 ,總計:<span style="color:red">NTD$'+ sum + '</span><a id="btnBuy" onclick="closeCart()" tabindex="0" class="btn btn-info" role="button" style="float:right">去結帳</ a>';

}





2020-8(2020-8-3)

*iCoder的工作流程簽核時,增加了一個【討論】的功能,可以在簽核過程中發出討論主題給任何的使用者或角色,或是已經送出在經辦中隨時補上意見或附件,如下:

同上,在【個人事項】中,同樣多了一個【討論】的頁簽,可以顯示其他流程中的使用者傳送給自己的討論話題,並在此可以進行回覆。

而且,工作流程的簽核歷程中,增加了一個【討論】的節點,可以展開各個簽核活動所提出來的討論與回覆內容,如下:

* iCoder新增 #BC功能,可以顯示或印出條碼(編輯時則使用標準的TextBox),條碼的格式目前可以支援: CODE39 CODE128 EAN13等三種最常使用的條碼。印表時也可以在WordExcel中以#BCCODE39#BC EAN13等方式來印出條碼。

* 針對TRS進行優化(Server端的Transaction元件):

1. 更改時當原始資料表的KEY及數值沒有改變時,inc/dec可以省略不做。

2. AutoAppendSyncAppend,Exception,Ignor等動作,多了一條重複的Update SQL語句,已改善。

* 新增【報表派送】功能,如下:

1.透過【排程設定】來設定日期與時間或週期,如果印表條件是固定的,可以直接使用sendExcelsendWord這兩系統Method來發送,如下:

出貨日報表,每天17:30自動發送給指定的eMail帳號:

sendExcelsendWord的參數如下:

這樣,指定的eMail帳號每日下午17:30會收到以下的eMail:

2.如果印表條件是動態的,則須開發一個Server Method來自行控制所有的參數,如下設定了"庫存管理.mySendExcel"方法: (周間每天14:00發送)

Server Method如下:

exports.mySendExcel = function(param, callback){

    var excelParam = param;  // id已設為"安全庫存警示表"這個Excel

    excelParam.remoteName = '庫存管理.安全庫存警示';

    excelParam.to = 'andykao@infolight.com.tw'; //設定對方的eMail

    excelParam.subject = '安全庫存不足警(自動派送)';   

    var whID = this.getDateValue('WHID');//取得要檢查的庫存ID

    var firstday = this.getDateValue('firstdayly').Format('yyyy/MM/dd');

    excelParam.whereItems = [{field: '日期', operator: '>', value: firstday}, {field: '庫房', operator: '=', value: whID} ]; // 設定報表條件

    this.getServerModule('SystemTable').sendExcel.call({clientInfo: this.clientInfo}, excelParam, callback); // 送出報表

};

*後端提供了submitFlow方法來自動產生流程實例,如下範例:

(如果工作流活動中有用到條件運算式的欄位時,該欄位內容必須放資料對象中)

exports.callflow = function(param, callback) {

   this.submitFlow({       //資料對象, KEY欄位即可

出貨單: param.no, }, {

     url: 'http://localhost:3000',      //email 链接

     FlowID: '出貨申請',               //流程名稱

     Remark: '自動起單',               //起單訊息

     WEBFORM_NAME: '出貨單',           //表單名稱

     FORM_KEYS: '出貨編號',            //表單主鍵

     FORM_PRESENTATION:"出貨編號='+param.no+"'", //表單主鍵

     FORM_PRESENTATION_CT: '出貨編號:'+param.no, //表單欄位呈現

     PROVIDER_NAME: '出貨單.出貨單',   //RemoteName名稱

   }, callback);

};

* 提供EEPCloud Runtime上傳圖檔或文件及Workflow上傳文件的共享目錄機制,可以讓Runtime的使用者上傳到另外的檔案主機(NAS)上,設定的方法如下:

1. EEPCloudServer上,透過檔案總管連結到檔案主機(請輸入帳號與密碼認證),並映射成一個網路磁碟機(需勾選"登入時重新連線"),如下:

Public(\\59.124.XXX.XXX)(Z:) // 設定Z:

2. 在檔案主機或NAS上,對應的目錄下建立exportfilescloud三個子目錄(export是用來存放輸出WordExcel的臨時下載檔案所使用,files是給EEPCloud管理者所使用),因為cloud目錄是給各開發者帳號在Runtime上傳檔案所使用,所以必須以開發者帳號的名稱在cloud建立一個同名的子目錄及files子目錄,如開發者帳號為andyeipcloud之下必須建立一個"andyeip\files"的子目錄;如開發者帳號為crm,則cloud之下建立一個子目錄"crm\files"即可。如此你的FileUpload上傳時就會以"cloud\開發者帳號\files\FileUpload指定目錄\"來上傳(指定目錄是由FileUploadFolder屬性來定義),這樣就可以集中管理這些上傳檔案。

3. 如果有使用Workflow來跑工作流程時,流程的檔案附件上傳會自動根據不同的工作流程來分開不同的Folder,會上傳到"cloud\開發者帳號\files\工作流名稱\"這個子目錄。

4.修改EEPCloudStart.bat啟動命令,指定FILE_PATH參數,如下:

@echo off

start redis/3.2.100/redis-server.exe redis/3.2.100/redis.windows.conf

start cmd /k"set FILE_PATH=Z:\icoder&&node bin/www_cluster"

以上,重新啟動,即可將EEPCloud上傳檔案指定到檔案主機或NAS上。

* 為了能讓EEPCloud能提供網站的功能,新增了ImageList組件,屬性如下:

RemoteName: 遠端資料表來源

PageSize: 每頁的資料大小(每頁多少圖)

Pagination: 是否顯示分頁導航條

ImageFolder: 圖檔的目錄

ImageField: 圖檔的欄位

TextField: 標題的欄位

UrlField: 連結內容的欄位

Images: 沒有使用資料表來源時,可以設定固定的多個圖檔

HorizontalColumns: 大螢幕的水平排列數

TextFormatter: 可以自由設定圖檔下的文字格式

 

如下的商品列就是以ImageList來呈現:

*新提供一個 SiteMap的組件, 專屬應用在網站地圖的應用,屬性如下:

Aligment: 地圖連結的對齊(靠左/靠中/靠右)

IconCls: 網站地圖的圖示

Items: 網站地圖的項目,每項目都可以設定Caption項目名稱,URL代表網站地圖所有連結的網址。

 

網站地圖效果如下:

* Excel導入的格式中,提供了#AE格式,所產生的DataGrid自動堤供HTMLEditor的編輯器讓USER輸入。

* EEPCloudeMail發送設定中,可設定不認證方式發信,只要設定發送者密碼即代表為不認證發信的模式。通常eMail Server都是要認證才能發信,此是用來配合內部網域的eMail Server

* Excel導入的表格輸入格式中,增加了與Word一樣的 "{ }"(預設值) "*Email/*CID"等等Validate檢驗格式。

*Word表單新增了【步驟型表單】,專門用來讓USER以步驟方式來輸入資料,此方式通常只用在新增資料,若要使用在更改資料,需在EEPCloud中自行設定修改。

步驟式表單的風格如下:

Step的組件屬性如下:

Steps: Step的步驟標題與Tabs的頁簽標題一樣可以設定多個。

Style: Default/Arrows/Dots/Dark,預設為Dots風格如上,下圖為Arrows的風格。

Animation: True/False,上下步驟時是否要有動畫效果。

Justfied: True/False,標題是否要左右撐滿。

OnNextClock: 下一步的事件。

OnPrevClick: 上一步的事件。

:存檔成功之後要跳轉的頁面,要寫在DataFormOnApplied事件中。

*新增ImageZooms的組件,用來顯示電商商品詳細圖片的資料,如下: