diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts
index 31164fdb..6b2e5240 100644
--- a/src/i18n/locales/en-US.ts
+++ b/src/i18n/locales/en-US.ts
@@ -36,6 +36,7 @@ export default {
searchBarText: 'Search bar',
tableStripedText: 'Form Zebra',
reloadText: 'Refresh',
+ columnSetText: 'Column Setting',
sizeText: 'Density',
size: {
default: 'Default',
diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts
index 3b0564cb..a22f4354 100644
--- a/src/i18n/locales/zh-CN.ts
+++ b/src/i18n/locales/zh-CN.ts
@@ -36,6 +36,7 @@ export default {
searchBarText: '搜索栏',
tableStripedText: '表格斑马纹',
reloadText: '刷新',
+ columnSetText: '列设置',
sizeText: '密度',
size: {
default: '默认',
diff --git a/src/typings/vite-env.d.ts b/src/typings/vite-env.d.ts
index a735ff23..5713034d 100644
--- a/src/typings/vite-env.d.ts
+++ b/src/typings/vite-env.d.ts
@@ -6,3 +6,5 @@ declare module '*.vue' {
const component: DefineComponent<{}, {}, any>;
export default component;
}
+
+declare module 'vue3-smooth-dnd';
diff --git a/src/views/neUser/auth/index.vue b/src/views/neUser/auth/index.vue
index 8e724194..46f9e3af 100644
--- a/src/views/neUser/auth/index.vue
+++ b/src/views/neUser/auth/index.vue
@@ -63,6 +63,8 @@ type TabeStateType = {
loading: boolean;
/**紧凑型 */
size: SizeType;
+ /**斑马纹 */
+ striped: boolean;
/**搜索栏 */
seached: boolean;
/**记录数据 */
@@ -73,6 +75,7 @@ type TabeStateType = {
let tableState: TabeStateType = reactive({
loading: false,
size: 'middle',
+ striped: false,
seached: true,
data: [],
});
@@ -792,20 +795,25 @@ onMounted(() => {
/>
- {{ t('common.reloadText') }}
-
-
-
-
-
+ {{ t('common.zebra') }}
+
+ {{ t('common.reloadText') }}
+
+
+
+
+
{{ t('common.sizeText') }}
-
+
-
-
-
+
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
+// import { Container, Draggable } from 'vue3-smooth-dnd';
import { message, Modal, Form, notification } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
@@ -66,6 +67,8 @@ type TabeStateType = {
loading: boolean;
/**紧凑型 */
size: SizeType;
+ /**斑马纹 */
+ striped: boolean;
/**搜索栏 */
seached: boolean;
/**记录数据 */
@@ -76,12 +79,13 @@ type TabeStateType = {
let tableState: TabeStateType = reactive({
loading: false,
size: 'middle',
+ striped: false,
seached: true,
data: [],
});
/**表格字段列 */
-let tableColumns: ColumnsType = [
+let tableColumns = reactive([
{
title: 'IMSI',
dataIndex: 'imsi',
@@ -153,7 +157,23 @@ let tableColumns: ColumnsType = [
fixed: 'right',
width: 2,
},
-];
+]);
+
+// /**表格字段列 */
+// const tableColumnsState = reactive({
+// indeterminate: true,
+// checkAll: false,
+// columnsTitleList: tableColumns.map(s => s.title),
+// });
+
+// /**表格紧凑型变更操作 */
+// function fnTableColumnsCheckAllChange(e: any) {
+// const checked = e.target.checked;
+// console.log(checked)
+
+// tableColumnsState.indeterminate = false
+// tableColumnsState.columnsTitleList = checked ? tableColumns.map(s => s.title) : []
+// }
/**表格分页器参数 */
let tablePagination = reactive({
@@ -853,6 +873,21 @@ function fnModalUploadImportUpload(file: File) {
});
}
+// let items = reactive([
+// { id: 1, data: 'Princess Mononoke' },
+// { id: 2, data: 'Spirited Away' },
+// { id: 3, data: 'My Neighbor Totoro' },
+// { id: 4, data: "Howl's Moving Castle" },
+// ]);
+// function onDrop(dropResult: any) {
+// const { removedIndex, addedIndex, payload } = dropResult;
+// if (removedIndex !== null && addedIndex !== null) {
+// let itemToAdd = payload;
+// itemToAdd = items.splice(removedIndex, 1)[0];
+// items.splice(addedIndex, 0, itemToAdd);
+// }
+// }
+
onMounted(() => {
// 获取网元网元列表
useNeInfoStore()
@@ -1024,20 +1059,67 @@ onMounted(() => {
/>
- {{ t('common.reloadText') }}
-
-
-
-
-
+ {{ t('common.zebra') }}
+
- {{ t('common.sizeText') }}
-
+ {{ t('common.reloadText') }}
+
+
+
+
+
+
+ {{ t('common.sizeText') }}
+
+
+
{
4G
-
+
{
-
+
{
4G
-
+
{
-
+
{
.table :deep(.ant-pagination) {
padding: 0 24px;
}
+
+.table-column-setting-title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 32px;
+ margin-left: 4px;
+}
+
+.table-column-setting-list-item {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 4px 16px 4px 0;
+}
+
+.table-column-setting-list-item > .anticon {
+ padding-right: 6px;
+ cursor: move;
+}
+
+.table-column-setting-list-item .ant-checkbox-wrapper {
+ flex: 1;
+ margin: 0;
+}