rayyy-vue-table-components 2.0.37 → 2.0.38

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rayyy-vue-table-components",
3
- "version": "2.0.37",
3
+ "version": "2.0.38",
4
4
  "description": "Vue 3 + Element Plus 表格組件庫",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.js",
@@ -5,7 +5,6 @@ import { useI18n } from 'vue-i18n'
5
5
  import type { TableColumnCtx } from 'element-plus'
6
6
  import type { SortChangValue, TableColumn } from '@/types'
7
7
  import type { Language } from 'element-plus/es/locale'
8
- import { useComponentElementLocale } from '@/utils/i18n'
9
8
 
10
9
  const { t } = useI18n()
11
10
 
@@ -80,91 +79,75 @@ const operatorWidth = computed(() => {
80
79
  return 60
81
80
  }
82
81
  })
83
-
84
- // 優先使用 prop,沒有 prop 則使用 composable
85
- const elementLocale = computed(() => {
86
- if (props.locale) {
87
- return props.locale
88
- }
89
- return useComponentElementLocale().value
90
- })
91
82
  </script>
92
83
 
93
84
  <template>
94
- <el-config-provider :locale="elementLocale">
95
- <el-table
96
- v-if="data.length > 0"
97
- v-loading="loading"
98
- :element-loading-text="t('common.loading')"
99
- :data="data"
100
- border
101
- :show-summary="showSummary"
102
- :show-overflow-tooltip="showOverFlowTooltip"
103
- :summary-method="getSummaries"
104
- :row-class-name="tableRowClassName"
105
- class="data-table"
106
- @selection-change="handleSelectionChange"
107
- @current-change="(currentRow: any) => emit('current-change', currentRow)"
108
- :sort="() => {}"
109
- @sort-change="onSortChange"
110
- >
111
- <!-- 選擇列 -->
112
- <el-table-column
113
- v-if="showSelection"
114
- type="selection"
115
- width="60"
116
- fixed="left"
117
- align="center"
118
- />
85
+ <el-table
86
+ v-if="data.length > 0"
87
+ v-loading="loading"
88
+ :element-loading-text="t('common.loading')"
89
+ :data="data"
90
+ border
91
+ :show-summary="showSummary"
92
+ :show-overflow-tooltip="showOverFlowTooltip"
93
+ :summary-method="getSummaries"
94
+ :row-class-name="tableRowClassName"
95
+ class="data-table"
96
+ @selection-change="handleSelectionChange"
97
+ @current-change="(currentRow: any) => emit('current-change', currentRow)"
98
+ :sort="() => {}"
99
+ @sort-change="onSortChange"
100
+ >
101
+ <!-- 選擇列 -->
102
+ <el-table-column v-if="showSelection" type="selection" width="60" fixed="left" align="center" />
119
103
 
120
- <!-- 數據列 -->
121
- <el-table-column v-for="(column, index) in columns" :key="index" v-bind="column">
122
- <template #default="{ row }">
123
- <div class="cell-content" @click="handleCellClick(column, row)">
124
- <template v-if="column.formatter">
125
- {{ column.formatter(row) }}
126
- </template>
127
- <component
128
- v-else-if="column.template"
129
- :is="{
130
- setup() {
131
- return () => column.template?.(row)
132
- },
133
- }"
134
- />
135
- <span v-else-if="column.prop">{{ row[column.prop] }}</span>
136
- </div>
137
- </template>
138
- </el-table-column>
139
- <el-table-column
140
- v-if="props.showCheckBtn || props.showEditBtn"
141
- :width="operatorWidth"
142
- align="center"
143
- fixed="right"
144
- >
145
- <template #default="{ row }">
146
- <div class="flex items-center justify-center">
147
- <p
148
- class="blue-text cursor-pointer font-bold"
149
- @click="handleOperateClick(row, 'check')"
150
- v-if="showCheckBtn"
151
- >
152
- {{ t('common.view') }}
153
- </p>
154
- <el-divider direction="vertical" class="!mx-2" v-if="showCheckBtn && showEditBtn" />
155
- <p
156
- class="blue-text cursor-pointer font-bold"
157
- @click="handleOperateClick(row, 'edit')"
158
- v-if="showEditBtn"
159
- >
160
- {{ t('common.edit') }}
161
- </p>
162
- </div>
163
- </template>
164
- </el-table-column>
165
- </el-table>
166
- <el-empty :description="t('table.empty')" v-else />
167
- </el-config-provider>
104
+ <!-- 數據列 -->
105
+ <el-table-column v-for="(column, index) in columns" :key="index" v-bind="column">
106
+ <template #default="{ row }">
107
+ <div class="cell-content" @click="handleCellClick(column, row)">
108
+ <template v-if="column.formatter">
109
+ {{ column.formatter(row) }}
110
+ </template>
111
+ <component
112
+ v-else-if="column.template"
113
+ :is="{
114
+ setup() {
115
+ return () => column.template?.(row)
116
+ },
117
+ }"
118
+ />
119
+ <span v-else-if="column.prop">{{ row[column.prop] }}</span>
120
+ </div>
121
+ </template>
122
+ </el-table-column>
123
+ <el-table-column
124
+ v-if="props.showCheckBtn || props.showEditBtn"
125
+ :width="operatorWidth"
126
+ align="center"
127
+ fixed="right"
128
+ >
129
+ <template #default="{ row }">
130
+ <div class="flex items-center justify-center">
131
+ <p
132
+ class="blue-text cursor-pointer font-bold"
133
+ @click="handleOperateClick(row, 'check')"
134
+ v-if="showCheckBtn"
135
+ >
136
+ {{ t('common.view') }}
137
+ </p>
138
+ <el-divider direction="vertical" class="!mx-2" v-if="showCheckBtn && showEditBtn" />
139
+ <p
140
+ class="blue-text cursor-pointer font-bold"
141
+ @click="handleOperateClick(row, 'edit')"
142
+ v-if="showEditBtn"
143
+ >
144
+ {{ t('common.edit') }}
145
+ </p>
146
+ </div>
147
+ </template>
148
+ </el-table-column>
149
+ </el-table>
150
+ <el-empty :description="t('table.empty')" v-else />
168
151
  </template>
169
152
 
170
153
  <style scoped lang="scss"></style>