<template>
	<view class="page-wrap">
		<u-subsection class="sub-section" :list="sections" :current="currentSection" @change="handleChangeSection"></u-subsection>
		<view class="list-wrap">
			<view v-for="(item, key) in snapshotList" :key="key">
				<view class="album">
					<view class="album-avatar">
						<template>
							<u-avatar
								:text="item.CREATER_NAME ? item.CREATER_NAME.slice(0, 1) : ''"
								fontSize="18"
								randomBgColor
							></u-avatar>
						</template>
					</view>
					<view class="album-content">
						<u--text
							:text="`上报人：${item.CREATER_NAME || ''}`"
							type="primary"
							bold
							size="17"
						></u--text>
						<u--text
							margin="0 0 8px 0"
							:text="item.DESCRIPTION || ''"
						></u--text>
						<u-album :urls="item.urls"></u-album>
						<view class="ok-bar-wrap" v-if="item.STATUS === 10">
							<u-button type="primary" @click="handleOk(item)" size="small" :plain="true" :hairline="true" text="确认" style="width: 100px; margin: 0;"></u-button>
						</view>
					</view>
				</view>
				<u-gap height="20" bgColor="#fff"></u-gap>
			</view>
		</view>
	</view>
</template>

<script>
	import {
		initFilter,
		extendRule,
		extendInclude
	} from '../../../../utils/common'

	import { handleOkSnapshot, getSnapshotList } from '../../../../services/apply/FMServices/FMServices'
	import config from '../../../../config/common'

	export default {
		data() {
			return {
				currentStatus: 0,
				currentSection: 0,
				sourceUrl: config.uni_app_web_source_url,
				sections: [{ name: '全部', id: 0 }, { name: '确认中', id: 10 }, { name: '已归档', id: 30 }],
				snapshotList: [],
				lists: [],
			}
		},
		onShow() {
			this.loadData()
		},
		methods: {
			loadData() {
				const orgId = uni.getStorageSync('orgId')
				const json = initFilter(orgId, '', 'CREATE_TIME', '1')
				if (this.currentStatus !== 0) {
					extendRule(json, 'STATUS', 1, this.currentStatus)
				}
				extendInclude(json, "Nav_User")
				extendInclude(json, "Nav_Files.Nav_ImgFile.Nav_File")
				getSnapshotList(json).then(res => {
					if (res) {
						this.snapshotList = res.map(item => {
							return {
								...item,
								urls: item.Nav_Files.map(e => {
									return {
										src: e.Nav_ImgFile?.Nav_File?.FILE_PATH ? this.sourceUrl + e.Nav_ImgFile?.Nav_File?.FILE_PATH : ''
									}
								}).filter(o => o.src)
							}
						})
					}
				})
			},
			handleOk(item) {
				handleOkSnapshot(item).then(res => {
					if (res) {
						this.loadData()
					}
				})
			},
			handleChangeSection(e) {
				const s = {
					0: 0,
					1: 10,
					2: 30
				}
				this.currentSection = e;
				this.currentStatus = s[e];
				this.loadData()
			},
		},
		onReachBottom() {
			if (this.total > this.pageIndex * 10) {
				this.pageIndex++
			}
		},
		watch: {
			pageIndex() {
				this.loadData()
			}
		},
		computed: {}
	}
</script>


<style scoped>
	@import url("../../../../style/css/editTemplate.css");

	.sub-section {
		margin-bottom: 16px;
	}

	.album {
		display: flex;
		align-items: flex-start;
	}

	.album-avatar {
		 /*background-color: $u-bg-color;*/
		 padding: 5px;
		 border-radius: 3px;
	 }

	.album-content {
		margin-left: 10px;
		flex: 1;
		padding-bottom: 10px;
		border-bottom: 1px solid #e5e5e5;
	}

	.ok-bar-wrap {
		padding-top: 10px;
	}

	.btn-groups button {
		width: 48%;
	}

	.content .field {
		font-size: 14px;
		line-height: 18px;
		margin-bottom: 4px;
	}

	.content .field .label {
		color: #666;
	}

	.content .field .value {
		color: #333333;
	}

	.card-title {
		margin-bottom: 6px;
		display: flex;
		font-weight: bold;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		font-size: 16px;
	}

	.card-title .left {
		display: flex;
		align-items: center;
	}

	.card-title .title-icon {
		margin-right: 4px;
	}
</style>
