import { Subject } from 'rxjs'; /** 動態欄位類型 */ export declare enum BpmFwMode { /** 設計 */ Design = "design", /** 填寫 */ Write = "write", /** 觀看 */ View = "view", /** 列印 */ Print = "print", /** 屬性 */ Props = "props" } /** 欄位-共用屬性 */ export declare abstract class BpmFwBaseComponent { /** 表單設計草稿 Id */ scriptId: string; /** 欄位id */ id: string; /** 欄位代碼 */ code: string; /** 欄位名稱 */ name: string; /** 欄位說明 */ descr: string; /** 欄位屬性 */ exProps: any; /** 是否為可編輯狀態 */ editable: boolean; /** 是否為必填 */ required: boolean; /** 外掛欄位設定資訊 */ pluginSetting: BpmFieldPluginSettingModel; /** [前端使用] 由各個欄位向field layout通知要做什麼邏輯的Subject */ fieldLayoutSub$?: Subject; /** [前端使用] 動態欄位類型 */ mode: BpmFwMode; } /** 外掛欄位設定資訊 */ export interface BpmFieldPluginSettingModel { /** 外掛欄位站台網址 */ entryHost: string; } /** * 各欄位組成此model拋給field layout判斷要執行什麼邏輯 * - * ex: 複製欄位、欄位互動皆需要從欄位拋出去告知field layout */ export interface FieldActionModel { /** 要執行的邏輯類型 */ type: FieldActionType; /** 需要執行邏輯的相關資訊 */ info: any; } /** 各欄位要跟field layout說要執行什麼邏輯的類型依據 */ export declare enum FieldActionType { /** 欄位設定互動(下拉、單選、複選) */ Interaction = 0, /** 由按鈕欄位通知欄位互動 */ InteractionButtonToField = 1, /** 由欄位通知按鈕欄位繼續互動下一個項目 */ InteractionFieldToButton = 2, /** 填入欄位代號,取得該欄位填寫的資料 */ GetValue = 3, /** 取得用於歸檔的檔案欄位資訊 */ GetArchiveFieldInfo = 4 } /** 透過欄位id取得名稱 */ export interface FieldGetArchiveFieldInfoModel { /** 歸檔欄位綁定的欄位id */ fieldId: string; /** field layout會用來把歸檔欄位需要的資訊回傳 */ fwSubject$: Subject; } /** 欄位填寫型態 */ export declare enum FieldFillType { /** 必填 */ RequireFill = 0, /** 非必填 */ None = 1, /** 不能填寫 */ ReadOnly = 2, /** 不能填且不顯示 */ NotDisplay = 3 } /** 表單節點的資訊 */ export interface BpmFwTaskNodeModel { /** 站點 Node Id */ nodeId: string; /** 表單 Task Id (目前只有純檢視表單的欄位會有,串外部的reqModel會用到) */ taskId?: string; /** 申請者id */ applicantId: string; /** 申請者部門(預設主要部門) */ applicantDeptName: string; /** 申請時間 */ applicantDate: string; /** 站點代號 */ codeOfProcessSite?: string; /** 用來決定要使用哪支表單api (目前用在明細欄位細項) */ formType?: FormType; /** 表單變數 */ variables?: Array; /** 草稿申請或全新申請 */ applyType?: ApplyType; } /** 欄位內表單變數 */ export interface BpmFwTaskVariableModel { id: string; code: string; name: string; value: string; } /** 用來決定要使用哪支表單api */ export declare enum FormType { /** 申請 */ Apply = 0, /** 待簽表單 */ Sign = 1, /** 我的單據-我申請的 */ MyApply = 2, /** 查閱表單 */ Bylook = 3, /** 站內搜尋 */ SiteSearch = 4, /** 關聯表單 */ FormRel = 5, /** 起單資訊 */ CreateFormInfo = 6 } /** 下拉、單選、複選-互動設定 model */ export interface InteractorsPropsModel { /** 互動類型 */ interactorType: InteractorType; /** 欄位id */ fieldId: string; } /** 欄位互動類型 */ export declare enum InteractorType { /** 選取/勾選 */ Select = 0 } /** 依照欄位代號取得該欄位填寫的資料 */ export interface FieldGetValueModel { /** 自己的欄位id */ fieldId: string; /** 欲取得填寫資料的欄位代號 */ fieldCode: string; } /** 草稿申請或全新申請 */ export declare enum ApplyType { /** 從暫存申請 */ Draft = 0, /** 全新申請(含範本) */ New = 1 }