资讯与公司新闻对换

main
rosehan 3 months ago
parent 37584cb976
commit 161e2cc066
  1. 25
      src/views/pages/index.vue
  2. 157
      src/views/pages/news-list.vue
  3. 2
      vue.config.js

@ -164,15 +164,14 @@
</div>
<div class="ciontent-text news-text">
<el-tabs class="cjy-tabs short-tabs" v-model="activeName2" @tab-click="handleClick">
<el-tab-pane label="公司动态" name="1">
<el-tab-pane label="行业资讯" :name=2>
<el-row class="news-row" :gutter="40">
<el-col v-for="(item, index) in newsList" class="news-col row" :span="12"
@click.native="gotoNews(item.id)">
<el-col v-for="(item, index) in newsList" class="news-col" :span="12" @click.native="gotoNews(item.id)">
<div class="news-img-box">
<el-image class="news-img" :src="item.logo"/>
<div v-if="item.recommend == 1" class="recommend-badge">Hot</div>
</div>
<div class="news-col-text col overflow-hidden">
<div v-if="item.recommend == 1" class="recommend-badge">Hot</div>
</div>
<div class="news-col-text">
<div class="news-text-title">
{{ item.title || '--' }}
</div>
@ -187,14 +186,15 @@
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="行业资讯" name="2">
<el-tab-pane label="公司动态" :name=1>
<el-row class="news-row" :gutter="40">
<el-col v-for="(item, index) in newsList" class="news-col" :span="12" @click.native="gotoNews(item.id)">
<el-col v-for="(item, index) in newsList" class="news-col row" :span="12"
@click.native="gotoNews(item.id)">
<div class="news-img-box">
<el-image class="news-img" :src="item.logo"/>
<div v-if="item.recommend == 1" class="recommend-badge">Hot</div>
</div>
<div class="news-col-text">
<div class="news-col-text col overflow-hidden">
<div class="news-text-title">
{{ item.title || '--' }}
</div>
@ -209,7 +209,6 @@
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
</div>
@ -237,7 +236,7 @@ export default {
scrollPosition: 0, //
activeName: '第0个',
activeName1: '第0个',
activeName2: '1',
activeName2: 2,
banners: [],
companyProfile: '',//
solvePlan: [],
@ -441,14 +440,14 @@ export default {
async getNews(val) {
const params = {
type: 7,
infoType: val ? val : 1
infoType: val ? val : 2
}
let res = await Api.getColumnInfoList(params)
this.newsList = res.data.list.slice(0, 6);
},
handleClick(tab, event) {
this.getNews(Number(tab.index) + 1)
this.getNews(this.activeName2)
},
handleScroll() {
this.scrollPosition = window.scrollY; //

@ -8,7 +8,7 @@
<div class="title" v-if="banner_data.title">{{ banner_data.title }}</div>
<div class="subtitle" v-if="banner_data.subtitle">{{ banner_data.subtitle }}</div>
</div>
<img :src="banner_data.logo" class="img" />
<img :src="banner_data.logo" class="img"/>
</div>
<!-- 页面 面包屑 -->
<div class="v-container">
@ -24,7 +24,9 @@
<div v-if="news_list.length > 0">
<div class="list-item" v-for="(item, index) in news_list" :key="index">
<div class="item-box row" @click="gotoPages(item.id,active)">
<div class="item-image"><img :src="item.logo" class="img"><div v-if="item.recommend == 1" class="recommend-badge">Hot</div></div>
<div class="item-image"><img :src="item.logo" class="img">
<div v-if="item.recommend == 1" class="recommend-badge">Hot</div>
</div>
<div class="item-content col">
<div class="title">{{ item.title }}</div>
<div class="info" v-html="item.introduction"></div>
@ -36,8 +38,9 @@
</div>
</div>
</div>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="infoPages"/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="infoPages"/>
</el-tab-pane>
</el-tabs>
@ -48,92 +51,92 @@
</template>
<script>
import * as Api from "@/api/cjy/columninfo"
import { DICT_TYPE, getDictDatas } from "@/utils/dict";
export default {
name: "list",
data() {
return {
banner_data: {},//广
total: 0,
queryParams: {
pageNo: 1,
pageSize: 10,
type: 7,
infoType: null
},
active: '1',
//
news_list: [],
tab_list: [{
label: '公司动态',
value: '1'
import * as Api from "@/api/cjy/columninfo"
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
}, {
label: '行业资讯',
value: '2'
}]
}
export default {
name: "list",
data() {
return {
banner_data: {},//广
total: 0,
queryParams: {
pageNo: 1,
pageSize: 10,
type: 7,
infoType: null
},
active: '2',
//
news_list: [],
tab_list: [{
label: '行业资讯',
value: '2'
}, {
label: '公司动态',
value: '1'
}]
}
},
mounted() {
//
this.getBanner()
//
this.infoPages()
},
methods: {
//
async getBanner() {
let res = await Api.getColumnInfoList({type: 14});
this.banner_data = res.data.list[0]
},
//
async infoPages() {
this.queryParams.infoType = Number(this.active)
let res = await Api.getColumnInfoList(this.queryParams)
this.news_list = res.data.list
this.total = res.data.total;
},
mounted() {
//
this.getBanner()
//
handleClick() {
this.infoPages()
},
methods: {
//
async getBanner() {
let res = await Api.getColumnInfoList({ type: 14 });
this.banner_data = res.data.list[0]
},
//
async infoPages() {
this.queryParams.infoType = Number(this.active)
let res = await Api.getColumnInfoList(this.queryParams)
this.news_list = res.data.list
this.total = res.data.total;
},
handleClick() {
this.infoPages()
},
//
gotoPages(val) {
this.$router.push("/news-detail?id=" + val+'&active='+this.active)
}
//
gotoPages(val) {
this.$router.push("/news-detail?id=" + val + '&active=' + this.active)
}
}
}
</script>
<style scoped>
.item-image{
.item-image {
position: relative;
}
.recommend-badge {
/* 基础定位 */
position: absolute;
top: -41px;
right: -60px;
width: 120px;
height: 80px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 1;
background: linear-gradient(90deg, #e83c5b 0%, #e8763c 100%);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
padding-bottom: 3px;
color: white;
font-size: 14px;
-webkit-box-shadow: 0 2px 8px rgba(255, 75, 31, 0.3);
box-shadow: 0 2px 8px rgba(255, 75, 31, 0.3);
top: -41px;
right: -60px;
width: 120px;
height: 80px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 1;
background: linear-gradient(90deg, #e83c5b 0%, #e8763c 100%);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
padding-bottom: 3px;
color: white;
font-size: 14px;
-webkit-box-shadow: 0 2px 8px rgba(255, 75, 31, 0.3);
box-shadow: 0 2px 8px rgba(255, 75, 31, 0.3);
}
</style>

@ -36,7 +36,7 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
['/proxy-api']: {
target: `http://192.168.130.157:48080/`, //luquan Lqzhly@2024!
target: `https://www.hbcjy.com/`, //luquan Lqzhly@2024!
// target: `http://api-dashboard.yudao.iocoder.cn`,
changeOrigin: true,
pathRewrite: {

Loading…
Cancel
Save