Commit e890306c authored by “yiyousong”'s avatar “yiyousong”

feat:数据搜索引擎页面

parent 8da6aafb
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -34,7 +34,10 @@
</el-date-picker>
<el-button size="small" type="primary">搜索</el-button>
</div>
<div class="engine-btn top-radius">
<div
class="engine-btn top-radius"
@click="$router.push('/enginesearch')"
>
<img src="@/assets/img/engine.png" class="engine-img mr-2 w-[24px]" />
数据搜索引擎
</div>
......
<template>
<div class="h-full w-full">
<router-view></router-view>
</div>
</template>
<script>
export default {};
</script>
<style lang="less" scoped></style>
<template>
<div class="flex h-full w-full flex-col">
<Search></Search>
<div
class="main flex w-full flex-1 items-center justify-center rounded-[4px] bg-white p-[20px]"
>
<div class="h-full w-full" v-if="tableData.length">
<TableHeader>
<el-button size="small" slot="left" type="primary">导出</el-button>
</TableHeader>
<y-table
ref="MyTable"
:loading="loading"
:data="tableData"
:column="column"
border
tooltip-effect="dark"
:max-height="600"
:row-key="(row) => row.id"
@selection-change="handleSelectionChange"
></y-table>
<Pagination
:total="total"
:current.sync="current"
:size.sync="size"
@get="getData"
></Pagination>
</div>
<el-empty
v-else
description="请检索数据"
:image="require('@/assets/img/empty.png')"
></el-empty>
</div>
</div>
</template>
<script>
import Search from "./components/Search.vue";
import TableHeader from "@/components/TableHeader.vue";
export default {
components: {
Search,
TableHeader,
},
data() {
return {
loading: false,
size: 10,
total: 0,
current: 1,
tableData: [],
column: [],
selectionRows: [],
};
},
methods: {
getData() {},
handleSelectionChange(rows) {
this.selectionRows = rows;
},
},
};
</script>
<style lang="less" scoped></style>
<template>
<div class="flex h-full w-full flex-col">
<Search></Search>
<div
class="main flex w-full flex-1 items-center justify-center rounded-[4px] bg-white p-[20px]"
>
<div class="h-full w-full" v-if="tableData.length">
<TableHeader>
<el-button size="small" slot="left" type="primary">导出</el-button>
</TableHeader>
<y-table
ref="MyTable"
:loading="loading"
:data="tableData"
:column="column"
border
tooltip-effect="dark"
:max-height="600"
:row-key="(row) => row.id"
@selection-change="handleSelectionChange"
></y-table>
<Pagination
:total="total"
:current.sync="current"
:size.sync="size"
@get="getData"
></Pagination>
</div>
<el-empty
v-else
description="请检索数据"
:image="require('@/assets/img/empty.png')"
></el-empty>
</div>
</div>
</template>
<script>
import Search from "./components/Search.vue";
import TableHeader from "@/components/TableHeader.vue";
export default {
components: {
Search,
TableHeader,
},
data() {
return {
loading: false,
size: 10,
total: 0,
current: 1,
tableData: [],
column: [],
selectionRows: [],
};
},
methods: {
getData() {},
handleSelectionChange(rows) {
this.selectionRows = rows;
},
},
};
</script>
<style lang="less" scoped></style>
<template>
<div
class="search mb-[15px] flex h-[170px] w-full flex-col items-center justify-around"
>
<div class="flex gap-10">
<router-link v-for="(v, i) in subMenus" :key="i" :to="v.path">
{{ v.meta.title }}
</router-link>
</div>
<div>
<el-form :model="form" inline ref="form">
<el-form-item>
<el-input></el-input>
</el-form-item>
<el-form-item>
<el-input></el-input>
</el-form-item>
<el-form-item>
<el-input></el-input>
</el-form-item>
<el-form-item>
<el-input></el-input>
</el-form-item>
<el-form-item>
<el-button>检索</el-button>
</el-form-item>
<el-form-item>
<el-button @click="$router.push('/engine')">返回</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import { findBottomSubarrays } from "@/utils";
export default {
data() {
return {
subMenus: [],
};
},
computed: {
activeKey() {
return this.$route.path;
},
},
created() {
this.getSubMenus();
},
methods: {
changeRouter(e) {
this.$router.push(e.name);
},
// 获取当前顶层路由下的所有子路由
getSubMenus() {
let path = this.$route?.meta.parentPath
? this.$route.meta.parentPath
: this.$route.path;
let options = this.$router.options.routes[0].children;
let curRouters = options.filter((v) => v.path == path);
this.subMenus = findBottomSubarrays(curRouters).filter(
(v) => !v.meta.hidden
);
},
},
};
</script>
<style lang="less" scoped>
.search {
background: url("@/assets/img/engineSearch_bg.svg") no-repeat center / 100%
100%;
a {
color: rgba(254, 254, 254, 0.65);
}
.router-link-active {
color: #fff;
font-weight: 600;
}
}
</style>
......@@ -4,8 +4,10 @@
<div class="w-ful flex items-center justify-between">
<div class="flex items-center gap-4">
<el-button type="primary" size="small">导出</el-button>
<div>评价次数:<span class="take-total-num">223次</span></div>
<div class="text-[14px] text-[#999]">
<div class="text-[#909399]">
评价次数:<span class="take-total-num">223次</span>
</div>
<div class="text-[14px] text-[#909399]">
统计时间段:2024-12-12 ~ 2024-12-12
</div>
</div>
......
......@@ -4,8 +4,10 @@
<div class="w-ful flex items-center justify-between">
<div class="flex items-center gap-4">
<el-button type="primary" size="small">导出</el-button>
<div>取号次数:<span class="take-total-num">223次</span></div>
<div class="text-[14px] text-[#999]">
<div class="text-[#909399]">
取号次数:<span class="take-total-num">223次</span>
</div>
<div class="text-[14px] text-[#909399]">
统计时间段:2024-12-12 ~ 2024-12-12
</div>
</div>
......
......@@ -65,6 +65,38 @@ const routes = [
},
],
},
// 数据搜索引擎
{
path: "/enginesearch",
component: () => import("@/pages/engineSearch/EngineSearch"),
hidden: true,
redirect: "/enginesearch/queueupdata",
children: [
{
path: "/enginesearch/queueupdata",
hideChildrenInMenu: true,
hidden: true,
component: () => import("@/pages/engineSearch/QueueUpData"),
meta: {
title: "排队数据",
activeMenu: "/engine",
parentPath: "/enginesearch",
},
},
{
path: "/enginesearch/evaluatedata",
hideChildrenInMenu: true,
hidden: true,
component: () => import("@/pages/engineSearch/EvaluateData"),
meta: {
title: "评价数据",
activeMenu: "/engine",
parentPath: "/enginesearch",
},
},
],
},
{
path: "/market",
hideChildrenInMenu: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment