<template>
	<view>
		<template v-if="showType == 0">
			<view style="padding: 20rpx;">
				<view style="background-color: #F3F3F3; display: flex; align-items: center; height: 70rpx; border-radius: 30rpx; overflow: hidden;">
					<view style="display: flex; align-items: center; justify-content: center; width: 62rpx;">
						<image style="width: 25rpx; height: 24rpx;" src="/pagesStock/static/icon/news-search.png" mode="widthFix"></image>
					</view>
					<input style="flex: 1; height: 100%; font-size: 22rpx; color: #999; margin-right: 20rpx;" type="text" v-model="keywords" placeholder="搜索相关新闻..." confirm-type="search" @confirm="clickSearch()"/>
				</view>
				
				<view class="newsList">
					<view class="item" style="border: 1rpx solid #E7E7E7; border-radius: 10rpx; padding: 0 27rpx; margin: 20rpx 0;" v-for="(item,index) in newsList" :key="index" @click="clickNewsItem(item)">
						<view style="color: #2B2B2B; font-size: 26rpx; font-weight: bold; margin-top: 20rpx;">{{item.title}}</view>
						<view style="display: flex; align-items: center; color: #999999; font-size: 22rpx; font-weight: 400;">
							<image style="width: 20rpx; height: 20rpx; margin-right: 5rpx;" src="/pagesStock/static/icon/newsTime.png" mode="widthFix"></image>
							<text>{{getLocalDate(item.created_at)}}</text>
							<text style="margin: 10rpx;">|</text>
							<image style="width: 18rpx; height: 13rpx; margin-right: 5rpx;" src="/pagesStock/static/icon/newsEyes.png" mode="widthFix"></image>
							<text>{{item.view_count}}</text>
							<text style="margin: 10rpx;">|</text>
							<image style="width: 16rpx; height: 19rpx; margin-right: 5rpx;" src="/pagesStock/static/icon/newsFire.png" mode="widthFix"></image>
							<text>{{item.hot_score}}</text>
						</view>
						
						<view class="labelList flexWrap">
							<view class="label eventType">{{item.event_type}}</view>
							<view class="label investScore">投资分:{{item.invest_score}}</view>
							<view v-for="(kitem, kindex) in item.keywords" :key="kindex" style="background-color: #FFFAF0; border-radius: 3rpx; padding: 2rpx 10rpx; overflow: hidden; font-size: 18rpx; color: #E9AE3E; font-weight: 400; margin-right: 10rpx;">{{kitem}}</view>
						</view>
						
						<view style="margin: 20rpx 0; font-size: 22rpx; color: #71675D; font-weight: 500;">{{item.description}}</view>
						
						<view v-if="item.related_avg_chg" style="height: 1rpx; background-color: #E7E7E7;"></view>
						
						<view v-if="item.related_avg_chg" class="relatedChgC flex" >
							<text style="font-weight: bold; color: #2B2B2B;">相关涨跌：</text>
							<text>平均 </text>
							<text :class="'chg '+(getRateUpOrDown(item.related_avg_chg)?'down':'up')">{{getChgRateStr(item.related_avg_chg)}}%</text>
							<text style="margin: 0 20rpx;">|</text>
							<text>最大 </text>
							<text :class="'chg '+(getRateUpOrDown(item.related_max_chg)?'down':'up')">{{getChgRateStr(item.related_max_chg)}}%</text>
							<text style="margin: 0 20rpx;">|</text>
							<text>周 </text>
							<text :class="'chg '+(getRateUpOrDown(item.related_week_chg)?'down':'up')">{{getChgRateStr(item.related_week_chg)}}%</text>
						</view>
					</view>
				</view>
			</view>
		</template>
		
		<template v-if="showType == 1">
			<view style="padding: 20rpx;" v-for="(item,index) in announcementList" :key="index" @click="clickAnnouncementItem(item)">
				<view style="border: 1rpx solid #E7E7E7; border-radius: 10rpx; padding: 0 27rpx; margin: 20rpx 0; display: flex; align-items: center;">
					<view style="flex: 1;">
						<view style="color: #2B2B2B; font-size: 26rpx; font-weight: bold; margin-top: 20rpx;">{{item.title}}</view>
						<view style="display: flex; align-items: center; color: #71675D; font-size: 22rpx; font-weight: 500; margin: 20rpx 0;">
							<text style="color: #E9AE3E; font-size: 18rpx; background-color: #FFFAF0; border-radius: 3rpx; padding: 2rpx 10rpx; margin-right: 14rpx;">公告</text>
							<text>{{item.announce_date}}</text>
							<text style="margin: 0 20rpx;">|</text>
							<text>{{item.format}}</text>
							<text style="margin: 0 20rpx;">|</text>
							<text>{{item.file_size}}KB</text>
						</view>
					</view>
					<view style="padding: 4rpx 10rpx; background-color: #F2C369; border-radius: 10rpx; color: #2B2B2B; font-size: 22rpx; margin-left: 10rpx;">查看</view>
				</view>
			</view>
		</template>
	</view>
</template>

<script>
	import { getChgRateStr, getLocalDate, getRateUpOrDown } from '@/utils/util';

	export default {
		name:"news-view",
		data() {
			return {
				showType: 0,
				keywords:'',	//搜索关键字
				getChgRateStr:getChgRateStr,
				getRateUpOrDown:getRateUpOrDown,
				getLocalDate:getLocalDate
			};
		},
		props: {// 0 新闻动态  1 公司公告
			type: Number,
			newsList:Array,			//新闻动态数组
			announcementList:Array,	//公司公告数组
		},
		watch:{
			type:{
				handler(newVal)
				{
					this.showType = newVal
				},
			}
		},
		methods: {
			/**
			 * 点击搜索
			 */
			clickSearch() {
				this.$emit('search',this.keywords)
			},
			/**
			 * 点击查看新闻动态
			 * @param {Object} item
			 */
			clickNewsItem(item) {
				this.$emit('newsDetails',item)
			},
			/**
			 * 点击查看公司公告
			 * @param {Object} item
			 */
			clickAnnouncementItem(item) {
				this.$emit('announcementDetails',item)
			}
		}
	}
</script>

<style lang="less">
	.newsList 
	{
		.item
		{
			.labelList 
			{
				.label 
				{
					margin-right: 10rpx;
					padding: 0 7rpx;
					line-height: 28rpx;
					border-radius: 3rpx;
					font-size: 18rpx;
					font-weight: 500;
				}
				.eventType 
				{
					background-color: #EFF6FF;
					color: #60A5FA;
				}
				.investScore 
				{
					background-color: #F2EEFF;
					color: #A78BFA;
				}
			}
			.relatedChgC 
			{ 
				margin: 20rpx 0;
				color: #71675D; 
				font-size: 22rpx; 
				font-weight: 500; 
				
				.chg.up
				{
					color: #EC3440;
				}
				.chg.down
				{
					color: #1DB26F;
				}
			}
		}
	}
	
</style>