lhl 1 year ago
parent
commit
854868232f
46 changed files with 2505 additions and 15 deletions
  1. BIN
      src/assets/img/i9.png
  2. 73 1
      src/components/leftNav/LeftNav.vue
  3. 10 5
      src/components/navBar/NavBar.vue
  4. 8 0
      src/request/api.js
  5. 346 0
      src/router.js
  6. 28 0
      src/views/Donate.vue
  7. 22 7
      src/views/Home.vue
  8. 8 1
      src/views/NewsCenter.vue
  9. 29 0
      src/views/Open.vue
  10. 11 0
      src/views/donate/Expenditure.vue
  11. 11 0
      src/views/donate/Receive.vue
  12. 42 0
      src/views/donate/expenditure/Detail.vue
  13. 113 0
      src/views/donate/expenditure/List.vue
  14. 42 0
      src/views/donate/receive/Detail.vue
  15. 113 0
      src/views/donate/receive/List.vue
  16. 1 1
      src/views/download/List.vue
  17. 11 0
      src/views/newsCenter/Blood.vue
  18. 11 0
      src/views/newsCenter/Body.vue
  19. 8 0
      src/views/newsCenter/Hematopoiesis.vue
  20. 11 0
      src/views/newsCenter/Humanity.vue
  21. 11 0
      src/views/newsCenter/Protect.vue
  22. 11 0
      src/views/newsCenter/Rescue.vue
  23. 11 0
      src/views/newsCenter/Work.vue
  24. 42 0
      src/views/newsCenter/blood/Detail.vue
  25. 113 0
      src/views/newsCenter/blood/List.vue
  26. 42 0
      src/views/newsCenter/body/Detail.vue
  27. 113 0
      src/views/newsCenter/body/List.vue
  28. 42 0
      src/views/newsCenter/hematopoiesis/Detail.vue
  29. 113 0
      src/views/newsCenter/hematopoiesis/List.vue
  30. 42 0
      src/views/newsCenter/humanity/Detail.vue
  31. 113 0
      src/views/newsCenter/humanity/List.vue
  32. 42 0
      src/views/newsCenter/protect/Detail.vue
  33. 113 0
      src/views/newsCenter/protect/List.vue
  34. 42 0
      src/views/newsCenter/rescue/Detail.vue
  35. 113 0
      src/views/newsCenter/rescue/List.vue
  36. 42 0
      src/views/newsCenter/work/Detail.vue
  37. 113 0
      src/views/newsCenter/work/List.vue
  38. 11 0
      src/views/open/Finance.vue
  39. 11 0
      src/views/open/Laws.vue
  40. 11 0
      src/views/open/Notice.vue
  41. 42 0
      src/views/open/finance/Detail.vue
  42. 113 0
      src/views/open/finance/List.vue
  43. 42 0
      src/views/open/laws/Detail.vue
  44. 104 0
      src/views/open/laws/List.vue
  45. 42 0
      src/views/open/notice/Detail.vue
  46. 113 0
      src/views/open/notice/List.vue

BIN
src/assets/img/i9.png


+ 73 - 1
src/components/leftNav/LeftNav.vue

@@ -117,6 +117,78 @@
 					case '/newsCenter/laws/detail':
 						title = '政策法规,政策详情'
 						break
+					case '/newsCenter/work/list':
+						title = '红十字志愿服务与青少年'
+						break
+					case '/newsCenter/work/detail':
+						title = '红十字志愿服务与青少年,新闻详情'
+						break
+					case '/newsCenter/rescue/list':
+						title = '应急救援'
+						break
+					case '/newsCenter/rescue/detail':
+						title = '应急救援,新闻详情'
+						break
+					case '/newsCenter/protect/list':
+						title = '应急救护'
+						break
+					case '/newsCenter/protect/detail':
+						title = '应急救护,新闻详情'
+						break
+					case '/newsCenter/humanity/list':
+						title = '人道救助'
+						break
+					case '/newsCenter/humanity/detail':
+						title = '人道救助,新闻详情'
+						break
+					case '/newsCenter/hematopoiesis/list':
+						title = '造血干细胞捐献'
+						break
+					case '/newsCenter/hematopoiesis/detail':
+						title = '造血干细胞捐献,新闻详情'
+						break
+					case '/newsCenter/body/list':
+						title = '遗体和器官捐献'
+						break
+					case '/newsCenter/body/detail':
+						title = '遗体和器官捐献,新闻详情'
+						break
+					case '/newsCenter/blood/list':
+						title = '无偿献血'
+						break
+					case '/newsCenter/blood/detail':
+						title = '无偿献血,新闻详情'
+						break
+					case '/open/finance/list':
+						title = '财务公开'
+						break
+					case '/open/finance/detail':
+						title = '财务公开,详情'
+						break
+					case '/open/notice/list':
+						title = '公告通知'
+						break
+					case '/open/notice/detail':
+						title = '公告通知,详情'
+						break
+					case '/open/laws/list':
+						title = '政策法规'
+						break
+					case '/open/laws/detail':
+						title = '政策法规,政策详情'
+						break
+					case '/donate/receive/list':
+						title = '捐赠接收'
+						break
+					case '/donate/receive/detail':
+						title = '捐赠接收,详情'
+						break
+					case '/donate/expenditure/list':
+						title = '款物支出'
+						break
+					case '/donate/expenditure/detail':
+						title = '款物支出,详情'
+						break
 					case '/about/redCrossMovement':
 						title = '关于红十字会运动'
 						break
