diff --git a/src/saas/AppCountryAlbum/AlbumDetail.vue b/src/saas/AppCountryAlbum/AlbumDetail.vue
index 873dbdbc..1154a677 100644
--- a/src/saas/AppCountryAlbum/AlbumDetail.vue
+++ b/src/saas/AppCountryAlbum/AlbumDetail.vue
@@ -1,28 +1,421 @@
-
+
+
+
+
+
131
+ 照片
+
+
+
13
+ 本月
+
+
+
133
+ 上月
+
+
+
13
+ 今年
+
+
+
+
+
照片列表
+
+
+ 所有日期
+
+
+
+ 所有干部
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+ * {
+ box-sizing: border-box;
+ }
+
+ .photo-list {
+ padding: 32px;
+
+ .photo-item__wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
+
+ .photo-item {
+ position: relative;
+ width: 328px;
+ height: 328px;
+ margin-bottom: 32px;
+ border-radius: 12px;
+ overflow: hidden;
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .photo-item__text {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ padding: 20px 16px 16px;
+ background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
+
+ h2 {
+ margin-bottom: 12px;
+ color: #fff;
+ font-size: 32px;
+ font-weight: 600;
+ }
+
+ p {
+ color: #898482;
+ font-size: 28px;
+ }
+ }
+
+ &:nth-of-type(2n) {
+ margin-left: 30px;
+ }
+ }
+ }
+
+ .photo-title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 44px 0;
+
+ & > h2 {
+ color: #333333;
+ font-size: 38px;
+ font-weight: 600;
+ }
+
+ .right {
+ display: flex;
+ align-items: center;
+
+ & > div {
+ display: flex;
+ align-items: center;
+ margin-right: 32px;
+
+ &:last-child {
+ margin-right: 0;
+ }
+
+ span {
+ color: #666666;
+ font-size: 26px;
+ }
+
+ image {
+ width: 32px;
+ height: 32px;
+ margin-left: 8px;
+ }
+ }
+ }
+ }
+ }
+
+ .photo-header {
+ position: relative;
+ height: 400px;
+
+ div {
+ position: relative;
+ display: flex;
+ z-index: 1;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ }
+
+ span {
+ width: 176px;
+ height: 56px;
+ line-height: 56px;
+ margin-top: 16px;
+ text-align: center;
+ background: rgba(255, 255, 255, 0.1);
+ color: #beb2ab;
+ border-radius: 28px;
+ }
+
+ image {
+ position: absolute;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 400px;
+ filter: blur(2px);
+ }
+
+ h2 {
+ color: #fff;
+ background: rgba(0,0,0, 0.1);
+ font-size: 56px;
+ }
+ }
+
+ .photo-info {
+ display: flex;
+ align-items: center;
+ height: 168px;
+ background: #FFFFFF;
+ box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.02);
+
+ & > div {
+ flex: 1;
+ text-align: center;
+
+ h2 {
+ margin-bottom: 10px;
+ font-weight: 600;
+ font-size: 38px;
+ color: #333333;
+ }
+
+ span {
+ color: #999999;
+ font-size: 26px;
+ }
+ }
+ }
+
+ .btn-wrapper {
+ display: flex;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ height: 112px;
+
+ .btn {
+ &:active, &.hover {
+ opacity: 0.7;
+ }
+ }
+
+ .btn:first-child {
+ width: 270px;
+ height: 112px;
+ line-height: 112px;
+ text-align: center;
+ background: #FFFFFF;
+ box-shadow: inset 0px 1px 0px 0px #DDDDDD;
+ color: #333333;
+ font-size: 36px;
+ }
+
+ .btn:last-child {
+ flex: 1;
+ height: 112px;
+ line-height: 112px;
+ text-align: center;
+ background: #1365DD;
+ box-shadow: inset 0px 1px 0px 0px #DDDDDD;
+ color: #fff;
+ font-size: 36px;
+ }
+ }
+ }
+
diff --git a/src/saas/AppCountryAlbum/MovePhoto.vue b/src/saas/AppCountryAlbum/MovePhoto.vue
new file mode 100644
index 00000000..8644f4be
--- /dev/null
+++ b/src/saas/AppCountryAlbum/MovePhoto.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/saas/AppCountryAlbum/Photo.vue b/src/saas/AppCountryAlbum/Photo.vue
new file mode 100644
index 00000000..f655a2ff
--- /dev/null
+++ b/src/saas/AppCountryAlbum/Photo.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/saas/AppCountryAlbum/images/down.png b/src/saas/AppCountryAlbum/images/down.png
new file mode 100644
index 00000000..2488b941
Binary files /dev/null and b/src/saas/AppCountryAlbum/images/down.png differ