fit2cloud-ui-plus 0.0.1-beta.3 → 0.0.1-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -10
- package/.editorconfig +0 -14
- package/BETA.MD +0 -6
- package/env.d.ts +0 -13
- package/examples/App.vue +0 -65
- package/examples/assets/github.png +0 -0
- package/examples/assets/hidden-code.png +0 -0
- package/examples/assets/iconfont/demo.css +0 -539
- package/examples/assets/iconfont/demo_index.html +0 -257
- package/examples/assets/iconfont/iconfont.css +0 -27
- package/examples/assets/iconfont/iconfont.js +0 -1
- package/examples/assets/iconfont/iconfont.json +0 -30
- package/examples/assets/iconfont/iconfont.ttf +0 -0
- package/examples/assets/iconfont/iconfont.woff +0 -0
- package/examples/assets/iconfont/iconfont.woff2 +0 -0
- package/examples/assets/logo.png +0 -0
- package/examples/components/CodeExample.vue +0 -209
- package/examples/components/DocumentTable.vue +0 -98
- package/examples/components/Markdown.vue +0 -30
- package/examples/layout/components/AppHeader.vue +0 -35
- package/examples/layout/components/Sidebar.vue +0 -73
- package/examples/layout/index.vue +0 -55
- package/examples/layout/layout.scss +0 -75
- package/examples/main.ts +0 -25
- package/examples/markdown/getting-started.md +0 -38
- package/examples/pages/filter-bar/demo/BaseFilterBar.vue +0 -70
- package/examples/pages/filter-bar/demo/SetConditionsDemo.vue +0 -66
- package/examples/pages/filter-bar/demo/SlotDemo.vue +0 -77
- package/examples/pages/filter-bar/index.vue +0 -56
- package/examples/pages/index.ts +0 -11
- package/examples/pages/read-write-switch/demo/BaseDemo.vue +0 -30
- package/examples/pages/read-write-switch/demo/CustomContentDemo.vue +0 -28
- package/examples/pages/read-write-switch/demo/InputRwSwitchDemo.vue +0 -16
- package/examples/pages/read-write-switch/demo/ReadSwitchDemo.vue +0 -54
- package/examples/pages/read-write-switch/demo/SelectRwSwitchDemo.vue +0 -23
- package/examples/pages/read-write-switch/demo/TableInnerEditDemo.vue +0 -73
- package/examples/pages/read-write-switch/demo/WriteSwitchDemo.vue +0 -39
- package/examples/pages/read-write-switch/index.vue +0 -81
- package/examples/pages/speed-dial/demo/BaseSpeedDial.vue +0 -51
- package/examples/pages/speed-dial/demo/SpeedDialCustom.vue +0 -109
- package/examples/pages/speed-dial/demo/SpeedDialPosition.vue +0 -66
- package/examples/pages/speed-dial/demo/SpeedDialTrigger.vue +0 -64
- package/examples/pages/speed-dial/index.vue +0 -61
- package/examples/pages/split-pane/demo/BaseSplit.vue +0 -36
- package/examples/pages/split-pane/demo/CustomResizer.vue +0 -47
- package/examples/pages/split-pane/demo/NestSplit.vue +0 -34
- package/examples/pages/split-pane/demo/ResizerType.vue +0 -60
- package/examples/pages/split-pane/index.vue +0 -61
- package/examples/pages/table/demo/BaseTable.vue +0 -35
- package/examples/pages/table/demo/DropdownColumn.vue +0 -89
- package/examples/pages/table/demo/DropdownColumnSlot.vue +0 -92
- package/examples/pages/table/demo/SaveSelectColumn.vue +0 -41
- package/examples/pages/table/demo/SelectColumn.vue +0 -47
- package/examples/pages/table/demo/TableOperations.vue +0 -95
- package/examples/pages/table/demo/TablePagination.vue +0 -100
- package/examples/pages/table/index.vue +0 -89
- package/examples/pages/tabs/demo/AddCloseTab.vue +0 -73
- package/examples/pages/tabs/index.vue +0 -42
- package/examples/router/doc-routes.ts +0 -52
- package/examples/router/index.ts +0 -56
- package/index.html +0 -13
- package/plugins/example-transform.ts +0 -30
- package/public/favicon.bmp +0 -0
- package/tsconfig.json +0 -24
- package/tsconfig.node.json +0 -9
- package/vite.config.ts +0 -56
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<h3>
|
|
4
|
-
v-model + 事件 控制状态
|
|
5
|
-
</h3>
|
|
6
|
-
<div style="line-height: 40px;">
|
|
7
|
-
<fu-read-write-switch :data="input" v-model="write">
|
|
8
|
-
<el-input v-model="input" @blur="blur" @keydown.native="keydown"/>
|
|
9
|
-
</fu-read-write-switch>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<h3>
|
|
13
|
-
slot参数 + 事件 控制状态
|
|
14
|
-
</h3>
|
|
15
|
-
<div style="line-height: 40px;">
|
|
16
|
-
<fu-read-write-switch :data="input" v-slot:default="{read}">
|
|
17
|
-
<el-input v-model="input" @blur="read" @keydown.native="keydown2($event, read)"/>
|
|
18
|
-
</fu-read-write-switch>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
</template>
|
|
22
|
-
|
|
23
|
-
<script>
|
|
24
|
-
export default {
|
|
25
|
-
name: "ReadWriteSwitchDemo",
|
|
26
|
-
data() {
|
|
27
|
-
return {
|
|
28
|
-
write: false,
|
|
29
|
-
input: "单击填写"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
methods: {
|
|
33
|
-
change(obj) {
|
|
34
|
-
console.log(obj)
|
|
35
|
-
},
|
|
36
|
-
read() {
|
|
37
|
-
this.write = false
|
|
38
|
-
},
|
|
39
|
-
blur() {
|
|
40
|
-
this.read()
|
|
41
|
-
},
|
|
42
|
-
keydown(e) {
|
|
43
|
-
if (e.keyCode === 13) {
|
|
44
|
-
this.read()
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
keydown2(e, read) {
|
|
48
|
-
if (e.keyCode === 13) {
|
|
49
|
-
read()
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
</script>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<fu-select-rw-switch v-model="select">
|
|
4
|
-
<template #read>
|
|
5
|
-
<el-tag disable-transitions v-if="select === 'zh-CN'" type="danger">中文</el-tag>
|
|
6
|
-
<el-tag disable-transitions v-else>English</el-tag>
|
|
7
|
-
</template>
|
|
8
|
-
<el-option key="zh-CN" label="中文" value="zh-CN"/>
|
|
9
|
-
<el-option key="en-US" label="English" value="en-US"/>
|
|
10
|
-
</fu-select-rw-switch>
|
|
11
|
-
</div>
|
|
12
|
-
</template>
|
|
13
|
-
|
|
14
|
-
<script>
|
|
15
|
-
export default {
|
|
16
|
-
name: "SelectRwSwitchDemo",
|
|
17
|
-
data() {
|
|
18
|
-
return {
|
|
19
|
-
select: "zh-CN"
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
</script>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<fu-table :data="tableData">
|
|
4
|
-
<el-table-column type="selection"></el-table-column>
|
|
5
|
-
<el-table-column prop="name" label="姓名" min-width="180" fix></el-table-column>
|
|
6
|
-
|
|
7
|
-
<el-table-column prop="enable" label="语言(可行内编辑)">
|
|
8
|
-
<template #default="{row}">
|
|
9
|
-
<fu-select-rw-switch v-model="row.language">
|
|
10
|
-
<template #read>
|
|
11
|
-
<el-tag disable-transitions v-if="row.language === 'zh-CN'" type="danger">中文</el-tag>
|
|
12
|
-
<el-tag disable-transitions v-else>English</el-tag>
|
|
13
|
-
</template>
|
|
14
|
-
<el-option key="zh-CN" label="中文" value="zh-CN"/>
|
|
15
|
-
<el-option key="en-US" label="English" value="en-US"/>
|
|
16
|
-
</fu-select-rw-switch>
|
|
17
|
-
</template>
|
|
18
|
-
</el-table-column>
|
|
19
|
-
|
|
20
|
-
<el-table-column prop="address" label="地址(可行内编辑)">
|
|
21
|
-
<template #default="{row}">
|
|
22
|
-
<fu-input-rw-switch v-model="row.address"></fu-input-rw-switch>
|
|
23
|
-
</template>
|
|
24
|
-
</el-table-column>
|
|
25
|
-
<el-table-column prop="date" label="日期" min-width="180"></el-table-column>
|
|
26
|
-
</fu-table>
|
|
27
|
-
</div>
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<script>
|
|
31
|
-
export default {
|
|
32
|
-
name: "TableInnerEditDemo",
|
|
33
|
-
data() {
|
|
34
|
-
return {
|
|
35
|
-
tableData: [
|
|
36
|
-
{
|
|
37
|
-
date: '2016-05-01',
|
|
38
|
-
name: '张三',
|
|
39
|
-
language: "zh-CN",
|
|
40
|
-
address: '北京朝阳区财富中心 1室'
|
|
41
|
-
}, {
|
|
42
|
-
date: '2016-05-02',
|
|
43
|
-
name: '张三',
|
|
44
|
-
language: "en-US",
|
|
45
|
-
address: '北京朝阳区财富中心 2室'
|
|
46
|
-
}, {
|
|
47
|
-
date: '2016-05-03',
|
|
48
|
-
name: '张三',
|
|
49
|
-
language: "zh-CN",
|
|
50
|
-
address: '北京朝阳区财富中心 3室'
|
|
51
|
-
}, {
|
|
52
|
-
date: '2016-05-04',
|
|
53
|
-
name: '张三',
|
|
54
|
-
language: "en-US",
|
|
55
|
-
address: '北京朝阳区财富中心 4室'
|
|
56
|
-
}, {
|
|
57
|
-
date: '2016-05-05',
|
|
58
|
-
name: '张三',
|
|
59
|
-
language: "zh-CN",
|
|
60
|
-
address: '北京朝阳区财富中心 5室'
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
methods: {
|
|
66
|
-
blur(read) {
|
|
67
|
-
setTimeout(() => {
|
|
68
|
-
read()
|
|
69
|
-
}, 100)
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
</script>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<div style="line-height: 40px;">
|
|
4
|
-
<fu-read-write-switch :data="click" v-model="write">
|
|
5
|
-
<el-input v-model="click" @blur="write = false"/>
|
|
6
|
-
</fu-read-write-switch>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div style="line-height: 40px;">
|
|
10
|
-
<fu-read-write-switch :data="dblclick" v-model="write2" write-trigger="dblclick">
|
|
11
|
-
<el-input v-model="dblclick" @blur="write2 = false"/>
|
|
12
|
-
</fu-read-write-switch>
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
<div style="line-height: 40px;">
|
|
16
|
-
<fu-read-write-switch :data="manual" v-model="write3" write-trigger="manual">
|
|
17
|
-
<el-input v-model="manual" @blur="write3 = false"/>
|
|
18
|
-
</fu-read-write-switch>
|
|
19
|
-
<el-button @click="write3 = true">点击按钮填写</el-button>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
</template>
|
|
24
|
-
|
|
25
|
-
<script>
|
|
26
|
-
export default {
|
|
27
|
-
name: "WriteSwitchDemo",
|
|
28
|
-
data() {
|
|
29
|
-
return {
|
|
30
|
-
write: false,
|
|
31
|
-
write2: false,
|
|
32
|
-
write3: false,
|
|
33
|
-
click: "单击填写",
|
|
34
|
-
dblclick: "双击填写",
|
|
35
|
-
manual: "点击无法填写",
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
</script>
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<!-- 一级标题 -->
|
|
4
|
-
<h1 class="component-h1">ReadWriteSwitch 读写切换</h1>
|
|
5
|
-
<!-- 一级描述 -->
|
|
6
|
-
<p>读状态与写状态切换,读状态默认显示只读文本,可以自定义读/写状态的内容</p>
|
|
7
|
-
<!--内容 -->
|
|
8
|
-
<div class="component-block" v-for="(item, index) in comList" :key="index">
|
|
9
|
-
<h2>{{ item.title }}</h2>
|
|
10
|
-
<p>{{ item.titleDesc }}</p>
|
|
11
|
-
<code-example :component="item.component" />
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
</template>
|
|
15
|
-
|
|
16
|
-
<script setup lang="ts">
|
|
17
|
-
import BaseDemo from "./demo/BaseDemo.vue";
|
|
18
|
-
import CustomContentDemo from "./demo/CustomContentDemo.vue";
|
|
19
|
-
import InputRwSwitchDemo from "./demo/InputRwSwitchDemo.vue";
|
|
20
|
-
import ReadSwitchDemo from "./demo/ReadSwitchDemo.vue";
|
|
21
|
-
import SelectRwSwitchDemo from "./demo/SelectRwSwitchDemo.vue";
|
|
22
|
-
import TableInnerEditDemo from "./demo/TableInnerEditDemo.vue";
|
|
23
|
-
import WriteSwitchDemo from "./demo/WriteSwitchDemo.vue";
|
|
24
|
-
const comList = [
|
|
25
|
-
{
|
|
26
|
-
title: "基本用法",
|
|
27
|
-
titleDesc: "读写状态切换,允许自定义读写内容、自定义读写状态控制,可用于Table 表内编辑等",
|
|
28
|
-
component: BaseDemo,
|
|
29
|
-
},
|
|
30
|
-
// {
|
|
31
|
-
// title: "写状态控制",
|
|
32
|
-
// titleDesc: "单击,双击,手动触发",
|
|
33
|
-
// component: WriteSwitchDemo,
|
|
34
|
-
// },
|
|
35
|
-
// {
|
|
36
|
-
// title: "读状态控制",
|
|
37
|
-
// titleDesc: "使用v-model或者使用slot的参数切换读状态",
|
|
38
|
-
// component: ReadSwitchDemo,
|
|
39
|
-
// },
|
|
40
|
-
// {
|
|
41
|
-
// title: "自定义读写内容",
|
|
42
|
-
// titleDesc: "v-slot:read 和 v-slot:default 分别为读内容和写内容",
|
|
43
|
-
// component: CustomContentDemo,
|
|
44
|
-
// },
|
|
45
|
-
// {
|
|
46
|
-
// title: "InputRwSwitch",
|
|
47
|
-
// titleDesc: "Input状态切换组件",
|
|
48
|
-
// component: InputRwSwitchDemo,
|
|
49
|
-
// description: `继承el-input的功能`
|
|
50
|
-
// },
|
|
51
|
-
// {
|
|
52
|
-
// title: "SelectRwSwitch",
|
|
53
|
-
// titleDesc: "Select状态切换组件",
|
|
54
|
-
// component: SelectRwSwitchDemo,
|
|
55
|
-
// description: `继承el-select的功能`
|
|
56
|
-
// },
|
|
57
|
-
// {
|
|
58
|
-
// title: "表格行内编辑",
|
|
59
|
-
// titleDesc: "使用 InputRwSwitch 和 SelectRwSwitch 实现行内编辑功能",
|
|
60
|
-
// component: TableInnerEditDemo,
|
|
61
|
-
// }
|
|
62
|
-
]
|
|
63
|
-
|
|
64
|
-
</script>
|
|
65
|
-
|
|
66
|
-
<style lang="scss" scoped>
|
|
67
|
-
.component-block {
|
|
68
|
-
margin-top: 40px;
|
|
69
|
-
|
|
70
|
-
p {
|
|
71
|
-
font-size: 14px;
|
|
72
|
-
color: #5e6d82;
|
|
73
|
-
line-height: 1.5em;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
h2 {
|
|
77
|
-
font-weight: 400;
|
|
78
|
-
color: #1f2f3d;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
</style>
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<demo>基本用法</demo>
|
|
2
|
-
<template>
|
|
3
|
-
<div class="speed-dial-demo">
|
|
4
|
-
<div>
|
|
5
|
-
<fu-speed-dial id="left" size="big" direction="left" :items="items" @click="click" />
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
<div>
|
|
9
|
-
<fu-speed-dial id="top" :items="items" @click="click" type="success" icon="el-icon-video-play"
|
|
10
|
-
active-icon="el-icon-video-pause" />
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<div>
|
|
14
|
-
<fu-speed-dial icon="iconfont icon-money" id="right" size="medium" direction="right" type="warning" :items="items"
|
|
15
|
-
@click="click" />
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<div>
|
|
19
|
-
<fu-speed-dial id="bottom" size="small" direction="bottom" type="danger" :items="items" @click="click" />
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
23
|
-
|
|
24
|
-
<script setup lang="ts">
|
|
25
|
-
const items = [
|
|
26
|
-
{ title: "Item 1", click: clickItem },
|
|
27
|
-
{ title: "Item 2", click: clickItem },
|
|
28
|
-
{ title: "Item 3", click: clickItem, icon: "iconfont icon-huiyuan" },
|
|
29
|
-
{ title: "Item 4", click: clickItem },
|
|
30
|
-
{ title: "Item 5", click: clickItem },
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
function click(obj, e) {
|
|
34
|
-
console.log(obj, e)
|
|
35
|
-
}
|
|
36
|
-
function clickItem(item, e) {
|
|
37
|
-
console.log(item, e)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
</script>
|
|
41
|
-
|
|
42
|
-
<style lang="scss" scoped>
|
|
43
|
-
.speed-dial-demo {
|
|
44
|
-
display: flex;
|
|
45
|
-
align-items: center;
|
|
46
|
-
|
|
47
|
-
>div {
|
|
48
|
-
width: 25%;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
</style>
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="speed-dial-demo">
|
|
3
|
-
<div>
|
|
4
|
-
<h4>
|
|
5
|
-
默认
|
|
6
|
-
</h4>
|
|
7
|
-
<fu-speed-dial>
|
|
8
|
-
<fu-speed-dial-item :index="0" title="No.0" @click="clickItem"/>
|
|
9
|
-
<fu-speed-dial-item :index="1" title="No.1" @click="clickItem"/>
|
|
10
|
-
</fu-speed-dial>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<div>
|
|
14
|
-
<h4>
|
|
15
|
-
Items数组
|
|
16
|
-
</h4>
|
|
17
|
-
<fu-speed-dial :items="items"/>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<div>
|
|
21
|
-
<h4>
|
|
22
|
-
Slot
|
|
23
|
-
</h4>
|
|
24
|
-
<fu-speed-dial>
|
|
25
|
-
<fu-speed-dial-item :index="0" title="No.0" @click="clickItem" color="#222" bg-color="#DDD"
|
|
26
|
-
title-bg-color="#F1F1F1" title-color="#555"/>
|
|
27
|
-
<fu-speed-dial-item :index="1" title="No.1" @click="clickItem" button-class="custom-button"
|
|
28
|
-
title-class="custom-title"/>
|
|
29
|
-
</fu-speed-dial>
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
<div>
|
|
33
|
-
<h4>
|
|
34
|
-
Item Slot
|
|
35
|
-
</h4>
|
|
36
|
-
<fu-speed-dial ref="speed-dial">
|
|
37
|
-
<fu-speed-dial-item :index="0">
|
|
38
|
-
<el-button @click="clickItem({title: 'Item 1',index: 0, custom:true},$event)">Item 1</el-button>
|
|
39
|
-
</fu-speed-dial-item>
|
|
40
|
-
|
|
41
|
-
<fu-speed-dial-item :index="1">
|
|
42
|
-
<el-button @click="clickItem({title: 'Item 2',index: 1, custom:true})">Item 2</el-button>
|
|
43
|
-
</fu-speed-dial-item>
|
|
44
|
-
</fu-speed-dial>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</template>
|
|
48
|
-
|
|
49
|
-
<script>
|
|
50
|
-
const itemStyle = {
|
|
51
|
-
bgColor: "#DDD",
|
|
52
|
-
color: "#222",
|
|
53
|
-
titleBgColor: "#F1F1F1",
|
|
54
|
-
titleColor: "#555",
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export default {
|
|
58
|
-
name: "BaseSpeedDial",
|
|
59
|
-
data() {
|
|
60
|
-
return {
|
|
61
|
-
items: [
|
|
62
|
-
{
|
|
63
|
-
title: "Item 1",
|
|
64
|
-
icon: "el-icon-edit",
|
|
65
|
-
click: this.clickItem,
|
|
66
|
-
...itemStyle
|
|
67
|
-
},
|
|
68
|
-
{title: "Item 2", click: this.clickItem, ...itemStyle},
|
|
69
|
-
{title: "Item 3", click: this.clickItem, ...itemStyle},
|
|
70
|
-
{title: "Item 4", click: this.clickItem, ...itemStyle},
|
|
71
|
-
{title: "Item 5", click: this.clickItem, ...itemStyle},
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
methods: {
|
|
76
|
-
click(obj, e) {
|
|
77
|
-
console.log(obj, e)
|
|
78
|
-
},
|
|
79
|
-
clickItem(item, e) {
|
|
80
|
-
if (item.custom) {
|
|
81
|
-
this.$refs["speed-dial"].close()
|
|
82
|
-
}
|
|
83
|
-
console.log(item, e)
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
</script>
|
|
88
|
-
|
|
89
|
-
<style lang="scss" scoped>
|
|
90
|
-
.speed-dial-demo {
|
|
91
|
-
display: flex;
|
|
92
|
-
align-items: center;
|
|
93
|
-
|
|
94
|
-
> div {
|
|
95
|
-
width: 25%;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
::v-deep(.custom-button) {
|
|
100
|
-
color: #222;
|
|
101
|
-
background-color: #DDD;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
::v-deep(.custom-title) {
|
|
105
|
-
color: #555;
|
|
106
|
-
background-color: #F1F1F1;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
</style>
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="speed-dial-demo">
|
|
3
|
-
<div>
|
|
4
|
-
拖拽:
|
|
5
|
-
<el-radio-group v-model="movable">
|
|
6
|
-
<el-radio :label="true">允许</el-radio>
|
|
7
|
-
<el-radio :label="false">禁止</el-radio>
|
|
8
|
-
</el-radio-group>
|
|
9
|
-
</div>
|
|
10
|
-
<div>
|
|
11
|
-
position:
|
|
12
|
-
<el-radio-group v-model="position">
|
|
13
|
-
<el-radio label="absolute">absolute</el-radio>
|
|
14
|
-
<el-radio label="fixed">fixed</el-radio>
|
|
15
|
-
</el-radio-group>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<div class="speed-dial-move">
|
|
19
|
-
<fu-speed-dial :position="position" bottom="calc(50% - 20px)" right="calc(50% - 20px)"
|
|
20
|
-
:movable="movable" :items="items" @click="click"/>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
</template>
|
|
24
|
-
|
|
25
|
-
<script>
|
|
26
|
-
export default {
|
|
27
|
-
name: "SpeedDialPosition",
|
|
28
|
-
data() {
|
|
29
|
-
return {
|
|
30
|
-
position: "absolute",
|
|
31
|
-
movable: false,
|
|
32
|
-
items: [
|
|
33
|
-
{title: "Item 1", click: this.clickItem},
|
|
34
|
-
{title: "Item 2", click: this.clickItem},
|
|
35
|
-
{title: "Item 3", click: this.clickItem},
|
|
36
|
-
{title: "Item 4", click: this.clickItem},
|
|
37
|
-
{title: "Item 5", click: this.clickItem},
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
methods: {
|
|
42
|
-
click(obj, e) {
|
|
43
|
-
console.log(obj, e)
|
|
44
|
-
},
|
|
45
|
-
clickItem(item, e) {
|
|
46
|
-
console.log(item, e)
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
}
|
|
50
|
-
</script>
|
|
51
|
-
|
|
52
|
-
<style lang="scss" scoped>
|
|
53
|
-
.speed-dial-demo {
|
|
54
|
-
width: 100%;
|
|
55
|
-
|
|
56
|
-
.speed-dial-move {
|
|
57
|
-
margin-top: 10px;
|
|
58
|
-
border: 1px #7c7c7c dashed;
|
|
59
|
-
position: relative;
|
|
60
|
-
width: 100%;
|
|
61
|
-
height: 100px;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
</style>
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="speed-dial-demo">
|
|
3
|
-
<div>
|
|
4
|
-
<h4>默认设置</h4>
|
|
5
|
-
<fu-speed-dial :items="items"/>
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
<div>
|
|
9
|
-
<h4>item点击后不关闭</h4>
|
|
10
|
-
<fu-speed-dial direction="left" :items="items" :item-click-close="false"/>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<div>
|
|
14
|
-
<h4>点击空白处不关闭</h4>
|
|
15
|
-
<fu-speed-dial :items="items" :outside-close="false"/>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<div>
|
|
19
|
-
<h4>
|
|
20
|
-
手动开关
|
|
21
|
-
<el-button size="small" class="fab-demo-manual" @click="toggle">
|
|
22
|
-
<span v-if="active">关闭</span>
|
|
23
|
-
<span v-else>打开</span>
|
|
24
|
-
</el-button>
|
|
25
|
-
</h4>
|
|
26
|
-
|
|
27
|
-
<fu-speed-dial :items="items" :manual="true" v-model="active"/>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
</template>
|
|
31
|
-
|
|
32
|
-
<script>
|
|
33
|
-
export default {
|
|
34
|
-
name: "SpeedDialTrigger",
|
|
35
|
-
data() {
|
|
36
|
-
return {
|
|
37
|
-
active: false,
|
|
38
|
-
items: [
|
|
39
|
-
{title: "Item 1"},
|
|
40
|
-
{title: "Item 2"},
|
|
41
|
-
{title: "Item 3"},
|
|
42
|
-
{title: "Item 4"},
|
|
43
|
-
{title: "Item 5"},
|
|
44
|
-
]
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
methods: {
|
|
48
|
-
toggle() {
|
|
49
|
-
this.active = !this.active;
|
|
50
|
-
},
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
</script>
|
|
54
|
-
|
|
55
|
-
<style lang="scss" scoped>
|
|
56
|
-
.speed-dial-demo {
|
|
57
|
-
display: flex;
|
|
58
|
-
align-items: center;
|
|
59
|
-
|
|
60
|
-
> div {
|
|
61
|
-
width: 25%;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
</style>
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<!-- 一级标题 -->
|
|
4
|
-
<h1 class="component-h1">SpeedDial 快速拨号</h1>
|
|
5
|
-
<!-- 一级描述 -->
|
|
6
|
-
<p>快速拨号,支持4个方向,支持固定位置,支持移动位置;图标支持iconfont;</p>
|
|
7
|
-
<!-- BaseTable内容 -->
|
|
8
|
-
<div class="component-block" v-for="(item, index) in comList" :key="index">
|
|
9
|
-
<h2>{{ item.title }}</h2>
|
|
10
|
-
<p>{{ item.titleDesc }}</p>
|
|
11
|
-
<code-example :description="item.description" :component="item.component" />
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
</template>
|
|
15
|
-
|
|
16
|
-
<script setup lang="ts">
|
|
17
|
-
import BaseSpeedDial from "./demo/BaseSpeedDial.vue";
|
|
18
|
-
import SpeedDialPosition from "./demo/SpeedDialPosition.vue";
|
|
19
|
-
import SpeedDialTrigger from "./demo/SpeedDialTrigger.vue";
|
|
20
|
-
import SpeedDialCustom from "./demo/SpeedDialCustom.vue";
|
|
21
|
-
|
|
22
|
-
const comList = [
|
|
23
|
-
{
|
|
24
|
-
title: "基本用法",
|
|
25
|
-
titleDesc: "可以设置方向,大小,主题,图标",
|
|
26
|
-
component: BaseSpeedDial,
|
|
27
|
-
description: `控制台查看click事件`
|
|
28
|
-
}, {
|
|
29
|
-
title: "定位方式",
|
|
30
|
-
titleDesc: "position 设置 absolute / fixed 可以固定位置,并且可以移动位置",
|
|
31
|
-
component: SpeedDialPosition,
|
|
32
|
-
description: `设置localKey,可以保存移动位置到localStorage`
|
|
33
|
-
}, {
|
|
34
|
-
title: "开关方式",
|
|
35
|
-
titleDesc: "",
|
|
36
|
-
component: SpeedDialTrigger,
|
|
37
|
-
description: `设置localKey,可以保存移动位置到localStorage`
|
|
38
|
-
}, {
|
|
39
|
-
title: "自定义内容",
|
|
40
|
-
titleDesc: "",
|
|
41
|
-
component: SpeedDialCustom,
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
</script>
|
|
45
|
-
|
|
46
|
-
<style lang="scss" scoped>
|
|
47
|
-
.component-block {
|
|
48
|
-
margin-top: 40px;
|
|
49
|
-
|
|
50
|
-
p {
|
|
51
|
-
font-size: 14px;
|
|
52
|
-
color: #5e6d82;
|
|
53
|
-
line-height: 1.5em;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
h2 {
|
|
57
|
-
font-weight: 400;
|
|
58
|
-
color: #1f2f3d;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
</style>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
<demo>基本用法</demo>
|
|
2
|
-
<template>
|
|
3
|
-
<div>
|
|
4
|
-
<el-divider content-position="left">水平分割</el-divider>
|
|
5
|
-
<div class="demo-split">
|
|
6
|
-
<fu-split-pane left="200px">
|
|
7
|
-
<template v-slot:left>
|
|
8
|
-
Left
|
|
9
|
-
</template>
|
|
10
|
-
<template v-slot:right>
|
|
11
|
-
Right
|
|
12
|
-
</template>
|
|
13
|
-
</fu-split-pane>
|
|
14
|
-
</div>
|
|
15
|
-
<el-divider content-position="left">垂直分割</el-divider>
|
|
16
|
-
<div class="demo-split">
|
|
17
|
-
<fu-split-pane top="40%" direction="vertical">
|
|
18
|
-
<template v-slot:top>
|
|
19
|
-
Top
|
|
20
|
-
</template>
|
|
21
|
-
<template v-slot:bottom>
|
|
22
|
-
Bottom
|
|
23
|
-
</template>
|
|
24
|
-
</fu-split-pane>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</template>
|
|
28
|
-
|
|
29
|
-
<script setup lang="ts">
|
|
30
|
-
</script>
|
|
31
|
-
<style lang="scss" scoped>
|
|
32
|
-
.demo-split {
|
|
33
|
-
height: 200px;
|
|
34
|
-
border: 1px solid #dcdee2;
|
|
35
|
-
}
|
|
36
|
-
</style>
|