@@ -198,7 +270,7 @@
 			// background-color: #f2eeef;
 			justify-content: space-between;
 			line-height: 50px;
-			padding: 0 37px 0 26px;
+			padding: 0 20px 0 26px;
 			.item-name {
 				font-size: 16px;
 				font-family: PingFang SC;

+ 10 - 5
src/components/navBar/NavBar.vue

@@ -39,11 +39,16 @@ export default {
 				title: '红十字概况',
 				imgUrl: require('@/assets/img/n5.png'),
 			},
-			// {
-			// 	path: '/concat',
-			// 	title: '联系我们',
-			// 	imgUrl: require('@/assets/img/n6.png'),
-			// }
+			{
+				path: '/open',
+				title: '信息公开',
+				imgUrl: require('@/assets/img/n6.png'),
+			},
+			{
+				path: '/donate',
+				title: '社会捐赠',
+				imgUrl: require('@/assets/img/n6.png'),
+			}
 		],
 		currentIndex: 0
 	};

+ 8 - 0
src/request/api.js

@@ -127,4 +127,12 @@ export function downloadList(data) {
 		method: 'get',
 		params: data
 	});
+}
+
+export function getArtList(data,id) {
+	return request({
+		url: '/api/article/list/' + id,
+		method: 'get',
+		params: data
+	});
 }

+ 346 - 0
src/router.js

@@ -340,6 +340,195 @@ export default new Router({
 					}
 				]
 			},
