diff --git a/src/assets/stylus/root.styl b/src/assets/stylus/root.styl index 67f4d46..cda9ee0 100644 --- a/src/assets/stylus/root.styl +++ b/src/assets/stylus/root.styl @@ -19,7 +19,7 @@ body { --el-font-weight-primary: 400 !important; letter-spacing: .5px; - //user-select: none; + user-select: none; } diff --git a/src/assets/stylus/table.styl b/src/assets/stylus/table.styl index e3c4216..03f7081 100644 --- a/src/assets/stylus/table.styl +++ b/src/assets/stylus/table.styl @@ -28,4 +28,20 @@ } } } + + .action-btn { + width 100% !important + display grid !important + grid-template-columns repeat(auto-fit, 32px) !important + grid-auto-rows: 32px !important + gap: 10px !important + + .icon-btn { + margin 0 !important + padding: 8px !important + justify-content center !important + align-items center !important + //border-color var(--el-button-bg-color) !important + } + } } diff --git a/src/common/app/app-page-store.ts b/src/common/app/app-page-store.ts index 5f315d7..fc7df6a 100644 --- a/src/common/app/app-page-store.ts +++ b/src/common/app/app-page-store.ts @@ -56,24 +56,24 @@ export const useAppPageStore = defineStore('AppPage', () => { return open(page) } - function closeCurrent() { - return closePage(currentPage.insId) + function closeCurrent(id?: string) { + return closePage(id ?? currentPage.insId) } - function closeLeft() { - const index = pages.findIndex(it => it.insId === currentPage.insId) + function closeLeft(id?: string) { + const index = pages.findIndex(it => it.insId === (id ?? currentPage.insId)) if (index < 2) return pages.splice(1, index - 1) } - function closeRight() { - const index = pages.findIndex(it => it.insId === currentPage.insId) + function closeRight(id?: string) { + const index = pages.findIndex(it => it.insId === (id ?? currentPage.insId)) if (index < 0) return pages.splice(index + 1, pages.length - index - 1) } - function closeOther() { - const pageList = pages.filter(it => it.routeName === SpecialPage.Home || it.insId === currentPage.insId) + function closeOther(id?: string) { + const pageList = pages.filter(it => it.routeName === SpecialPage.Home || it.insId === (id ?? currentPage.insId)) pages.$reset(pageList) } diff --git a/src/common/router/nav.ts b/src/common/router/nav.ts index abc66b4..4f2ec58 100644 --- a/src/common/router/nav.ts +++ b/src/common/router/nav.ts @@ -87,24 +87,24 @@ function close(id: string) { }) } -function closeCurrent() { - return useAppPageStore().closeCurrent() +function closeCurrent(id?: string) { + return useAppPageStore().closeCurrent(id) .then(ctx => { if (ctx == null) return Promise.resolve(null) return jump(ctx) }) } -function closeLeft() { - useAppPageStore().closeLeft() +function closeLeft(id?: string) { + useAppPageStore().closeLeft(id) } -function closeRight() { - useAppPageStore().closeRight() +function closeRight(id?: string) { + useAppPageStore().closeRight(id) } -function closeOther() { - useAppPageStore().closeOther() +function closeOther(id?: string) { + useAppPageStore().closeOther(id) } function closeAll() { diff --git a/src/components/a-drop-table/ADropTable.vue b/src/components/a-drop-table/ADropTable.vue index affa445..ab9fc7e 100644 --- a/src/components/a-drop-table/ADropTable.vue +++ b/src/components/a-drop-table/ADropTable.vue @@ -107,7 +107,7 @@ const selectHeader_indeterminate = computed(() => { }) const selectHeader_checked = computed({ get() { - return selectRows.length === tableDataList.value.length + return selectRows.length > 0 && tableDataList.value.length > 0 && selectRows.length === tableDataList.value.length }, set(val) { if (props.multiple) { @@ -172,7 +172,7 @@ const displayData = computed(() => { ref="tableRef" :data="tableDataList" cell-class-name="table-cell" - class="table-list" + class="table-list selectable" empty-text="暂无数据" header-row-class-name="table-header" row-key="id" @@ -225,6 +225,7 @@ const displayData = computed(() => { padding: 18px; display: flex; flex-direction: column; + height 400px } .drop-table-content-divider { @@ -233,8 +234,15 @@ const displayData = computed(() => { .table-list { flex 1; - margin 0 0 20px 0 + margin 0 width 100% + height 200px + + &.selectable { + :deep(.el-table__row) { + cursor pointer; + } + } :deep(.table-header) { color #454C59 diff --git a/src/components/a-icon/iconfont.css b/src/components/a-icon/iconfont.css index d208dfb..53e489c 100644 --- a/src/components/a-icon/iconfont.css +++ b/src/components/a-icon/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* 项目名称 再昇云 */ - src: url('@/components/a-icon/iconfont.woff2?t=1769832742609') format('woff2'), - url('@/components/a-icon/iconfont.woff?t=1769832742609') format('woff'), - url('@/components/a-icon/iconfont.ttf?t=1769832742609') format('truetype'); + src: url('@/components/a-icon/iconfont.woff2?t=1770194183018') format('woff2'), + url('@/components/a-icon/iconfont.woff?t=1770194183018') format('woff'), + url('@/components/a-icon/iconfont.ttf?t=1770194183018') format('truetype'); } .iconfont { @@ -13,6 +13,10 @@ -moz-osx-font-smoothing: grayscale; } +.icon-yundanguiji:before { + content: "\e680"; +} + .icon-tiaozhang:before { content: "\e6d6"; } diff --git a/src/components/a-icon/iconfont.json b/src/components/a-icon/iconfont.json index f2adabe..4110203 100644 --- a/src/components/a-icon/iconfont.json +++ b/src/components/a-icon/iconfont.json @@ -5,6 +5,13 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "8242394", + "name": "运单轨迹", + "font_class": "yundanguiji", + "unicode": "e680", + "unicode_decimal": 59008 + }, { "icon_id": "10107476", "name": "调账", diff --git a/src/components/a-icon/iconfont.ts b/src/components/a-icon/iconfont.ts index 86c5444..acb1fb7 100644 --- a/src/components/a-icon/iconfont.ts +++ b/src/components/a-icon/iconfont.ts @@ -5,6 +5,13 @@ export const icons = { 'css_prefix_text': 'icon-', 'description': '', 'glyphs': [ + { + 'icon_id': '8242394', + 'name': '运单轨迹', + 'font_class': 'yundanguiji', + 'unicode': 'e680', + 'unicode_decimal': 59008, + }, { 'icon_id': '10107476', 'name': '调账', diff --git a/src/components/a-icon/iconfont.ttf b/src/components/a-icon/iconfont.ttf index 7b5f658..9f703ad 100644 Binary files a/src/components/a-icon/iconfont.ttf and b/src/components/a-icon/iconfont.ttf differ diff --git a/src/components/a-icon/iconfont.woff b/src/components/a-icon/iconfont.woff index 79d3ff7..af57ec4 100644 Binary files a/src/components/a-icon/iconfont.woff and b/src/components/a-icon/iconfont.woff differ diff --git a/src/components/a-icon/iconfont.woff2 b/src/components/a-icon/iconfont.woff2 index 2ea4f10..bbe7408 100644 Binary files a/src/components/a-icon/iconfont.woff2 and b/src/components/a-icon/iconfont.woff2 differ diff --git a/src/components/a-page/a-table-page/ATablePage.tsx b/src/components/a-page/a-table-page/ATablePage.tsx index decafe8..15c36dc 100644 --- a/src/components/a-page/a-table-page/ATablePage.tsx +++ b/src/components/a-page/a-table-page/ATablePage.tsx @@ -416,7 +416,7 @@ const component = defineComponent( icon={elIcon} loading={tableAction.loading} type={tableAction.type} - class={styles.iconBtn} + class={'icon-btn'} onClick={tableAction.confirm == null ? () => rowAction(scope, tableAction) : undefined} plain/> ) @@ -425,7 +425,7 @@ const component = defineComponent( icon={elIcon} loading={tableAction.loading} type={tableAction.type} - class={styles.iconBtn} + class={'icon-btn'} onClick={tableAction.confirm == null ? () => rowAction(scope, tableAction) : undefined} text/>) } @@ -502,7 +502,7 @@ const component = defineComponent( rowAction(scope, tableAction) }}> {{ - default: () => (), + default: () => (), dropdown: () => ( { actionColumn.tableActions @@ -526,7 +526,7 @@ const component = defineComponent( }} ) } - return (
+ return (
{btns}
) }, diff --git a/src/components/a-page/a-table-page/a-table-page.module.styl b/src/components/a-page/a-table-page/a-table-page.module.styl index 5a96945..2e3fa59 100644 --- a/src/components/a-page/a-table-page/a-table-page.module.styl +++ b/src/components/a-page/a-table-page/a-table-page.module.styl @@ -135,22 +135,6 @@ } } - .action-btn { - width 100% !important - display grid !important - grid-template-columns repeat(auto-fit, 32px) !important - grid-auto-rows: 32px !important - gap: 10px !important - - .icon-btn { - margin 0 !important - padding: 8px !important - justify-content center !important - align-items center !important - //border-color var(--el-button-bg-color) !important - } - } - :global(.el-pagination) { justify-content center diff --git a/src/pages/a-frame/ATabbar.vue b/src/pages/a-frame/ATabbar.vue index aaea03b..605a1e9 100644 --- a/src/pages/a-frame/ATabbar.vue +++ b/src/pages/a-frame/ATabbar.vue @@ -4,23 +4,37 @@ ref="tabsScrollbar" class="a-tabs-scrollbar" > -
-
+ -
- -
{{ item.title }}
+ :persistent="false" + :show-arrow="false" + placement="bottom" trigger="contextmenu" @command="handleCommand($event, item.insId)"> +
+
+ +
{{ item.title }}
+
+
+
-
- -
+ +
- + + + diff --git a/src/pages/order/realtime/Realtime.vue b/src/pages/order/realtime/Realtime.vue index 3d15959..d62f605 100644 --- a/src/pages/order/realtime/Realtime.vue +++ b/src/pages/order/realtime/Realtime.vue @@ -3,90 +3,102 @@ ref="tablePage" v-bind="tablePageProps"> -