<template>
	<view>
		<!-- 吸顶搜索框 start -->
		<key-word-search-input
			:inputSearchValue="searchForm.HIDDENDESCR"
			@search="resetList"
			@showPicker="showPicker"
		/>
		<!-- 吸顶搜索框 end -->

		<!-- 列表渲染 start -->
		<list :list="list" @scroll-to-lower="scrollToLower">
			<template #default="{ item }">
				<view class="flex-between main-title">
					<text>被检查单位：{{ item.INSPECTED_CORPINFO_ID_NAME }}</text>
				</view>
				<view class="flex-between mt-10 subtitle">
					<text>检查发起人：{{ item.INSPECTION_ORIGINATOR_NAME }}</text>
					<text>检查类型：{{ item.INSPECTION_TYPE_NAME }}</text>
				</view>
				<view class="flex-between mt-10 subtitle">
					<text
						>检查时间：自 {{ item.INSPECTION_TIME_START }} 至
						{{ item.INSPECTION_TIME_END }} 止</text
					>
				</view>
				<view class="flex-between mt-10 subtitle">
					<text>
						状态：
						<template v-if="item.INSPECTION_STATUS == '0'"
							>待检查人核实</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '1'"
							>检查人核实中</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '2'"
							>待被检查人确认</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '3'"
							>待指派</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '4'"
							>指派中</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '5'"
							>指派完成</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '6'"
							>检查待验收</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '7'"
							>检查已验收</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '8'"
							>已归档</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '-1'"
							>检查人核实打回</template
						>
						<template v-else-if="item.INSPECTION_STATUS == '-2'"
							>被检查人申辩</template
						>
					</text>
				</view>

				<view class="flex-end">
					<u-button
						type="primary"
						text="查看"
						size="mini"
						shape="circle"
						@click="
							fnNavigatorDetail(
								item.INSPECTION_ID,
								item.INSPECTION_USER_ID,
								item.INSPECTION_INSPECTOR_ID,
								'view'
							)
						"
					/>
					<view class="ml-10">
						<u-button
							type="primary"
							text="流程图"
							size="mini"
							shape="circle"
							@click="showFlowChart(item.INSPECTION_ID)"
						/>
					</view>
					<view
						class="ml-10"
						v-if="
							!validStr(item.INSPECTION_USER_SIGN_TIME) &&
							(item.INSPECTION_STATUS == '0' || item.INSPECTION_STATUS == '1')
						"
					>
						<u-button
							type="primary"
							text="核实"
							size="mini"
							shape="circle"
							@click="
								fnNavigatorDetail(
									item.INSPECTION_ID,
									item.INSPECTION_USER_ID,
									item.INSPECTION_INSPECTOR_ID,
									'verify'
								)
							"
						/>
					</view>
				</view>
			</template>
		</list>
	</view>
</template>

<script>
import { getSafetyenvironmentalinspectorList } from "../../api";
import keyWordSearchInput from "@/components/keyWordSearchInput/index.vue";
import List from "@/components/list/list.vue";
import { initiateList } from "../../../Mock/safetyEnvirData";

export default {
	components: { keyWordSearchInput, List },

	data() {
		return {
			searchForm: {
				HIDDENDESCR: "",
			},
			INSPECTION_STATUS: "",
			pageSize: 10,
			currentPage: 1,
			totalPage: 0,
			list: [],
		};
	},
	computed: {
		userInfo() {
			return this.$store.getters.getUserInfo;
		},
	},
	onShow() {
		this.resetList();
	},
	methods: {
		validStr(str) {
			if (
				str != null &&
				str != "" &&
				typeof str != "undefined" &&
				str != "undefined" &&
				str != 0 &&
				str != "null"
			) {
				return true;
			}
			return false;
		},
		async getData() {
			uni.showLoading({
				title: "加载中",
			});
			// TODO: 目前因后端资源接口未完成,故注释接口数据接入逻辑
			// let resData = await getSafetyenvironmentalinspectorList({
			//   INSPECTION_USER_ID: this.userInfo.USER_ID,
			//   KEYWORDS: this.keyword,
			//   showCount: this.pageSize,
			//   currentPage: this.currentPage,
			// });
			// this.list = [...this.list,...resData.varList];
			// this.totalPage = resData.page.totalPage;

			// 虚拟 mock 数据渲染
			setTimeout(() => {
				this.list = initiateList;
				this.totalPage = initiateList.length;
				uni.hideLoading();
			}, 400);
		},
		resetList() {
			this.pageSize = 10;
			this.currentPage = 1;
			this.list = [];
			this.getData();
		},
		fnNavigatorDetail(
			INSPECTION_ID,
			INSPECTION_USER_ID,
			INSPECTION_INSPECTOR_ID,
			type
		) {
			uni.$u.route({
				url: "/safetyEnvirSubPackages/pages/inspector-confirms/detail",
				params: {
					INSPECTION_ID,
					INSPECTION_USER_ID,
					INSPECTION_INSPECTOR_ID,
					type,
				},
			});
		},
		/**
		 * 滚动加载数据
		 */
		scrolltolower() {
			this.currentPage++;
			if (this.totalPage >= this.currentPage) this.getData();
		},
	},
};
</script>

<style scoped lang="scss"></style>