+			{
+				path: 'work',
+				name: 'work',
+				component: () => import('./views/newsCenter/Work.vue'),
+				redirect: '/newsCenter/work/list',
+				meta: {
+					title: '红十字志愿服务与青少年'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'workList',
+						component: () => import('./views/newsCenter/work/List.vue'),
+						meta: {
+							title: '红十字志愿服务与青少年'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'workDetail',
+						component: () => import('./views/newsCenter/work/Detail.vue'),
+						meta: {
+							title: '红十字志愿服务与青少年'
+						}
+					}
+				]
+			},
+			{
+				path: 'rescue',
+				name: 'rescue',
+				component: () => import('./views/newsCenter/Work.vue'),
+				redirect: '/newsCenter/rescue/list',
+				meta: {
+					title: '应急救援'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'rescueList',
+						component: () => import('./views/newsCenter/rescue/List.vue'),
+						meta: {
+							title: '应急救援'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'rescueDetail',
+						component: () => import('./views/newsCenter/rescue/Detail.vue'),
+						meta: {
+							title: '应急救援'
+						}
+					}
+				]
+			},
+			{
+				path: 'protect',
+				name: 'protect',
+				component: () => import('./views/newsCenter/Protect.vue'),
+				redirect: '/newsCenter/protect/list',
+				meta: {
+					title: '应急救护'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'protectList',
+						component: () => import('./views/newsCenter/protect/List.vue'),
+						meta: {
+							title: '应急救护'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'protectDetail',
+						component: () => import('./views/newsCenter/protect/Detail.vue'),
+						meta: {
+							title: '应急救护'
+						}
+					}
+				]
+			},
+			{
+				path: 'humanity',
+				name: 'humanity',
+				component: () => import('./views/newsCenter/Humanity.vue'),
+				redirect: '/newsCenter/humanity/list',
+				meta: {
+					title: '人道救助'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'humanityList',
+						component: () => import('./views/newsCenter/humanity/List.vue'),
+						meta: {
+							title: '人道救助'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'humanityDetail',
+						component: () => import('./views/newsCenter/humanity/Detail.vue'),
+						meta: {
+							title: '人道救助'
+						}
+					}
+				]
+			},
+			{
+				path: 'hematopoiesis',
+				name: 'hematopoiesis',
+				component: () => import('./views/newsCenter/Humanity.vue'),
+				redirect: '/newsCenter/hematopoiesis/list',
+				meta: {
+					title: '造血干细胞捐献'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'hematopoiesisList',
+						component: () => import('./views/newsCenter/hematopoiesis/List.vue'),
+						meta: {
+							title: '造血干细胞捐献'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'hematopoiesisDetail',
+						component: () => import('./views/newsCenter/hematopoiesis/Detail.vue'),
+						meta: {
+							title: '造血干细胞捐献'
+						}
+					}
+				]
+			},
+			{
+				path: 'body',
+				name: 'body',
+				component: () => import('./views/newsCenter/Body.vue'),
+				redirect: '/newsCenter/body/list',
+				meta: {
+					title: '遗体和器官捐献'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'bodyList',
+						component: () => import('./views/newsCenter/body/List.vue'),
+						meta: {
+							title: '遗体和器官捐献'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'bodyDetail',
+						component: () => import('./views/newsCenter/body/Detail.vue'),
+						meta: {
+							title: '遗体和器官捐献'
+						}
+					}
+				]
+			},
+			{
+				path: 'blood',
+				name: 'blood',
+				component: () => import('./views/newsCenter/Body.vue'),
+				redirect: '/newsCenter/blood/list',
+				meta: {
+					title: '遗体和器官捐献'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'bloodList',
+						component: () => import('./views/newsCenter/blood/List.vue'),
+						meta: {
+							title: '遗体和器官捐献'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'bloodDetail',
+						component: () => import('./views/newsCenter/blood/Detail.vue'),
+						meta: {
+							title: '遗体和器官捐献'
+						}
+					}
+				]
+			},
 		]
 	},
 	{
@@ -396,6 +585,163 @@ export default new Router({
 			}
 		]
 	},
