From e312d5fcded7492d434d3bab48d31f0c3fc1dbfb Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 30 十一月 2023 15:44:19 +0800
Subject: [PATCH] 新增
---
src/layout/components/Register/index.vue | 5
src/views/components/notice.vue | 16 +
src/api/home/homePage.js | 27 +++
src/views/homePage.vue | 42 ++---
src/assets/images/avator.png | 0
src/assets/styles/sidebar.scss | 2
src/layout/components/Navbar.vue | 3
src/views/components/loginForm.vue | 29 ++--
src/views/components/laws.vue | 18 +
src/views/components/details.vue | 226 ++++++++++++++++++++++++++++++-
src/views/components/home.vue | 18 +-
src/views/components/publish.vue | 20 +-
12 files changed, 324 insertions(+), 82 deletions(-)
diff --git a/src/api/home/homePage.js b/src/api/home/homePage.js
index eba3b5d..4a7e564 100644
--- a/src/api/home/homePage.js
+++ b/src/api/home/homePage.js
@@ -9,6 +9,15 @@
})
}
+// 获取详情
+export function getNoticeDetails(params) {
+ return request({
+ url: '/system/notice/getNoticeById',
+ method: 'get',
+ params: params
+ })
+}
+
// 获取分页
export function getLaws(params) {
return request({
@@ -18,6 +27,15 @@
})
}
+// 获取详情
+export function getLawsDetails(params) {
+ return request({
+ url: '/system/law/getLawById',
+ method: 'get',
+ params: params
+ })
+}
+
// 获取分页
export function getPublish(params) {
return request({
@@ -25,4 +43,13 @@
method: 'get',
params: params
})
+}
+
+// 获取详情
+export function getPublishDetails(params) {
+ return request({
+ url: '/system/agency/getAgencyById',
+ method: 'get',
+ params: params
+ })
}
\ No newline at end of file
diff --git a/src/assets/images/avator.png b/src/assets/images/avator.png
new file mode 100644
index 0000000..cfa804c
--- /dev/null
+++ b/src/assets/images/avator.png
Binary files differ
diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss
index b6cdd17..62cafc1 100644
--- a/src/assets/styles/sidebar.scss
+++ b/src/assets/styles/sidebar.scss
@@ -120,7 +120,7 @@
}
.main-container {
- margin-left: 54px;
+ margin-left: 84px;
}
.sub-menu-title-noDropdown {
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 4bc452f..7f3f305 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -25,7 +25,8 @@
<div class="avatar-container">
<el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper">
- <img :src="userStore.avatar" class="user-avatar" />
+<!-- <img :src="userStore.avatar" class="user-avatar" />-->
+ <img src="../../assets/images/avator.png" class="user-avatar" />
<el-icon><caret-bottom /></el-icon>
</div>
<template #dropdown>
diff --git a/src/layout/components/Register/index.vue b/src/layout/components/Register/index.vue
index a7eae8c..9732e21 100644
--- a/src/layout/components/Register/index.vue
+++ b/src/layout/components/Register/index.vue
@@ -179,12 +179,12 @@
</el-col>
<el-col :span="8">
<el-form-item prop="agency.business" label="申请的法定安全评价业务范围">
- <el-select v-model="registerForm.agency.business" placeholder="请选择业务范围" size="large" style="width: 100%">
+ <el-select v-model="registerForm.agency.business" placeholder="请选择业务范围" multiple size="large" style="width: 100%">
<el-option
v-for="item in state.busList"
:key="item.id"
:label="item.label"
- :value="item.label"
+ :value="item.id"
/>
</el-select>
</el-form-item>
@@ -516,6 +516,7 @@
loading.value = true;
const {confirmPassword, ...data} = registerForm.value
data.password = Base64.encode(data.password)
+ data.agency.business = data.agency.business.join(',')
delete data.agency.area
register(data).then(res => {
if(res.code == 200){
diff --git a/src/views/components/details.vue b/src/views/components/details.vue
index b2eb8c9..985fbe8 100644
--- a/src/views/components/details.vue
+++ b/src/views/components/details.vue
@@ -6,34 +6,95 @@
<Location />
</el-icon>
<span>我的位置:</span>
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item><a href="#" @click="back">{{ state.firstClass }}</a></el-breadcrumb-item>
+ <el-breadcrumb-item>查看详情</el-breadcrumb-item>
+ </el-breadcrumb>
</div>
- <el-breadcrumb :separator-icon="ArrowRight">
- <el-breadcrumb-item>{{ state.firstClass }}</el-breadcrumb-item>
- <el-breadcrumb-item>{{state.firstClass}}</el-breadcrumb-item>
- </el-breadcrumb>
+ <div>
+ <el-button plain @click="back">返回上级</el-button>
+ </div>
</div>
- <div class="main">
-
+ <div class="main" v-if="state.firstClass == '通知公告'">
+ <div class="title">{{state.content.title}}</div>
+ <el-divider border-style="dashed"/>
+ <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div>
+ <div v-html="state.content.content"></div>
+ </div>
+ <div class="main" v-if="state.firstClass == '法律法规'">
+ <div class="title">{{state.content.title}}</div>
+ <div class="sub-title">{{state.content.subTitle}}</div>
+ <div class="info"><span>法律法规类别:{{state.content.lawType}}</span><span>颁布机构:{{state.content.pubAgency}}</span><span>颁布日期:{{state.content.pubDate}}</span></div>
+ <el-divider border-style="dashed"/>
+ <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div>
+ <div v-html="state.content.content"></div>
+ </div>
+ <div class="main" v-if="state.firstClass == '机构公示'">
+ <div class="title">{{state.content.name}}</div>
+ <el-divider border-style="dashed"/>
+ <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div>
+ <el-row>
+ <el-col :span="4">所在地区:</el-col>
+ <el-col :span="8">{{state.content.province}}<span v-if="state.content.province&&state.content.city">/</span>{{state.content.city}}<span v-if="state.content.city&&state.content.district">/</span>{{state.content.district}}</el-col>
+ <el-col :span="4">详细地址:</el-col>
+ <el-col :span="8">{{state.content.address}}</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">社会信用代码:</el-col>
+ <el-col :span="8">{{state.content.creditCode}}</el-col>
+ <el-col :span="4">资质证书编号:</el-col>
+ <el-col :span="8">{{state.content.certNumber}}</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">发证日期:</el-col>
+ <el-col :span="8">{{state.content.issueDate}}</el-col>
+ <el-col :span="4">有效日期:</el-col>
+ <el-col :span="8">{{state.content.validDate}}</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">办公场所面积:</el-col>
+ <el-col :span="8">{{state.content.workArea}}㎡</el-col>
+ <el-col :span="4">档案室面积:</el-col>
+ <el-col :span="8">{{state.content.archiveArea}}㎡</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">法定代表人:</el-col>
+ <el-col :span="8">{{state.content.legalPerson}}</el-col>
+ <el-col :span="4">法人电话:</el-col>
+ <el-col :span="8">{{state.content.legalPhone}}</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">机构负责人:</el-col>
+ <el-col :span="8">{{state.content.manager}}</el-col>
+ <el-col :span="4">负责人电话:</el-col>
+ <el-col :span="8">{{state.content.managerPhone}}</el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="4">业务范围:</el-col>
+ <el-col :span="20">{{state.content.business}}</el-col>
+ </el-row>
</div>
</div>
</template>
<script setup>
-import {onMounted, ref, reactive, watch, onUnmounted, defineExpose} from "vue"
+import {onMounted, ref, reactive, watch, onUnmounted, defineExpose, defineEmits} from "vue"
import { ArrowRight } from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
+import {getLawsDetails, getNoticeDetails, getPublishDetails} from "../../api/home/homePage";
+import { getDict } from "@/api/login"
const route = useRoute()
const router = useRouter()
const redirect = ref(undefined);
const state = reactive({
- firstClass: '第一级菜单'
+ firstClass: '',
+ content: {},
+ busList: []
})
-
-
-
+const emit = defineEmits(['backJump'])
onMounted(()=>{
-
+ getBusiness()
})
onUnmounted(()=>{
@@ -44,9 +105,76 @@
redirect.value = newRoute.query && newRoute.query.redirect;
}, { immediate: true });
+const openDetail = async (type,id)=>{
+ state.content = {}
+ state.firstClass = type
+ if(type == '通知公告'){
+ const res = await getNoticeDetails({noticeId: id})
+ if(res.code == 200){
+ state.content = res.data
+ if(state.content.updateTime){state.content.updateTime.substring(0.,16)}
+ state.content.createTime = state.content.createTime.substring(0.,16)
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
+ if(type == '法律法规'){
+ const res = await getLawsDetails({lawId: id})
+ if(res.code == 200){
+ state.content = res.data
+ if(state.content.updateTime){state.content.updateTime.substring(0.,16)}
+ state.content.createTime = state.content.createTime.substring(0.,16)
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
+ if(type == '机构公示'){
+ const res = await getPublishDetails({agencyId: id})
+ if(res.code == 200){
+ state.content = res.data
+ if(state.content.updateTime){state.content.updateTime.substring(0.,16)}
+ state.content.createTime = state.content.createTime.substring(0.,16)
+ state.content.issueDate = state.content.issueDate.substring(0,10)
+ state.content.validDate = state.content.validDate.substring(0,10)
+ state.content.business = getName(state.content.business)
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
+}
+
+
+const back = ()=>{
+ if(state.firstClass == '通知公告'){
+ emit('backJump',2)
+ }
+ if(state.firstClass == '法律法规'){
+ emit('backJump',3)
+ }
+ if(state.firstClass == '机构公示'){
+ emit('backJump',4)
+ }
+}
+
+const getBusiness = async ()=>{
+ const res = await getDict({dictType: 'sys_business_scope'})
+ if(res.code == 200){
+ state.busList = res.data
+ }else{
+ ElMessage.warning(res.message)
+ }
+}
+
+const getName = (str)=>{
+ const arr = str.split(',')
+ const newArr = arr.map((item)=>{
+ return state.busList.find(i=>i.id == Number(item))?.label
+ })
+ return newArr.join(',')
+}
defineExpose({
-
+ openDetail
})
</script>
@@ -58,13 +186,85 @@
flex-direction: column;
align-items: center;
margin-top: 170px;
+
.header{
+ width: 1200px;
+ height: 60px;
+ margin: 20px 0 0;
+ padding: 0 15px;
+ border-radius: 4px;
+ background: #f5f5f5;
display: flex;
align-items: center;
+ justify-content: space-between;
&>div{
display: flex;
align-items: center;
}
}
+ .main{
+ width: 1200px;
+ border-radius: 4px;
+ box-shadow: 1px 1px 3px rgba(0,0,0,.04);
+ padding: 20px 15px 40px;
+ background: #fff;
+ max-height: calc(100vh - 330px);
+ overflow-y: auto;
+
+ .title{
+ font-size: 1.8rem;
+ color: #333;
+ font-weight: bolder;
+ text-align: center;
+ }
+ .sub-title{
+ font-size: 1.6rem;
+ color: #333;
+ text-align: center;
+ margin: 10px 0;
+ }
+ .info{
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ text-align: center;
+ font-size: 15px;
+ color: #666;
+ }
+ .time{
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ text-align: center;
+ font-size: 15px;
+ color: #666;
+ margin-bottom: 15px;
+ }
+
+ .el-row{
+ border: 1px solid #e6e6e6;
+ border-bottom: none;
+ font-size: 18px;
+ color: #333;
+ font-weight: 600;
+ font-family: "PingFang SC";
+
+ &:last-of-type{
+ border-bottom: 1px solid #e6e6e6;
+ }
+ .el-col{
+ padding: 15px;
+ border-right: 1px solid #e6e6e6;
+
+ &:last-of-type{
+ border-right: none;
+ }
+ }
+ .el-col-4{
+ color: #666;
+ font-weight: normal;
+ }
+ }
+ }
}
</style>
diff --git a/src/views/components/home.vue b/src/views/components/home.vue
index 71677fd..20f96d0 100644
--- a/src/views/components/home.vue
+++ b/src/views/components/home.vue
@@ -10,11 +10,11 @@
<el-button plain @click="toMore(2)">查看更多</el-button>
</div>
<div class="list">
- <div v-for="item in state.noticeList">
+ <div v-for="item in state.noticeList" @click="openDetails('通知公告',item.id)">
<div><img src="src/assets/images/notice.png"></div>
<div>
<div>{{item.title}}</div>
- <span>{{item.updateTime}}</span>
+ <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
</div>
</div>
</div>
@@ -28,11 +28,11 @@
<el-button plain @click="toMore(3)">查看更多</el-button>
</div>
<div class="list">
- <div v-for="item in state.lawsList">
+ <div v-for="item in state.lawsList" @click="openDetails('法律法规',item.id)">
<div><img src="src/assets/images/laws.png"></div>
<div>
<div>{{item.title}}</div>
- <span>{{item.updateTime}}</span>
+ <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
</div>
</div>
</div>
@@ -46,11 +46,11 @@
<el-button plain @click="toMore(4)">查看更多</el-button>
</div>
<div class="list">
- <div v-for="item in state.pubList">
+ <div v-for="item in state.pubList" @click="openDetails('机构公示',item.id)">
<div><img src="src/assets/images/section.png"></div>
<div>
<div>{{item.name}}</div>
- <span>{{item.updateTime}}</span>
+ <span>{{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}</span>
</div>
</div>
</div>
@@ -94,7 +94,7 @@
lawsList: [],
pubList: []
})
-const emit = defineEmits(["toMore"])
+const emit = defineEmits(['toMore','openDetails'])
const redirect = ref(undefined);
onMounted(()=>{
@@ -115,6 +115,10 @@
emit('toMore',num)
}
+const openDetails = (type,id)=>{
+ emit('openDetails',type,id)
+}
+
const getNoticeList = async ()=>{
const res = await getNotice({title: '', content: '', pageNum: 1, pageSize: 5})
if(res.code == 200){
diff --git a/src/views/components/laws.vue b/src/views/components/laws.vue
index ab6ef7d..caf54c1 100644
--- a/src/views/components/laws.vue
+++ b/src/views/components/laws.vue
@@ -11,17 +11,17 @@
<el-button type="primary" :icon="Refresh" class="resetBtn">重置</el-button>
</div>
<div class="list">
- <div v-for="item in state.dataList">
+ <div v-for="item in state.dataList" @click="openDetails('法律法规',item.id)">
<div>
<div><img src="src/assets/images/article.png"></div>
<div>{{item.title}}</div>
</div>
<span>
- {{item.updateTime}}
+ {{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}
</span>
</div>
</div>
- <div class="pag-container">
+ <div class="pag-container" v-if="state.total&&state.total>0">
<el-pagination
v-model:current-page="state.querys.pageNum"
v-model:page-size="state.querys.pageSize"
@@ -37,12 +37,12 @@
</template>
<script setup>
-import {onMounted, ref, reactive, watch, onUnmounted, defineExpose} from "vue"
+import {onMounted, ref, reactive, watch, onUnmounted, defineExpose, defineEmits} from "vue"
import { getLaws } from '@/api/home/homePage'
import useUserStore from '@/store/modules/user'
import { Search, Refresh } from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
-
+const emit = defineEmits(['openDetails'])
const route = useRoute()
const router = useRouter()
@@ -88,6 +88,10 @@
const handleCurrentChange = (val) => {
state.querys.pageNum = val
getData()
+}
+
+const openDetails = (type,id)=>{
+ emit('openDetails',type,id)
}
defineExpose({
@@ -142,6 +146,8 @@
.list{
padding: 15px 0;
+ max-height: calc(100vh - 402px);
+ overflow-y: auto;
&>div{
display: flex;
@@ -171,7 +177,7 @@
}
}
div:last-of-type{
- width: 1000px;
+ width: 900px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
diff --git a/src/views/components/loginForm.vue b/src/views/components/loginForm.vue
index 02bc9cc..7ca1476 100644
--- a/src/views/components/loginForm.vue
+++ b/src/views/components/loginForm.vue
@@ -134,22 +134,21 @@
// 调用action的登录方法
loginForm.value.password = Base64.encode(loginForm.value.password)
userStore.login(loginForm.value).then(() => {
- const query = route.query;
- const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
- if (cur !== "redirect") {
- acc[cur] = query[cur];
+ // const query = route.query;
+ // const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
+ // if (cur !== "redirect") {
+ // acc[cur] = query[cur];
+ // }
+ // return acc;
+ // }, {});
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ if(userInfo.identity === 0) {
+ sidebarRouters.value = menu.adminMenu
+ Cookies.set('routers',JSON.stringify(sidebarRouters.value))
}
- return acc;
- }, {});
- const userInfo = JSON.parse(Cookies.get('userInfo'))
- if(userInfo.identity === 0) {
- sidebarRouters.value = menu.adminMenu
- Cookies.set('routers',JSON.stringify(sidebarRouters.value))
- }
- console.log("sidebarRouters.value",sidebarRouters.value)
- router.push({
- path: sidebarRouters.value[0].path
- })
+ router.push({
+ path: sidebarRouters.value[0].path
+ })
// router.push({ path: redirect.value || "/", query: otherQueryParams });
}).catch(() => {
loading.value = false;
diff --git a/src/views/components/notice.vue b/src/views/components/notice.vue
index d70ef98..7aa8f3c 100644
--- a/src/views/components/notice.vue
+++ b/src/views/components/notice.vue
@@ -2,17 +2,17 @@
<div class="container">
<div class="main-content">
<div class="list">
- <div v-for="item in state.dataList">
+ <div v-for="item in state.dataList" @click="openDetails('通知公告',item.id)">
<div>
<div><img src="src/assets/images/article.png"></div>
<div>{{item.title}}</div>
</div>
<span>
- {{item.updateTime}}
+ {{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}
</span>
</div>
</div>
- <div class="pag-container">
+ <div class="pag-container" v-if="state.total&&state.total>0">
<el-pagination
v-model:current-page="state.querys.pageNum"
v-model:page-size="state.querys.pageSize"
@@ -28,11 +28,11 @@
</template>
<script setup>
-import {onMounted, ref, reactive, watch, onUnmounted, defineExpose} from "vue"
+import {onMounted, ref, reactive, watch, onUnmounted, defineExpose, defineEmits} from "vue"
import { getNotice } from '@/api/home/homePage'
import useUserStore from '@/store/modules/user'
import {ElMessage} from "element-plus";
-
+const emit = defineEmits(['openDetails'])
const route = useRoute()
const router = useRouter()
@@ -78,6 +78,10 @@
}else{
ElMessage.warning(res.message)
}
+}
+
+const openDetails = (type,id)=>{
+ emit('openDetails',type,id)
}
defineExpose({
@@ -135,7 +139,7 @@
}
}
div:last-of-type{
- width: 1000px;
+ width: 900px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
diff --git a/src/views/components/publish.vue b/src/views/components/publish.vue
index 3ed921c..dc9f3f2 100644
--- a/src/views/components/publish.vue
+++ b/src/views/components/publish.vue
@@ -23,17 +23,17 @@
<el-button type="primary" :icon="Refresh" class="resetBtn">重置</el-button>
</div>
<div class="list">
- <div v-for="item in state.dataList">
+ <div v-for="item in state.dataList" @click="openDetails('机构公示',item.id)">
<div>
<div><img src="src/assets/images/article.png"></div>
- <div>{{item.title}}</div>
+ <div>{{item.name}}</div>
</div>
<span>
- {{item.updateTime}}
+ {{(item.updateTime?item.updateTime:item.createTime).substring(0,16)}}
</span>
</div>
</div>
- <div class="pag-container">
+ <div class="pag-container" v-if="state.total&&state.total>0">
<el-pagination
v-model:current-page="state.querys.pageNum"
v-model:page-size="state.querys.pageSize"
@@ -49,11 +49,11 @@
</template>
<script setup>
-import {onMounted, ref, reactive, watch, onUnmounted, defineExpose} from "vue"
+import {onMounted, ref, reactive, watch, onUnmounted, defineExpose, defineEmits} from "vue"
import { getPublish } from '@/api/home/homePage'
import { Search, Refresh } from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
-
+const emit = defineEmits(['openDetails'])
const route = useRoute()
const router = useRouter()
@@ -100,6 +100,10 @@
const handleCurrentChange = (val) => {
state.querys.pageNum = val
getData()
+}
+
+const openDetails = (type,id)=>{
+ emit('openDetails',type,id)
}
defineExpose({
@@ -154,6 +158,8 @@
.list{
padding: 15px 0;
+ max-height: calc(100vh - 402px);
+ overflow-y: auto;
&>div{
display: flex;
@@ -183,7 +189,7 @@
}
}
div:last-of-type{
- width: 1000px;
+ width: 900px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
diff --git a/src/views/homePage.vue b/src/views/homePage.vue
index f76cacb..ae5bf05 100644
--- a/src/views/homePage.vue
+++ b/src/views/homePage.vue
@@ -34,16 +34,16 @@
</div>
<div :class="state.activeMenu == 4?'active': ''" @click="changeTab(4)">
<List style="width: 1em; height: 1em; margin-right: 8px" />
- <div>信息公示</div>
+ <div>机构公示</div>
</div>
</div>
</div>
<div class="content">
- <Home v-if="state.activeMenu==1" ref="homeRef" @toMore="changeTab"/>
- <Notice v-if="state.activeMenu==2" ref="noticeRef"/>
- <Laws v-if="state.activeMenu==3" ref="lawsRef"/>
- <Publish v-if="state.activeMenu==4" ref="publishRef"/>
- <Details ref="detailsRef"></Details>
+ <Home v-if="state.activeMenu==1" ref="homeRef" @toMore="changeTab" @openDetails="openDetails"/>
+ <Notice v-if="state.activeMenu==2" ref="noticeRef" @openDetails="openDetails"/>
+ <Laws v-if="state.activeMenu==3" ref="lawsRef" @openDetails="openDetails"/>
+ <Publish v-if="state.activeMenu==4" ref="publishRef" @openDetails="openDetails"/>
+ <Details v-if="state.activeMenu==0" ref="detailsRef" @backJump="changeTab"></Details>
</div>
</div>
<!-- 底部 -->
@@ -60,8 +60,8 @@
import Notice from './components/notice'
import Laws from './components/laws'
import Publish from './components/publish'
-import Details from './components/details'
-
+import Details from './components/details.vue'
+const { proxy } = getCurrentInstance()
const route = useRoute()
const router = useRouter()
// 时间格式化
@@ -79,7 +79,7 @@
const noticeRef = ref(null)
const lawsRef = ref(null)
const publishRef = ref(null)
-
+const detailsRef = ref(null)
const state = reactive({
activeMenu: 1,
date: '',
@@ -130,21 +130,15 @@
const changeTab=(num)=>{
state.activeMenu = num
- console.log(state.activeMenu)
- // if(num == 1){
- // homeRef.value.getNoticeList()
- // homeRef.value.getLawsList()
- // homeRef.value.getPubList()
- // }
- // if(num == 2){
- // noticeRef.value.getData()
- // }
- // if(num == 3){
- // lawsRef.value.getData()
- // }
- // if(num == 4){
- // publishRef.value.getData()
- // }
+}
+
+const openDetails=(type,id)=>{
+ state.activeMenu = 0
+ nextTick(() => {
+ proxy.$refs.detailsRef.openDetail(type,id)
+ })
+ // detailsRef.value.openDetail(type,id)
+
}
</script>
--
Gitblit v1.9.2