1.0.7-beta2 • Published 2 years ago

jobdone-shared-files v1.0.7-beta2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Vue Components

如果要使用 vue 檔,需要直接引用 node_modules 裡的檔案,例如:

import OOXX from '../../node_modules/jobdone-shared-files/OOXX.vue';

.

01.ProjectManagement/projectNavbar - 專案資訊Navbar

需要傳入的值:

數值名稱說明必要
root-domain底層的 domain,傳入的值有無斜線皆可
arrow-back-link離開專案的連結,一般來說是底層的 ProjectList
project-info可接受api url或物件,api僅支援Get請求,結構應為{name: "", caseNo: "", caseNo: "",beginDT:"",endDT:"",approvedWorkingPeriod:0, extendToDT:"",extendDays:""}
project-apps可接受api url或物件,api僅支援Get請求,結構去Copy底層API取得專案所屬Module的App連結(V2 TOP)
active-client-idNavbar active的對象,請填入client id,不填預設active專案資訊N
project-idproject id
user-id傳入 user 的帳號 id
user-picture傳入 user 的大頭貼
log-out-link登出連結

.

02.Paginate - 分頁

範例

<template>
    <paginate 
        container-class="..." 
        :total-pages="..." 
        :current-page="..." 
        @to-page="...">
    </paginate>
</template>

<script setup>
    import paginate from 'jobdone-shared-files/paginate.vue';
<script>