+	{
+		path: '/donate',
+		name: 'donate',
+		component: () => import('./views/Donate.vue'),
+		redirect: '/donate/receive',
+		meta: {
+			title: '社会捐赠'
+		},
+		children: [
+			{
+				path: 'receive',
+				name: 'receive',
+				component: () => import('./views/donate/Receive.vue'),
+				meta: {
+					title: '捐赠接收'
+				},
+				redirect: '/donate/receive/list',
+				children: [
+					{
+						path: 'list',
+						name: 'receiveList',
+						component: () => import('./views/donate/receive/List.vue'),
+						meta: {
+							title: '捐赠接收'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'receiveDetail',
+						component: () => import('./views/donate/receive/Detail.vue'),
+						meta: {
+							title: '捐赠接收'
+						}
+					}
+				]
+			},
+			{
+				path: 'expenditure',
+				name: 'expenditure',
+				component: () => import('./views/donate/Expenditure.vue'),
+				meta: {
+					title: '款物支出'
+				},
+				redirect: '/donate/expenditure/list',
+				children: [
+					{
+						path: 'list',
+						name: 'expenditureList',
+						component: () => import('./views/donate/expenditure/List.vue'),
+						meta: {
+							title: '款物支出'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'expenditureDetail',
+						component: () => import('./views/donate/expenditure/Detail.vue'),
+						meta: {
+							title: '款物支出'
+						}
+					}
+				]
+			}
+		]
+	},
+	{
+		path: '/open',
+		name: 'open',
+		component: () => import('./views/Open.vue'),
+		redirect: '/open/notice',
+		meta: {
+			title: '信息公开'
+		},
+		children: [
+			{
+				path: 'notice',
+				name: 'notice',
+				component: () => import('./views/open/Notice.vue'),
+				meta: {
+					title: '公告通知'
+				},
+				redirect: '/open/notice/list',
+				children: [
+					{
+						path: 'list',
+						name: 'noticeList',
+						component: () => import('./views/open/notice/List.vue'),
+						meta: {
+							title: '公告通知'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'noticeDetail',
+						component: () => import('./views/open/notice/Detail.vue'),
+						meta: {
+							title: '公告通知'
+						}
+					}
+				]
+			},
+			{
+				path: 'laws',
+				name: 'laws',
+				component: () => import('./views/open/Laws.vue'),
+				redirect: '/open/laws/list',
+				meta: {
+					title: '法律法规'
+				},
+				children: [
+					{
+						path: 'list',
+						name: 'lawsList',
+						component: () => import('./views/open/laws/List.vue'),
+						meta: {
+							title: '法律法规'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'lawsDetail',
+						component: () => import('./views/open/laws/Detail.vue'),
+						meta: {
+							title: '法律法规'
+						}
+					}
+				]
+			},
+			{
+				path: 'finance',
+				name: 'finance',
+				component: () => import('./views/open/Finance.vue'),
+				meta: {
+					title: '财务公开'
+				},
+				redirect: '/open/finance/list',
+				children: [
+					{
+						path: 'list',
+						name: 'financeList',
+						component: () => import('./views/open/finance/List.vue'),
+						meta: {
+							title: '财务公开'
+						}
+					},
+					{
+						path: 'detail',
+						name: 'financeDetail',
+						component: () => import('./views/open/finance/Detail.vue'),
+						meta: {
+							title: '财务公开'
+						}
+					}
+				]
+			}
+		]
+	},
 	{
 		path: '*',
 		redirect: '/home'

+ 28 - 0
src/views/Donate.vue

@@ -0,0 +1,28 @@
+<template>
+	<div class="news-center">
+		<!-- 444444 -->
+		<left-nav :navList="navList">
+			<router-view></router-view>
+		</left-nav>
+	</div>
+</template>
+
+<script>
+import LeftNav from '../components/leftNav/LeftNav.vue';
+
+export default {
+	components: {
+		LeftNav
+	},
+	data() {
+		return {
+			navList: [
+				{ index: 0, name: '捐赠接收', path: '/donate/receive' },
+				{ index: 1, name: '款物支出', path: '/donate/expenditure' },
+			]
+		};
+	}
+};
+</script>
+
+<style></style>

+ 22 - 7
src/views/Home.vue

@@ -82,13 +82,19 @@
 							<div class="title hand">{{ item.title }}</div>
 						</div>
 					</div>
+					<div class="join-main" style="padding-top: 15px;">
+						<div class="join-item" v-for="item in miniNavList3" @click="navTo(item.path)" :key="item.title">
+							<div class="logo hand"><img :src="item.image" /></div>
+							<div class="title hand">{{ item.title }}</div>
+						</div>
+					</div>
 				</div>
 				
 			</div>
 			<div class="home-open">
-				<item-title title="信息公示" :topath="'/publicity'"></item-title>
+				<item-title title="信息公开" :topath="'/open'"></item-title>
 				<div class="item-wrapper">
-					<div class="new-item hand" v-for="item in openNews" :key="item.id" @click="navTo('/publicity/detail?id='+ item.id)">
+					<div class="new-item hand" v-for="item in openNews" :key="item.id" @click="navTo('/open/notice/detail?id='+ item.id)">
 						<div class="title clamp ">
 							<span class="sj"></span>
 							{{ item.title }}
@@ -177,13 +183,14 @@ export default {
 					title: '造血干细胞捐献',
 					image: require('@/assets/img/i3.png')
 				},
+				
+			],
+			miniNavList2: [
 				{
 					path: '/join/rescue',
 					title: '救护员登记',
 					image: require('@/assets/img/i4.png')
 				},
-			],
-			miniNavList2: [
 				{
 					path: '/join/member',
 					title: '个人会员登记',
@@ -194,6 +201,9 @@ export default {
 					title: '志愿者登记',
 					image: require('@/assets/img/i6.png')
 				},
+				
+			],
+			miniNavList3: [
 				{
 					path: '/join/train',
 					title: '普及培训报名',
@@ -203,6 +213,11 @@ export default {
 					path: '/popularScience/list',
 					title: '红会科普',
 					image: require('@/assets/img/i8.png')
+				},
+				{
+					path: '/newsCenter/blood/list',
+					title: '无偿献血',
+					image: require('@/assets/img/i9.png')
 				}
 			],
 			swiperList: [],
@@ -335,7 +350,7 @@ export default {
 			let obj = this
 			openList({
 				page: 1,
-				limit: 7
+				limit: 10
 			}).then(res => {
 				console.log(res.data.list,'0000000000++++++++')
 				
@@ -665,7 +680,7 @@ export default {
 				box-sizing: border-box;
 				padding: 20px;
 				width: 588px;
-				height: 379px;
+				// height: 379px;
 				background: #FFFFFF;
 
 					.join-main {
@@ -710,7 +725,7 @@ export default {
 				box-sizing: border-box;
 				padding: 20px;
 				width: 592px;
-				height: 379px;
+				// height: 379px;
 				background: #FFFFFF;
 				.new-item {
 					

+ 8 - 1
src/views/NewsCenter.vue

@@ -21,7 +21,14 @@ export default {
 				{ index: 1, name: '鄂城区', path: '/newsCenter/echeng' },
 				{ index: 2, name: '华容区', path: '/newsCenter/huarong' },
 				{ index: 3, name: '梁子湖区', path: '/newsCenter/liangzihu' },
-				{ index: 4, name: '政策法规', path: '/newsCenter/laws' },
+				// { index: 4, name: '政策法规', path: '/newsCenter/laws' },
+				{ index: 5, name: '红十字志愿服务与青少年', path: '/newsCenter/work' },
+				{ index: 6, name: '应急救援', path: '/newsCenter/rescue' },
+				{ index: 7, name: '应急救护', path: '/newsCenter/protect' },
+				{ index: 8, name: '人道救助', path: '/newsCenter/humanity' },
+				{ index: 9, name: '造血干细胞捐献', path: '/newsCenter/hematopoiesis' },
+				{ index: 10, name: '遗体和器官捐献', path: '/newsCenter/body' },
+				{ index: 11, name: '无偿献血', path: '/newsCenter/blood' },
 			]
 		};
 	}

+ 29 - 0
src/views/Open.vue

@@ -0,0 +1,29 @@
+<template>
+	<div class="news-center">
+		<!-- 444444 -->
+		<left-nav :navList="navList">
+			<router-view></router-view>
+		</left-nav>
+	</div>
+</template>
+
+<script>
+import LeftNav from '../components/leftNav/LeftNav.vue';
+
+export default {
+	components: {
+		LeftNav
+	},
+	data() {
+		return {
+			navList: [
+				{ index: 0, name: '公告通知', path: '/open/notice' },
+				{ index: 1, name: '政策法规', path: '/open/laws' },
+				{ index: 2, name: '财务公开', path: '/open/finance' },
+			]
+		};
+	}
+};
+</script>
+
+<style></style>

+ 11 - 0
src/views/donate/Expenditure.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="expenditure-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/donate/Receive.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="receive-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 42 - 0
src/views/donate/expenditure/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/donate/expenditure/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/donate/expenditure/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},37).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/donate/receive/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/donate/receive/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/donate/receive/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},36).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 1 - 1
src/views/download/List.vue

@@ -6,7 +6,7 @@
 				<img src="../../assets/img/download.png" >
 				<a :href="'./'+item.synopsis" :download="item.synopsis">{{ item.title }}</a>
 			</div>
-			<div class="time">{{  item.release_time || item.add_time }}</div>
+			<div class="time">{{  item.release_time.split(' ')[0] || item.add_time.split(' ')[0] }}</div>
 		</div>
 		<el-pagination layout="prev, pager, next" :total="total" background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit" hide-on-single-page></el-pagination>
 	</div>

+ 11 - 0
src/views/newsCenter/Blood.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="blood-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/newsCenter/Body.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="body-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 8 - 0
src/views/newsCenter/Hematopoiesis.vue

@@ -0,0 +1,8 @@
+<template>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/newsCenter/Humanity.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="humanity-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/newsCenter/Protect.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="protect-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/newsCenter/Rescue.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="rescue-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/newsCenter/Work.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="work-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 42 - 0
src/views/newsCenter/blood/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/blood/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/blood/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},31).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/body/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/body/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/body/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},30).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/hematopoiesis/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/hematopoiesis/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/hematopoiesis/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},29).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/humanity/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/humanity/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/humanity/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},28).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/protect/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/protect/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/protect/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},27).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/rescue/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/rescue/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/rescue/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},26).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/newsCenter/work/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/newsCenter/work/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/newsCenter/work/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},25).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 11 - 0
src/views/open/Finance.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="finace-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/open/Laws.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="laws-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/views/open/Notice.vue

