|
@@ -1,3 +1,5 @@
|
|
|
+import Sortable from "sortablejs";
|
|
|
+import { transformI18n } from "@/plugins/i18n";
|
|
|
import { useEpThemeStoreHook } from "@/store/modules/epTheme";
|
|
|
import { defineComponent, ref, computed, type PropType, nextTick } from "vue";
|
|
|
import {
|
|
@@ -8,7 +10,6 @@ import {
|
|
|
getKeyList
|
|
|
} from "@pureadmin/utils";
|
|
|
|
|
|
-import Sortable from "sortablejs";
|
|
|
import DragIcon from "./svg/drag.svg?component";
|
|
|
import ExpandIcon from "./svg/expand.svg?component";
|
|
|
import RefreshIcon from "./svg/refresh.svg?component";
|
|
@@ -118,6 +119,7 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
function handleCheckedColumnsChange(value: string[]) {
|
|
|
+ checkedColumns.value = value;
|
|
|
const checkedCount = value.length;
|
|
|
checkAll.value = checkedCount === checkColumnList.length;
|
|
|
isIndeterminate.value =
|
|
@@ -125,7 +127,9 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
function handleCheckColumnListChange(val: boolean, label: string) {
|
|
|
- dynamicColumns.value.filter(item => item.label === label)[0].hide = !val;
|
|
|
+ dynamicColumns.value.filter(
|
|
|
+ item => transformI18n(item.label) === transformI18n(label)
|
|
|
+ )[0].hide = !val;
|
|
|
}
|
|
|
|
|
|
async function onReset() {
|
|
@@ -198,7 +202,9 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
const isFixedColumn = (label: string) => {
|
|
|
- return dynamicColumns.value.filter(item => item.label === label)[0].fixed
|
|
|
+ return dynamicColumns.value.filter(
|
|
|
+ item => transformI18n(item.label) === transformI18n(label)
|
|
|
+ )[0].fixed
|
|
|
? true
|
|
|
: false;
|
|
|
};
|
|
@@ -293,7 +299,7 @@ export default defineComponent({
|
|
|
<div class="pt-[6px] pl-[11px]">
|
|
|
<el-scrollbar max-height="36vh">
|
|
|
<el-checkbox-group
|
|
|
- v-model={checkedColumns.value}
|
|
|
+ modelValue={checkedColumns.value}
|
|
|
onChange={value => handleCheckedColumnsChange(value)}
|
|
|
>
|
|
|
<el-space
|
|
@@ -301,7 +307,7 @@ export default defineComponent({
|
|
|
alignment="flex-start"
|
|
|
size={0}
|
|
|
>
|
|
|
- {checkColumnList.map(item => {
|
|
|
+ {checkColumnList.map((item, index) => {
|
|
|
return (
|
|
|
<div class="flex items-center">
|
|
|
<DragIcon
|
|
@@ -316,17 +322,18 @@ export default defineComponent({
|
|
|
}) => rowDrop(event)}
|
|
|
/>
|
|
|
<el-checkbox
|
|
|
- key={item}
|
|
|
+ key={index}
|
|
|
+ label={item}
|
|
|
value={item}
|
|
|
onChange={value =>
|
|
|
handleCheckColumnListChange(value, item)
|
|
|
}
|
|
|
>
|
|
|
<span
|
|
|
- title={item}
|
|
|
+ title={transformI18n(item)}
|
|
|
class="inline-block w-[120px] truncate hover:text-text_color_primary"
|
|
|
>
|
|
|
- {item}
|
|
|
+ {transformI18n(item)}
|
|
|
</span>
|
|
|
</el-checkbox>
|
|
|
</div>
|