|
@@ -4,7 +4,7 @@
|
|
|
<el-image class="image" :src="news" fit="fill" />
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="two">
|
|
|
- <div class="w_1200">
|
|
|
+ <div class="w_1300">
|
|
|
<el-col :span="24" class="two_1">
|
|
|
<el-row class="two_1_1" :gutter="20">
|
|
|
<el-col :span="6">
|
|
@@ -12,19 +12,15 @@
|
|
|
<el-col :span="24" class="top1">
|
|
|
<el-carousel :interval="4000" type="card" height="200px" @change="toChange">
|
|
|
<el-carousel-item v-for="(item, index) in carouselList" :key="index">
|
|
|
- <el-image class="image" :src="item.url" fit="fill" />
|
|
|
+ <el-image class="image" :src="getfile(item.file)" fit="fill" />
|
|
|
</el-carousel-item>
|
|
|
</el-carousel>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="center1">
|
|
|
- <el-col :span="24" class="title">{{ info.name }}</el-col>
|
|
|
- <el-col :span="24" class="other_1" v-if="info.client">
|
|
|
- 委托方: {{ info.client }}
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" class="other_1" v-if="info.partner">
|
|
|
- 合作方: {{ info.partner }}
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" class="other_2">{{ info.brief }}</el-col>
|
|
|
+ <el-col :span="24" class="title">{{ info.name || '暂无' }}</el-col>
|
|
|
+ <el-col :span="24" class="other_1" v-if="info.client"> 委托方: {{ info.client || '暂无' }} </el-col>
|
|
|
+ <el-col :span="24" class="other_1" v-if="info.partner"> 合作方: {{ info.partner || '暂无' }} </el-col>
|
|
|
+ <el-col :span="24" class="other_2">{{ info.brief || '暂无' }}</el-col>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="bottom1">
|
|
|
<el-button @click="toView(info)" type="primary">查看详情</el-button>
|
|
@@ -33,18 +29,12 @@
|
|
|
</el-col>
|
|
|
<el-col :span="18">
|
|
|
<el-row class="two_1_1_2" :gutter="20">
|
|
|
- <el-col
|
|
|
- :span="6"
|
|
|
- class="list"
|
|
|
- v-for="(item, index) in list.slice(0, 8)"
|
|
|
- :key="index"
|
|
|
- @click="toView(item)"
|
|
|
- >
|
|
|
+ <el-col :span="6" class="list" v-for="(item, index) in list.slice(0, 8)" :key="index" @click="toView(item)">
|
|
|
<el-row>
|
|
|
- <el-image class="image" :src="item.url" fit="fill" />
|
|
|
+ <el-image class="image" :src="getfile(item.file)" fit="fill" />
|
|
|
<el-col :span="24" class="other">
|
|
|
- <el-col :span="24" class="title textOne">{{ item.name }}</el-col>
|
|
|
- <el-col :span="24" class="other_2">{{ item.brief }}</el-col>
|
|
|
+ <el-col :span="24" class="title textOne">{{ item.name || '暂无' }}</el-col>
|
|
|
+ <el-col :span="24" class="other_2">{{ item.brief || '暂无' }}</el-col>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
@@ -59,18 +49,12 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18" class="left">
|
|
|
<el-row class="left_1" :gutter="20">
|
|
|
- <el-col
|
|
|
- :span="6"
|
|
|
- class="list"
|
|
|
- v-for="(item, index) in list"
|
|
|
- :key="index"
|
|
|
- @click="toView(item)"
|
|
|
- >
|
|
|
+ <el-col :span="6" class="list" v-for="(item, index) in list" :key="index" @click="toView(item)">
|
|
|
<el-row>
|
|
|
- <el-image class="image" :src="item.url" fit="fill" />
|
|
|
+ <el-image class="image" :src="getfile(item.file)" fit="fill" />
|
|
|
<el-col :span="24" class="other">
|
|
|
- <el-col :span="24" class="title textOne">{{ item.name }}</el-col>
|
|
|
- <el-col :span="24" class="other_2">{{ item.brief }}</el-col>
|
|
|
+ <el-col :span="24" class="title textOne">{{ item.name || '暂无' }}</el-col>
|
|
|
+ <el-col :span="24" class="other_2">{{ item.brief || '暂无' }}</el-col>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
@@ -90,12 +74,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="content">
|
|
|
<a-timeline>
|
|
|
- <a-timeline-item
|
|
|
- v-for="(item, index) in list"
|
|
|
- :key="index"
|
|
|
- @click="toView(item)"
|
|
|
- >
|
|
|
- <div class="name textOne">{{ item.name }}</div>
|
|
|
+ <a-timeline-item v-for="(item, index) in list" :key="index" @click="toView(item)">
|
|
|
+ <div class="name textOne">{{ item.name || '暂无' }}</div>
|
|
|
</a-timeline-item>
|
|
|
</a-timeline>
|
|
|
</el-col>
|
|
@@ -105,17 +85,7 @@
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24" class="page">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="total, prev, pager, next"
|
|
|
- :page-sizes="[10, 20, 50, 100, 200]"
|
|
|
- :total="total"
|
|
|
- :page-size="limit"
|
|
|
- v-model:current-page="currentPage"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="sizeChange"
|
|
|
- >
|
|
|
- </el-pagination>
|
|
|
+ <el-pagination background layout="total, prev, pager, next" :page-sizes="[10, 20, 50, 100, 200]" :total="total" :page-size="limit" v-model:current-page="currentPage" @current-change="changePage" @size-change="sizeChange"> </el-pagination>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
@@ -127,199 +97,43 @@
|
|
|
<script setup>
|
|
|
// 图片引入
|
|
|
import news from '/images/news.png'
|
|
|
-import journal1 from '/images/journal_1.jpeg'
|
|
|
-import journal2 from '/images/journal_2.jpeg'
|
|
|
-import journal3 from '/images/journal_3.jpeg'
|
|
|
-import journal4 from '/images/journal_4.jpeg'
|
|
|
import journal5 from '/images/journal_5.jpg'
|
|
|
import journal6 from '/images/journal_6.jpg'
|
|
|
-const carouselList = ref([
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal2,
|
|
|
- name: '吉林省玉米深加工产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '省石化院',
|
|
|
- brief: '针对产业锁条的堵点、断点,明确重需突破的关键共性技术,促进全首玉米深加工高质量发展'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal3,
|
|
|
- name: '松原市玉米深加工产业园区高质量发展规划',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- }
|
|
|
-])
|
|
|
-const list = ref([
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal2,
|
|
|
- name: '吉林省玉米深加工产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '省石化院',
|
|
|
- brief: '针对产业锁条的堵点、断点,明确重需突破的关键共性技术,促进全首玉米深加工高质量发展'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal3,
|
|
|
- name: '松原市玉米深加工产业园区高质量发展规划',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal4,
|
|
|
- name: '吉林省肉牛(加工》产业发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal2,
|
|
|
- name: '吉林省玉米深加工产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '省石化院',
|
|
|
- brief: '针对产业锁条的堵点、断点,明确重需突破的关键共性技术,促进全首玉米深加工高质量发展'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal3,
|
|
|
- name: '松原市玉米深加工产业园区高质量发展规划',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal4,
|
|
|
- name: '吉林省肉牛(加工》产业发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal2,
|
|
|
- name: '吉林省玉米深加工产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '省石化院',
|
|
|
- brief: '针对产业锁条的堵点、断点,明确重需突破的关键共性技术,促进全首玉米深加工高质量发展'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal3,
|
|
|
- name: '松原市玉米深加工产业园区高质量发展规划',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal4,
|
|
|
- name: '吉林省肉牛(加工》产业发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal2,
|
|
|
- name: '吉林省玉米深加工产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '省石化院',
|
|
|
- brief: '针对产业锁条的堵点、断点,明确重需突破的关键共性技术,促进全首玉米深加工高质量发展'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal3,
|
|
|
- name: '松原市玉米深加工产业园区高质量发展规划',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- },
|
|
|
- {
|
|
|
- id: '1',
|
|
|
- url: journal4,
|
|
|
- name: '吉林省肉牛(加工》产业发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief:
|
|
|
- '以松原市嘉吉生物化工产业园区为研究核心。提出推进产业基础高级化和产业现代化的政策保隐措施'
|
|
|
- }
|
|
|
-])
|
|
|
+// 接口
|
|
|
+import { NotesStore } from '@/store/api/platform/notes'
|
|
|
+const store = NotesStore()
|
|
|
+const carouselList = ref([])
|
|
|
+const list = ref([])
|
|
|
let skip = 0
|
|
|
let limit = inject('limit')
|
|
|
const total = ref(0)
|
|
|
+const info = ref({})
|
|
|
+
|
|
|
// 路由
|
|
|
const router = useRouter()
|
|
|
+const route = useRoute()
|
|
|
// 加载中
|
|
|
const loading = ref(false)
|
|
|
-const info = ref({
|
|
|
- id: '1',
|
|
|
- url: journal1,
|
|
|
- name: '吉林省智能传感器产业链创新发展研究',
|
|
|
- client: '省工信厅',
|
|
|
- partner: '吉林大学',
|
|
|
- brief: '结合我曾经济发展特色和科研院所技术优势,明确产业发展方向'
|
|
|
-})
|
|
|
// 请求
|
|
|
onMounted(async () => {
|
|
|
loading.value = true
|
|
|
- await search()
|
|
|
+ await search({ skip, limit })
|
|
|
loading.value = false
|
|
|
})
|
|
|
-const search = async () => {}
|
|
|
+const search = async (query = { skip, limit }) => {
|
|
|
+ if (route.query.id) {
|
|
|
+ skip = query.skip
|
|
|
+ limit = query.limit
|
|
|
+ const info = { skip: query.skip, limit: query.limit, journal: route.query.id }
|
|
|
+ const res = await store.query(info)
|
|
|
+ if (res.errcode == '0') {
|
|
|
+ carouselList.value = res.data.slice(0, 3)
|
|
|
+ info.value = carouselList.value[0]
|
|
|
+ list.value = res.data
|
|
|
+ total.value = res.total
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
// 轮播图改变
|
|
|
const toChange = async (e) => {
|
|
|
info.value = carouselList.value[e]
|
|
@@ -328,6 +142,9 @@ const toChange = async (e) => {
|
|
|
const toView = async (item) => {
|
|
|
router.push({ path: '/study/detail', query: { id: item.id || item._id } })
|
|
|
}
|
|
|
+const getfile = (item) => {
|
|
|
+ if (item && item.length > 0) return `${import.meta.env.VITE_APP_HOST}${item[0].uri}`
|
|
|
+}
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
.main {
|