mirror of
https://gitee.com/log4j/pig-ui.git
synced 2024-12-21 20:47:10 +08:00
!94 个人中心Drawer中的tabs设定了高度,导致页面内容显示不全
Some checks failed
npm run build 测试 / task (18.x, npm, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, npm, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, npm, windows-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, windows-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, windows-latest) (push) Has been cancelled
Docker 镜像 / task (18.x, npm, ubuntu-latest) (push) Has been cancelled
同步代码 / gitcode (push) Has been cancelled
同步代码 / gitlink (push) Has been cancelled
同步代码 / gitee (push) Has been cancelled
Some checks failed
npm run build 测试 / task (18.x, npm, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, npm, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, npm, windows-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, pnpm, windows-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, macOS-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, ubuntu-latest) (push) Has been cancelled
npm run build 测试 / task (18.x, yarn, windows-latest) (push) Has been cancelled
Docker 镜像 / task (18.x, npm, ubuntu-latest) (push) Has been cancelled
同步代码 / gitcode (push) Has been cancelled
同步代码 / gitlink (push) Has been cancelled
同步代码 / gitee (push) Has been cancelled
Merge pull request !94 from Jurmin/master
This commit is contained in:
commit
5b83138f20
2
.github/workflows/build.yaml
vendored
2
.github/workflows/build.yaml
vendored
@ -1,4 +1,4 @@
|
||||
name: build
|
||||
name: npm run build 测试
|
||||
|
||||
on:
|
||||
push:
|
||||
|
51
.github/workflows/image.yml
vendored
Normal file
51
.github/workflows/image.yml
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
# This workflow will build a Java project with Maven
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||
|
||||
name: Docker 镜像
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ dev ]
|
||||
|
||||
jobs:
|
||||
task:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node-version: [18.x]
|
||||
npm-client: [npm]
|
||||
|
||||
steps:
|
||||
- uses: pnpm/action-setup@v2
|
||||
if: matrix.npm-client == 'pnpm'
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 7
|
||||
run_install: false
|
||||
|
||||
- name: Set up Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: ${{ matrix.npm-client }} install
|
||||
|
||||
- name: Build
|
||||
run: ${{ matrix.npm-client }} run build:docker
|
||||
|
||||
- name: Login to Docker Registry
|
||||
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} registry.cn-hangzhou.aliyuncs.com
|
||||
|
||||
- name: Build and push Docker images
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose.yaml build
|
||||
registry="registry.cn-hangzhou.aliyuncs.com/pigx/"
|
||||
for service in $(docker-compose -f ./docker/docker-compose.yaml config --services); do
|
||||
docker tag ${service}:latest ${registry}${service}:latest
|
||||
docker push ${registry}${service}:latest
|
||||
done
|
@ -1,30 +1,30 @@
|
||||
<template>
|
||||
<div class="layout-search-dialog">
|
||||
<el-dialog v-model="state.isShowSearch" destroy-on-close :show-close="false">
|
||||
<template #footer>
|
||||
<el-autocomplete
|
||||
v-model="state.menuQuery"
|
||||
:fetch-suggestions="menuSearch"
|
||||
:placeholder="$t('user.searchPlaceholder')"
|
||||
ref="layoutMenuAutocompleteRef"
|
||||
@select="onHandleSelect"
|
||||
:fit-input-width="true"
|
||||
>
|
||||
<template #prefix>
|
||||
<el-icon class="el-input__icon">
|
||||
<ele-Search />
|
||||
</el-icon>
|
||||
</template>
|
||||
<template #default="{ item }">
|
||||
<div>
|
||||
<SvgIcon :name="item.meta.icon" class="mr5" />
|
||||
{{ $t(item.name) }}
|
||||
</div>
|
||||
</template>
|
||||
</el-autocomplete>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<div class="layout-search-dialog">
|
||||
<el-dialog v-model="state.isShowSearch" destroy-on-close :show-close="false">
|
||||
<template #footer>
|
||||
<el-autocomplete
|
||||
v-model="state.menuQuery"
|
||||
:fetch-suggestions="menuSearch"
|
||||
:placeholder="$t('user.searchPlaceholder')"
|
||||
ref="layoutMenuAutocompleteRef"
|
||||
@select="onHandleSelect"
|
||||
:fit-input-width="true"
|
||||
>
|
||||
<template #prefix>
|
||||
<el-icon class="el-input__icon">
|
||||
<ele-Search />
|
||||
</el-icon>
|
||||
</template>
|
||||
<template #default="{ item }">
|
||||
<div>
|
||||
<SvgIcon :name="item.meta.icon" class="mr5" />
|
||||
{{ $t(item.name) }}
|
||||
</div>
|
||||
</template>
|
||||
</el-autocomplete>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="layoutBreadcrumbSearch">
|
||||
@ -38,80 +38,81 @@ const layoutMenuAutocompleteRef = ref();
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const state = reactive<SearchState>({
|
||||
isShowSearch: false,
|
||||
menuQuery: '',
|
||||
tagsViewList: [],
|
||||
isShowSearch: false,
|
||||
menuQuery: '',
|
||||
tagsViewList: [],
|
||||
});
|
||||
|
||||
// 搜索弹窗打开
|
||||
const openSearch = () => {
|
||||
state.menuQuery = '';
|
||||
state.isShowSearch = true;
|
||||
initTageView();
|
||||
nextTick(() => {
|
||||
setTimeout(() => {
|
||||
layoutMenuAutocompleteRef.value.focus();
|
||||
});
|
||||
});
|
||||
state.menuQuery = '';
|
||||
state.isShowSearch = true;
|
||||
initTageView();
|
||||
nextTick(() => {
|
||||
setTimeout(() => {
|
||||
layoutMenuAutocompleteRef.value.focus();
|
||||
});
|
||||
});
|
||||
};
|
||||
// 搜索弹窗关闭
|
||||
const closeSearch = () => {
|
||||
state.isShowSearch = false;
|
||||
state.isShowSearch = false;
|
||||
};
|
||||
// 菜单搜索数据过滤
|
||||
const menuSearch = (queryString: string, cb: Function) => {
|
||||
let results = queryString ? state.tagsViewList.filter(createFilter(queryString)) : state.tagsViewList;
|
||||
cb(results);
|
||||
let results = queryString ? state.tagsViewList.filter(createFilter(queryString)) : state.tagsViewList;
|
||||
cb(results);
|
||||
};
|
||||
// 菜单搜索过滤
|
||||
const createFilter = (queryString: string) => {
|
||||
return (restaurant: RouteItem) => {
|
||||
return restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 || t(restaurant!.name!).indexOf(queryString.toLowerCase()) > -1;
|
||||
};
|
||||
return (restaurant: RouteItem) => {
|
||||
return restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 || t(restaurant!.name!).indexOf(queryString.toLowerCase()) > -1;
|
||||
};
|
||||
};
|
||||
// 初始化菜单数据
|
||||
const initTageView = () => {
|
||||
if (state.tagsViewList.length > 0) return false;
|
||||
tagsViewRoutes.value.map((v: RouteItem) => {
|
||||
if (!v.meta?.isHide) state.tagsViewList.push({ ...v });
|
||||
});
|
||||
if (state.tagsViewList.length > 0) return false;
|
||||
tagsViewRoutes.value.map((v: RouteItem) => {
|
||||
if (!v.meta?.isHide) state.tagsViewList.push({ ...v });
|
||||
});
|
||||
};
|
||||
// 当前菜单选中时
|
||||
const onHandleSelect = (item: RouteItem) => {
|
||||
let { path, redirect } = item;
|
||||
if (item.meta?.isLink && !item.meta?.isIframe) window.open(item.meta?.isLink);
|
||||
else if (redirect) router.push(redirect);
|
||||
else router.push(path);
|
||||
closeSearch();
|
||||
let { path, redirect } = item;
|
||||
if (item.meta?.isLink && !item.meta?.isIframe) window.open(item.meta?.isLink);
|
||||
else if (redirect) router.push(redirect);
|
||||
else router.push(path);
|
||||
closeSearch();
|
||||
};
|
||||
|
||||
// 暴露变量
|
||||
defineExpose({
|
||||
openSearch,
|
||||
openSearch,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.layout-search-dialog {
|
||||
position: relative;
|
||||
:deep(.el-dialog) {
|
||||
.el-dialog__header,
|
||||
.el-dialog__body {
|
||||
display: none;
|
||||
}
|
||||
.el-dialog__footer {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: -53vh;
|
||||
}
|
||||
}
|
||||
:deep(.el-autocomplete) {
|
||||
width: 560px;
|
||||
position: absolute;
|
||||
top: 150px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
position: relative;
|
||||
:deep(.el-dialog) {
|
||||
width: 560px;
|
||||
.el-dialog__header,
|
||||
.el-dialog__body {
|
||||
display: none;
|
||||
}
|
||||
.el-dialog__footer {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: -53vh;
|
||||
}
|
||||
}
|
||||
:deep(.el-autocomplete) {
|
||||
position: absolute;
|
||||
width: 560px;
|
||||
top: 53vh;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,3 +1,4 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* 判断是否为空
|
||||
* @param val 数据
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<el-drawer v-model="visible" :title="$t('personal.name')" size="40%">
|
||||
<el-tabs style="height: 200px" class="demo-tabs">
|
||||
<el-tabs class="demo-tabs">
|
||||
<el-tab-pane label="基本信息" v-loading="loading">
|
||||
<el-form :model="formData" :rules="ruleForm" label-width="100px" class="mt30" ref="formdataRef">
|
||||
<el-row :gutter="20">
|
||||
|
Loading…
Reference in New Issue
Block a user