可用參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
1container-classString''' ' 'pagination-sm' 'pagination-lg'尺寸設定
2total-pagesNumber1任意阿拉伯數字總頁數
3current-pageNumber1任意阿拉伯數字當前頁碼
4page-rangeNumber5任意阿拉伯數字最多顯示幾個頁碼

可用方法

#參數 Attribute說明 Description
1to-page點選頁碼執行的動作

.

03.TagEditor - 標籤

範例

<template>
    <tagEditor 
        ref="tagEditorComponent" 
        :auto-complete-option='autoCompleteTagList'
        @update-auto-complete-option="getTagListByKeyWord">
    </tagEditor>
</template>

<script setup>
    import tagEditor from 'jobdone-shared-files/tagEditor.vue';
    
<!-- autoComplete 功能 -->
    const autoCompleteTagList = ref([]);
    async function getTagListByKeyWord(keyword) {
        autoCompleteTagList.value = await axios.get(...).data;
    }
    
<!-- 取得建立的TAG值 -->
    const tagEditorComponent = ref(null);
    const tags = ref([])
    functio getTag(){
        tags.value = tagEditorComponent.value.tagAry
    }
<script>

可用參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
1placeholderString'請在此處輸入標籤文字'任意字串input的提示文字
2auto-completeBooleantruetrue false是否啟用AutoComplete,啟用的話必需傳入用於AutoComplete的Array
3auto-complete-optionArray[]['...','...','...']僅接受字串陣列。
4disabledBooleanfalsetrue false停用

可用方法

#參數 Attribute說明 Description
1update-auto-complete-option文字輸入時呼叫,value為當前輸入的值,可用於刷新autoCompleteOption。

.

04.Tree - 樹狀結構

範例

<template>
     <tree :items="items" :click-item="clickItem" size="sm"></tree>
</template>

<script setup>
    import tree from 'jobdone-shared-files/tree.vue';
    const items = [
        {
            id:1,
            name:'分類A',
            children{
                id:11,
                title:'分類A'-1,
                children:[
                    ...
                ]
            }
        },{
            id:2,
            name:'分類B',
            children{
                id:12,
                title:'分類B-1',
                children:[
                    ...
                ]
            }
        },
        ...
    ]
    
    function clickItem(v){
        console.log(v)
    }
<script>

可用參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
1itemsArray[]須包含Id,名稱必須為title,子層的Key必須為children尺寸設定
2sizeString'''' 'sm'內容陣列
4bgColorString'''' 'white'用於什麼樣子的背景色上,預設用在灰色背景上。用在白背景上可使用white模式

可用方法

Function說明 Description
clickItem點選項目執行的方法

.

05.VueLoadingOverlay - 指定樣式讀取樣式

範例

<template>
    <Loading :is-active="isLoading"></Loading>
</template>
<script setup>
    import Loading from "jobdone-shared-files/vueLoadingOverlay.vue";

    <!-- loading 初始化 "isLoading" => 自定義變數 -->
    const isLoading = ref(false);
    
    <!--  開啟loading   -->
    function showLodaing(){
        isLoading.value = true;
    }
    
    <!--  關閉loading   -->
    function showLodaing(){
        isLoading.value = false;
    }
    
</script>

可用變數:

#參數 Attribute型別 Type預設值 Default說明Description
1.full-pageBooleantrue是否填滿整個視窗。為False時,則填滿放置位置的父層

其他可用變數(統一樣式不推薦修改):

#參數 Attribute型別 Type預設值 Default說明Description
1.is-activeBooleanfalse開啟 / 關閉
2.loaderStringbars圖案樣式spinner / dots / bars 三種可選
3.colorsString#fff圖案顏色
4.background-colorString#000遮罩顏色
5.opacityNumber0.5遮罩透明度

.

06.lightboxWithOverview - 有縮圖的圖片光箱

<lightbox-with-overview 
    :pictures-data="picturesData" 
    ref="lightboxWithOverviewRef">
</lightbox-with-overview>

可傳入的值:

數值名稱說明必要
pictures-data格式為: [{src: "", title: ""}]
preview是否要顯示縮圖,可傳入 true or false
display-index預設 index 為 0
preview-countpreview 的圖片陣列數量,預設為 5,可使用 lightboxWithOverviewRef?.previewPictureslightboxWithOverviewRef?.otherPictureCount

.

07.autocompleteSelect - autocomplete下拉選單

範例1:簡易型,String Array 的選單

<template>
    <autocomplete-select 
        :opts="opts"
        :selected-data="selected"
        @select="(v) => selected = v">
    </autocomplete-select>
</template>

<script setup>
    import autocompleteSelect from 'jobdone-shared-files/autocompleteSelect.vue';
    
    const selected =''
    const opts =['汪汪汪','喵喵喵','啾啾啾']
<script>

範例2:複雜型,Object Array 的選單

<template>
    <autocomplete-select
        :selected-data="selected" 
        :opts="members"
        :filter-keys="['firstName','lastName','enName']" 
        preview-key="enName + ' ( ' + lastName + ' ' + firstName + ' ) '"
        binding-key="id"
        @select="(v) => selected = v.id"
    ></autocomplete-select>
</template>
<script setup>
    import autocompleteSelect from 'jobdone-shared-files/autocompleteSelect.vue';
    
    const selected = '1'
    const members =[{
        id:'1',
        firstName:'美美',
        lastName:'陳',
        enName:'Amy'
    },{
        id:'2',
        firstName:'大蒙',
        lastName:'王',
        enName:'Jed'
    },{
        ...
    }]
<script>

範例3:自訂選單樣式()

<template>
    <autocomplete-select
        :selected-data="selected" 
        :opts="members"
        :filter-keys="['firstName','lastName','enName']" 
        preview-key="enName + ' ( ' + lastName + ' ' + firstName + ' ) '"
        binding-key="id"
        @select="(v) => selected = v.id"
        :html-option='true'
    >
      <template #option = "{ optData }">
            <div>我全要喵喵喵喵!!</div>
            <div>
                {{optData.phoneNumber}}
            </div>
            <div>
                {{ `${optData.enName} (${ optData.firstName } ${ optData.lastName })` }}
            </div>
        </template> 
    </autocomplete-select>
</template>
<script setup>
    import autocompleteSelect from 'jobdone-shared-files/autocompleteSelect.vue';
    
    const selected = '1'
    const members =[{
        id:'1',
        firstName:'美美',
        lastName:'陳',
        enName:'Amy',
        phoneNumber:'0911111111',
    },{
        id:'2',
        firstName:'大蒙',
        lastName:'王',
        enName:'Jed',
        phoneNumber:'092222222',
    },{
        ...
    }]
<script>

基本參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
1selected-dataString Number Objectnone當前選擇的值(類似平常vModel的用法)
2optsArray[]選項列表,只接受StringArray NumberArray ObjectArray,且請陣列內容格
3placeholderString'請選擇'未選擇內容時的提示文字
4search-placeholderString''自定義搜尋框的提示文字。如未設定,有選擇內容時會將選擇的內容當成提示文字,而未選擇時則顯示placeholder(參數3)的值
5trigger-classString''預覽框與輸入框的樣式CLSS,可用於驗證提示
6list-putString'body'列表Dom放置位置

清除按鈕參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
7clear-btnBooleanTrueTrue False是否顯示清除按鈕
8clear-placeholderString'清除選擇'清除按鈕的文字
9reset-valueString Number Object''清空選擇替換的預設值

Object陣列選項清單用參數

#參數 Attribute型別 Type預設值 Default選項 Option說明 Description
10preview-keyString''顯示指定字符連接。請填入符合規定的字串用+號連接keyName和自定義字串,自定義字串請用''包起來(空白同理)。範例enName + ' ( ' + lastName + ' ' + firstName + ' ) '
11filter-keyArray['name']字串陣列傳入需要進行篩選比對的keyName,可多個。
12binding-keyString''本參數僅供提傳入供單一且為唯一值得keyName,一般用於ID。如傳入的選項列表為複雜object陣列,但選中的值是某個key。可傳入Key Name以供Component辨並從傳入的陣列中找出該object。如綁定的是整個object,不需使用此參數。
13is-undefined-hintString'未找到符合原選擇的選項,可能相關資料曾發生異動字串傳入binding-key但比對失敗,在opts(參數2)中找不到binding-key內容與selected-data值相符的選項,用於提示的預覽文字
14html-optionBooleanfalsetrue false是否啟用自訂選項樣式,用法請參考範例3。請注意就算起啟用preview-key還是必須傳入。

可用方法

Function說明 Description
select選到項目要做什麼

.

.

.


Directives

01.SelectPlaceholder

<select>未選擇值時加上Placeholder樣式 null false undefined '' 預設會被判斷為Placeholder,如有增減需求請參考option可用變數。

使用範例:

<template>
    <select class="form-select" 
        v-model="selectingValue" 
        v-select-placeholder="{ 
            value: selectingValue,
            placeholderValue: [1,2],
            excludeValue: [false],
            unselectClass:'is-invalid'
        }">
        <option :value="null">請選擇一隻貓,這是Placeholder</option>
        <option :value="false">雖然是false,但是我任性地說他一個正常的選項</option>
        <option :value="1">雖然是1,但是我任性地說他Placeholder選項</option>
        <option :value="2">雖然是2,但是我任性地說他Placeholder選項</option>
        <option :value="3">Candy</option>
        ...
    </select>
</template>
<script setup>
    import { ref } from "vue";
    import vSelectPlaceholder from 'jobdone-shared-files/common/directives/selectPlaceholder.js';
    
    const selectingValue = ref(null)
    
</script>

可用變數

#參數 Attribute型別 Type必填 required預設值 Default說明Description
1value----當前選擇內容的值
2placeholderValueArray[]除了預設會被判斷為Placeholder的值,如有其他需求可增加。
3excludeValueArray[]如預設會被判斷為Placeholder的值,需被排除判斷,可在此處排除
4unselectClassString''如在未選擇值時希望有更多特殊樣式,可在此傳入Class。不需要加.

.

02.textareaAutoHeight

使用範例:

<template>
    <textarea v-textarea-auto-height v-model="inputValue"></textarea>
</template>
<script setup>
    import { ref } from "vue";
    import vTextareaAutoHeight from 'jobdone-shared-files/common/directives/textareaAutoHeight.js';
    
    const inputValue = ref(null)
    
</script>

SCSS

Layout

Layout 名稱說明在 jobdone-shared-files 內?
LayoutBase客製化的 Bootstrap (5.3.0)
LayoutProjectProject 使用的共用樣式,含開合雙欄樣式
LayoutSinglePage單頁版面的樣式,如:登入、錯誤頁、條款等
LayoutTwoColumn雙欄可開合樣式
LayoutMobile針對 (底層) 手機的共用樣式
LayoutDocs針對條文調整的樣式
LayoutInnerColumn針對 Project 雙欄樣式內的雙欄樣式
LayoutOutside針對 (底層) Project 外的共用樣式

Common

  • Animation:目前只有 Fade In keyframe
  • SelectableTable:勾選 tr focus style
  • thumbnail-group:方形大頭貼與小大頭貼相疊 style
  • filepond:客製化 filepond 樣式
1.1.41

1 year ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.48

2 years ago

1.0.47

2 years ago

1.0.46

2 years ago

1.0.49

2 years ago

1.0.51

2 years ago

1.0.50

2 years ago

1.0.53

2 years ago

1.0.52

2 years ago

1.1.3-beta.1

1 year ago

1.1.3-beta.0

1 year ago

1.1.3-beta.2

1 year ago

1.0.45

2 years ago

1.0.42-beta.1

2 years ago

1.0.40-beta.1

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.37-beta.20

2 years ago

1.0.37-beta.21

2 years ago

1.0.37-beta.22

2 years ago

1.0.37-beta.23

2 years ago

1.0.37-beta.10

2 years ago

1.0.39-beta.4

2 years ago

1.0.39-beta.5

2 years ago

1.0.39-beta.2

2 years ago

1.0.39-beta.3

2 years ago

1.0.37-beta.15

2 years ago

1.0.37-beta.16

2 years ago

1.0.37-beta.17

2 years ago

1.0.37-beta.18

2 years ago

1.0.37-beta.11

2 years ago

1.0.37-beta.12

2 years ago

1.0.37-beta.13

2 years ago

1.0.37-beta.14

2 years ago

1.0.37-beta.19

2 years ago

1.0.37-beta.1

2 years ago

1.0.37-beta.2

2 years ago

1.0.37-beta.3

2 years ago

1.0.37-beta.4

2 years ago

1.0.37-beta.5

2 years ago

1.0.37-beta.6

2 years ago

1.0.37-beta.7

2 years ago

1.0.37-beta.8

2 years ago

1.0.37-beta.9

2 years ago

1.0.39-beta.1

2 years ago

1.0.38-beta.3

2 years ago

1.0.38-beta.2

2 years ago

1.0.38-beta.1

2 years ago

1.0.35-beta.1

2 years ago

1.0.35-beta.5

2 years ago

1.0.35-beta.4

2 years ago

1.0.35-beta.3

2 years ago

1.0.35-beta.2

2 years ago

1.0.35-beta.6

2 years ago

1.0.39

2 years ago

1.0.38

2 years ago

1.0.40

2 years ago

1.0.36-beta.10

2 years ago

1.0.36-beta.11

2 years ago

1.0.36-beta.12

2 years ago

1.0.36-beta.13

2 years ago

1.0.36-beta.2

2 years ago

1.0.36-beta.1

2 years ago

1.0.36-beta.4

2 years ago

1.0.36-beta.3

2 years ago

1.0.36-beta.6

2 years ago

1.0.36-beta.5

2 years ago

1.0.36-beta.8

2 years ago

1.0.33

2 years ago

1.0.36-beta.7

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.36-beta.9

2 years ago

1.0.30

2 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.35

2 years ago

1.0.34

2 years ago

1.0.24

2 years ago

1.0.21-beta.3

2 years ago

1.0.21-beta.4

2 years ago

1.0.21-beta.5

2 years ago

1.0.21-beta.1

2 years ago

1.0.21-beta.2

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.23

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.18-beta.1

2 years ago

1.0.18-beta.2

2 years ago

1.0.18-beta.3

2 years ago

1.0.18-beta.4

2 years ago

1.0.18-beta.5

2 years ago

1.0.18-beta.6

2 years ago

1.0.18-beta.7

2 years ago

1.0.18-beta.8

2 years ago

1.0.18-beta.9

2 years ago

1.0.16-beta.3

2 years ago

1.0.16-beta.4

2 years ago

1.0.16-beta.1

2 years ago

1.0.16-beta.2

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.14-beta.5

2 years ago

1.0.14-beta.4

2 years ago

1.0.14-beta.3

2 years ago

1.0.14-beta.2

2 years ago

1.0.14-beta.1

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.10-beta02

2 years ago

1.0.10-beta01

2 years ago

1.0.10-beta04

2 years ago

1.0.10-beta03

2 years ago

1.0.10-beta05

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.12

2 years ago

1.0.9

2 years ago

1.0.9-beta

2 years ago

1.0.7-3.6

2 years ago

1.0.7-3.4

2 years ago

1.0.7-3.5

2 years ago

1.0.7-3.2

2 years ago

1.0.7-3.3

2 years ago

1.0.7-3.1

2 years ago

1.0.7-beta8

2 years ago

1.0.7-beta7

2 years ago

1.0.7-beta6

2 years ago

1.0.7-beta5

2 years ago

1.0.7-beta4

2 years ago

1.0.7-beta3

2 years ago

1.0.7-beta2

2 years ago

1.0.73

2 years ago

1.0.72

2 years ago

1.0.71

2 years ago

1.0.8

2 years ago

1.0.7-beta14

2 years ago

1.0.7-beta10

2 years ago

1.0.7-beta11

2 years ago

1.0.7-beta12

2 years ago

1.0.7-beta13

2 years ago

1.0.7-beta

2 years ago

1.0.6

2 years ago

1.0.5-beta.1

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2-beta.1

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.1-beta.2

2 years ago

1.0.1-beta.1

2 years ago

1.0.1-beta.4

2 years ago

1.0.1-beta.3

2 years ago

0.0.1-beta.105

2 years ago

0.0.1-beta.103

2 years ago

0.0.1-beta.104

2 years ago

0.0.1-beta.102

2 years ago

0.0.1-beta.101

2 years ago

0.0.1-beta.100

2 years ago

0.0.1-beta.98

2 years ago

0.0.1-beta.97

2 years ago

0.0.1-beta.99

2 years ago

0.0.1-beta.90

2 years ago

0.0.1-beta.92

2 years ago

0.0.1-beta.91

2 years ago

0.0.1-beta.89

2 years ago

0.0.1-beta.94

2 years ago

0.0.1-beta.93

2 years ago

0.0.1-beta.96

2 years ago

0.0.1-beta.95

2 years ago

0.0.1-beta.87

2 years ago

0.0.1-beta.86

2 years ago

0.0.1-beta.88

2 years ago

0.0.1-beta.85

2 years ago

0.0.1-beta.84

2 years ago

0.0.1-beta.83

2 years ago

0.0.1-beta.82

3 years ago

0.0.1-beta.81

3 years ago

0.0.1-beta.80

3 years ago

0.0.1-beta.76

3 years ago

0.0.1-beta.75

3 years ago

0.0.1-beta.78

3 years ago

0.0.1-beta.77

3 years ago

0.0.1-beta.72

3 years ago

0.0.1-beta.71

3 years ago

0.0.1-beta.74

3 years ago

0.0.1-beta.73

3 years ago

0.0.1-beta.79

3 years ago

0.0.1-beta.69

3 years ago

0.0.1-beta.65

3 years ago

0.0.1-beta.64

3 years ago

0.0.1-beta.67

3 years ago

0.0.1-beta.66

3 years ago

0.0.1-beta.61

3 years ago

0.0.1-beta.60

3 years ago

0.0.1-beta.63

3 years ago

0.0.1-beta.62

3 years ago

0.0.1-beta.68

3 years ago

0.0.1-beta.54

3 years ago

0.0.1-beta.56

3 years ago

0.0.1-beta.55

3 years ago

0.0.1-beta.58

3 years ago

0.0.1-beta.57

3 years ago

0.0.1-beta.59

3 years ago

0.0.1-beta.53

3 years ago

0.0.1-beta.52

3 years ago

0.0.1-beta.51

3 years ago

0.0.1-beta.50

3 years ago

0.0.1-beta.49

3 years ago

0.0.1-beta.48

3 years ago

0.0.1-beta.47

3 years ago

0.0.1-beta.46

3 years ago

0.0.1-beta.45

3 years ago

0.0.1-beta.44

3 years ago

0.0.1-beta.43

3 years ago

0.0.1-beta.42

3 years ago

0.0.1-beta.41

3 years ago

0.0.1-beta.40

3 years ago

0.0.1-beta.39

3 years ago

0.0.1-beta.38

3 years ago

0.0.1-beta.37

3 years ago

0.0.1-beta.36

3 years ago

0.0.1-beta.35

3 years ago

0.0.1-beta.34

3 years ago

0.0.1-beta.33

3 years ago

0.0.1-beta.32

3 years ago

0.0.1-beta.31

3 years ago

0.0.1-beta.30

3 years ago

0.0.1-beta.29

3 years ago

0.0.1-beta.28

3 years ago

0.0.1-beta.27

3 years ago

0.0.1-beta.26

3 years ago

0.0.1-beta.25

3 years ago

0.0.1-beta.24

3 years ago

0.0.1-beta.23

3 years ago

0.0.1-beta.22

3 years ago

0.0.1-beta.21

3 years ago

0.0.1-beta.20

3 years ago

0.0.1-beta.19

3 years ago

0.0.1-beta.18

3 years ago

0.0.1-beta.17

3 years ago

0.0.1-beta.16

3 years ago

0.0.1-beta.15

3 years ago

0.0.1-beta.14

3 years ago

0.0.1-beta.13

3 years ago

0.0.1-beta.12

3 years ago

0.0.1-beta.11

3 years ago

0.0.1-beta.10

3 years ago

0.0.1-beta.9

3 years ago

0.0.1-beta.8

3 years ago

0.0.1-beta.7

3 years ago

0.0.1-beta.6

3 years ago

0.0.1-beta.5

3 years ago

0.0.1-beta.4

3 years ago

0.0.1-beta.3

3 years ago

0.0.1-beta.2

3 years ago