@@ -0,0 +1,11 @@
+<template>
+	<div class="notice-news">
+		<router-view></router-view>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 42 - 0
src/views/open/finance/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/open/finance/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/open/finance/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},34).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+

+ 42 - 0
src/views/open/laws/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 104 - 0
src/views/open/laws/List.vue

@@ -0,0 +1,104 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/open/laws/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time }}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit" hide-on-single-page></el-pagination>
+	</div>
+</template>
+
+<script>
+import { loadIndexs, splist, loveList, friendList , newsList, openList, regulationList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	// filters: {
+	// 	time(val) {
+	// 		let date = new Date(val * 1000);
+	// 		let Y = date.getFullYear();
+	// 		let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
+	// 		let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
+	// 		return Y + '-' + M + '-' + D;
+	// 	}
+	// },
+	created() {
+		this.getList()
+	},
+	methods:{
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			regulationList({
+				page: obj.page,
+				limit: obj.limit
+			}).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>

+ 42 - 0
src/views/open/notice/Detail.vue

@@ -0,0 +1,42 @@
+<template>
+	<div class="new-detail">
+		<div id="" v-html="content">
+		</div>
+	</div>
+</template>
+
+<script>
+	import { details } from '../../../request/api.js'
+	export default {
+		data() {
+			return {
+				content: '',
+				detail: {},
+				idd:0
+			}
+		},
+		created() {
+			console.log('ddddddddddddddd')
+			this.getContent()
+		},
+		methods:{
+			getContent() {
+				let obj = this
+				this.idd = this.$route.query.id
+				console.log(this.idd)
+				obj.getDetail()
+			},
+			getDetail() {
+				let obj = this
+				details({},this.idd).then(res => {
+					console.log(res)
+					obj.content = res.data.content
+					console.log()
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 113 - 0
src/views/open/notice/List.vue

@@ -0,0 +1,113 @@
+<template>
+	<div class="new-list">
+		<div class="new-item  hand" v-for="item in newList" :key="item.id" @click="navTo('/open/notice/detail?id='+ item.id)">
+			<div class="title clamp">
+				<span class="title-icon"></span>
+				{{ item.title }}
+			</div>
+			<div class="time">{{ item.release_time || item.add_time}}</div>
+		</div>
+		<el-pagination layout="prev, pager, next" :total="total" hide-on-single-page background prev-text="上一页" next-text="下一页" @current-change="currentChange" :page-size="limit"></el-pagination>
+	</div>
+</template>
+
+<script>
+import { newsList,getArtList } from '../../../request/api.js';
+export default {
+	data() {
+		return {
+			newList: [],
+			total: 0,
+			page: 1,
+			limit: 15
+		};
+	},
+	created() {
+		this.getList()
+	},
+	methods:{
+		compare(attribute) {
+			return function(obj1, obj2) {
+				let val1 = obj1[attribute].split('-').join('')*1
+				var val2 = obj2[attribute].split('-').join('')*1;
+				if (val1 < val2) {
+					return 1;
+				} else if (val1 > val2) {
+					return -1;
+				} else {
+					return 0;
+				}
+			}
+		},
+		navTo(url) {
+			this.$router.push(url);
+		},
+		currentChange(e) {
+			console.log(e);
+			this.page = e
+			this.getList()
+		},
+		getList() {
+			let obj = this
+			getArtList({
+				page: obj.page,
+				limit: obj.limit
+			},19).then(res => {
+				obj.newList = res.data.list.map(item => {
+					let arr = item.add_time.split(' ')
+					item.add_time = arr[0]+''
+					return item
+				})
+				obj.newList.sort(this.compare('release_time'))
+				obj.total = res.data.count
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.new-list {
+	// padding: 0px 72px 0 40px;
+	.new-item {
+		display: flex;
+		justify-content: space-between;
+		font-size: 18px;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		height: 40px;
+		border-bottom: 1px solid #E5E5E5;
+		line-height: 40px;
+		&:hover {
+			color: red;
+			.title {
+				.title-icon {
+					border-left-color: red;
+				}
+			}
+		}
+		&:last-of-type {
+			border-bottom: none;
+		}
+		.title {
+			width: 500px;
+			.title-icon {
+				display: inline-block;
+				width: 0;
+				height: 0;
+				width: 0;
+				height: 0;
+				border-top: 6px solid transparent;
+				border-left: 8px solid #d2d2d2;
+				border-bottom: 6px solid transparent;
+			}
+		}
+	}
+}
+	/deep/ .el-pagination {
+		margin-top: 50px;
+		text-align: center;
+	}
+</style>
+