news-list.js 1.41 KB
import api from '@/api/api'
import {
	httpGet,
	httpPost
} from '@/api/fetch-api.js'

import Pagination from '@/components/pagination/pagination.vue'
import { getDateYMD } from "@/utils/biz.js";

export default {
	name: "newsList",
	components: {
		Pagination
	},
	data() {
		return {
			key: 'value',
			queryForm: {
				l: "tc",
				page: 1,
				size: 10
			},

			totalPage: 0,
			totalItem : 0,
			news: []
		}
	},
	methods: {
		toNewsDetail(newsCode) {
			this.$router.push({
				path: "/news/detail",
				query: {
					c: newsCode
				}
			});
		},
		selPage(val) {
			let {
				page
			} = val;
			// this.queryForm.page = page;
			this.$router.push({
				path: "/news/list",
				query: {
					page: page
				}
			});
			this.initData();
		},
		initData() {
			let l = this.$i18n.locale;
			this.queryForm.l = l;
			let page = this.$route.query.page || 1;
			this.queryForm.page = page;
			this.$nextTick(()=>{
				this.$refs.pagination.selPage(page);
      		});
			httpGet({ url: api.newsList, data: this.queryForm }).then(res => {
				let newsList = res.list;
				newsList.forEach(element => {
					element.dateFormat = getDateYMD(element.createAt);
				});
				this.$set(this, 'news', newsList);
				this.totalPage = Math.ceil(res.total / this.queryForm.size);
				this.totalItem = res.total;
			});
		}
	},
	mounted() { },
	created() {
		document.documentElement.scrollTop = 0;
		document.body.scrollTop = 0;
		this.initData();
	}
}