diff --git a/src/assets/images/chart/tables/table_scrollboard.png b/src/assets/images/chart/tables/table_scrollboard.png
new file mode 100644
index 00000000..355ca73a
Binary files /dev/null and b/src/assets/images/chart/tables/table_scrollboard.png differ
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/config.ts b/src/packages/components/Tables/Tables/TableScrollBoard/config.ts
index ab9f01b2..b93dfc24 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/config.ts
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/config.ts
@@ -2,28 +2,27 @@ import { publicConfig } from '@/packages/public'
import { CreateComponentType } from '@/packages/index.d'
import { TableScrollBoardConfig } from './index'
import cloneDeep from 'lodash/cloneDeep'
-import dataJson from './data.json'
+import dataJson from './data'
export const option = {
header: ['列1', '列2', '列3'],
- data: [
- ['行1列1', '行1列2', '行1列3'],
- ['行2列1', '行2列2', '行2列3'],
- ['行3列1', '行3列2', '行3列3'],
- ['行4列1', '行4列2', '行4列3'],
- ['行5列1', '行5列2', '行5列3'],
- ['行6列1', '行6列2', '行6列3'],
- ['行7列1', '行7列2', '行7列3'],
- ['行8列1', '行8列2', '行8列3'],
- ['行9列1', '行9列2', '行9列3'],
- ['行10列1', '行10列2', '行10列3']
- ],
+ dataset: dataJson,
index: true,
- columnWidth: [30,100,100],
- align: ['center']
+ columnWidth: [30, 100, 100],
+ align: ['center','right','right','right'],
+ rowNum: 5,
+ waitTime: 2,
+ headerHeight: 35,
+ carousel: 'single',
+ headerBGC: '#00BAFF',
+ oddRowBGC: '#003B51',
+ evenRowBGC: '#0A2732',
}
-export default class Config extends publicConfig implements CreateComponentType {
+export default class Config
+ extends publicConfig
+ implements CreateComponentType
+{
public key = TableScrollBoardConfig.key
public chartConfig = cloneDeep(TableScrollBoardConfig)
public option = cloneDeep(option)
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/config.vue b/src/packages/components/Tables/Tables/TableScrollBoard/config.vue
index bd7c34c5..85a56595 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/config.vue
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/config.vue
@@ -17,35 +17,67 @@
placeholder="请输入轮播时间"
>
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
@@ -53,7 +85,7 @@
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/data.json b/src/packages/components/Tables/Tables/TableScrollBoard/data.js
similarity index 95%
rename from src/packages/components/Tables/Tables/TableScrollBoard/data.json
rename to src/packages/components/Tables/Tables/TableScrollBoard/data.js
index f9ffeab3..267c2ffc 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/data.json
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/data.js
@@ -1,4 +1,4 @@
-[
+export default [
['行1列1', '行1列2', '行1列3'],
['行2列1', '行2列2', '行2列3'],
['行3列1', '行3列2', '行3列3'],
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/index.ts b/src/packages/components/Tables/Tables/TableScrollBoard/index.ts
index e2070edf..0ceb94bb 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/index.ts
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/index.ts
@@ -1,4 +1,4 @@
-import image from '@/assets/images/chart/tables/tables_list.png'
+import image from '@/assets/images/chart/tables/table_scrollboard.png'
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
diff --git a/src/packages/components/Tables/Tables/TableScrollBoard/index.vue b/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
index 93f5e1bb..f029412e 100644
--- a/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
+++ b/src/packages/components/Tables/Tables/TableScrollBoard/index.vue
@@ -10,7 +10,7 @@
+ :style="`height: ${h - (status.header.length ? status.mergedConfig.headerHeight : 0)}px;`">
${i + 1}`
row.unshift(indexTag)
return row
})
}
- data = data.map((ceils, i) => ({ ceils, rowIndex: i }))
- const rowLength = data.length
+ dataset = dataset.map((ceils, i) => ({ ceils, rowIndex: i }))
+ const rowLength = dataset.length
if (rowLength > rowNum && rowLength < 2 * rowNum) {
- data = [...data, ...data]
+ dataset = [...dataset, ...dataset]
}
- data = data.map((d, i) => ({ ...d, scroll: i }))
+ dataset = dataset.map((d, i) => ({ ...d, scroll: i }))
- status.rowsData = data
- status.rows = data
+ status.rowsData = dataset
+ status.rows = dataset
}
const calcWidths = () => {
const { mergedConfig, rowsData } = status
const { columnWidth, header } = mergedConfig
- const usedWidth = columnWidth.reduce((all, w) => all + w, 0)
+ const usedWidth = columnWidth.reduce((all, ws) => all + ws, 0)
let columnNum = 0
if (rowsData[0]) {
columnNum = rowsData[0].ceils.length
} else if (header.length) {
columnNum = header.length
}
- const avgWidth = (w - usedWidth) / (columnNum - columnWidth.length)
+ const avgWidth = (w.value - usedWidth) / (columnNum - columnWidth.length)
const widths = new Array(columnNum).fill(avgWidth)
status.widths = merge(widths, columnWidth)
}
const calcHeights = (onresize = false) => {
const { mergedConfig, header } = status
- const { headerHeight, rowNum, data } = mergedConfig
- let allHeight = h
+ const { headerHeight, rowNum, dataset } = mergedConfig
+ let allHeight = h.value
if (header.length) allHeight -= headerHeight
const avgHeight = allHeight / rowNum
status.avgHeight = avgHeight
- if (!onresize) status.heights = new Array(data.length).fill(avgHeight)
+ if (!onresize) status.heights = new Array(dataset.length).fill(avgHeight)
}
const calcAligns = () => {
@@ -253,13 +244,13 @@ const animation = async (start = false) => {
calcHeights()
status.needCalc = false
}
-
let { avgHeight, animationIndex, mergedConfig, rowsData, updater } = status
const { waitTime, carousel, rowNum } = mergedConfig
+
const rowLength = rowsData.length
if (rowNum >= rowLength) return
if (start) {
- await new Promise(resolve => setTimeout(resolve, waitTime))
+ await new Promise(resolve => setTimeout(resolve, waitTime*1000))
if (updater !== status.updater) return
}
const animationNum = carousel === 'single' ? 1 : rowNum
@@ -274,7 +265,7 @@ const animation = async (start = false) => {
const back = animationIndex - rowLength
if (back >= 0) animationIndex = back
status.animationIndex = animationIndex
- status.animationHandler = setTimeout(animation, waitTime - 300) as any
+ status.animationHandler = setTimeout(animation, waitTime*1000 - 300) as any
}
const stopAnimation = () => {
@@ -303,19 +294,13 @@ watch(
}
)
-// watch(
-// () => rowNum.value,
-// () => {
-// onRestart()
-// }
-// )
-
// 数据更新
watch(
- () => props.chartConfig.option.dataset,
+ () => props.chartConfig.option,
() => {
onRestart()
- }
+ },
+ {deep:true}
)
// 数据更新 (默认更新 dataset,若更新之后有其它操作,可添加回调函数)
@@ -348,8 +333,6 @@ onUnmounted(() => {
font-size: 15px;
.header-item {
- .text {
- }
transition: all 0.3s;
}
}
@@ -361,15 +344,7 @@ onUnmounted(() => {
display: flex;
font-size: 14px;
transition: all 0.3s;
- }
-
- .ceil {
- // .text;
- }
-
- .index {
- border-radius: 3px;
- padding: 0px 10px;
+ overflow: hidden;
}
}
}