<template>
	<view class="abnormal">
		<head-view :title="title" url="/pages/shipWork/documentList"></head-view>
		<view class="container">
			<view class="signBox">
				<p class="sign" @click="sign">点击签名</p>
			</view>
			<template v-if="infoList.length > 0">
				<view class="ul">
					<view class="li" v-for="(item,index) in infoList" :key="index" @click="add('look',item,index)">
						<view class="title">
							<image src="../../static/images/shipWork/hc.png" mode="widthFix"></image>
							<text>航次：{{item.vvyName}}</text>
						</view>
						<view class="liInfo">
							<p>类型：{{item.type}}</p>
							<p>贸易类型：{{item.importExportFlagName}}</p>
							<p>进出口：{{item.tradeTypeName}}</p>
						</view>
						<view class="status didNot">
							<p>未上传</p>
						</view>
						<!-- <view class="status success">
							<p>已上传</p>
						</view>
						<view class="status fail">
							<p>上传失败</p>
						</view> -->
					</view>
				</view>
			</template>
			<o-empty v-else height="70vh" bg="#f5f6fa" />
			<view class="addBtn" @click="add('add')">+ 新增</view>
		</view>
	</view>
</template>

<script>
	import sqlite from "../../common/sqlite.js"
	export default {
		data() {
			return {
				title: "船名 - 异常状况",
				shipInfo: {},
				infoList: []
			}
		},
		mounted() {
			// this.shipInfo = uni.getStorageSync('shipInfo')
			// this.infoList = uni.getStorageSync('addAbnormalArr')
			this.executeSql1('abnormalConditionRespList')
			this.executeSql1('shipInfoTable')
		},
		methods: {
			// 查
			executeSql1(tableName) {
				let sql = `select * from ${tableName}`
				sqlite.executeSqlCeshi(sql).then((value) => {
					// 在resolve时执行的回调函数
					if (tableName == 'shipInfoTable') {
						this.shipInfo = value[0]
						this.title = `${this.shipInfo.vslCnname} - 异常状况`
					} else {
						this.infoList = value
					}
				}).catch((error) => {
					// 在reject时执行的回调函数
					console.error(error);
				});
			},
			// 点击签名
			sign() {
				const objType = {
					signType: "abnormal"
				}
				const dataType = encodeURIComponent(JSON.stringify(objType));
				uni.navigateTo({
					url: `/pages/shipWork/abnormalSign?dataType=${dataType}`
				})
			},
			// 点击新增
			add(state, item, index) {
				if (state != 'add') {
					uni.setStorageSync('abnormalRow', item);
					uni.setStorageSync('abnormalRowIndex', index);
				}
				const obj = {
					state: state,
				}
				const params = encodeURIComponent(JSON.stringify(obj));
				uni.navigateTo({
					url: `/pages/shipWork/abnormalAdd?params=${params}`
				})
			},
		}
	}
</script>

<style lang="less" scoped>
	.abnormal {
		.headInfo {
			/deep/.uniui-bottom {
				display: none;
			}
		}

		.container {
			padding: 30px 20px;

			.signBox {
				display: flex;
				justify-content: flex-end;

				.sign {
					text-align: right;
					color: #2979ff;
					padding: 10px;
					background: #fff;
					border: 1px solid #ccc;
				}
			}

			.ul {
				padding: 20px 0;
				display: flex;
				flex-wrap: wrap;

				.li {
					width: 33%;
					padding: 16px;
					border: 1px solid #ccc;
					background-color: #fff;
					border-radius: 8px;
					position: relative;
					margin-bottom: 10px;

					.title {
						display: flex;

						text {
							font-size: 16px;
							font-weight: bold;
							display: flex;
							flex-direction: column;
							justify-content: center;
							margin-left: 8px;
						}

						image {
							width: 32px;
							height: 32px;
						}
					}

					.liInfo {
						display: flex;
						flex-wrap: wrap;
						justify-content: space-between;
						margin-top: 16px;

						p {
							width: 49%;
							margin-bottom: 12px;

							text {
								font-weight: bold;
							}
						}
					}

					.status {
						padding: 5px;

						position: absolute;
						top: 16px;
						right: 16px;
					}

					.didNot {
						background-color: #FFF7EE;
						color: #FC8300;
					}

					.success {
						background: #F1F8FF;
						color: #0067CF;
					}

					.fail {
						background: #FFF0F0;
						color: #E50101;
					}

					.shift {
						display: flex;
						padding: 16px 4px;
						background-color: #f7f7f7;
						margin: 5px 0;

						text:first-child {
							color: #0067CF;
							margin: 0 12px;
						}

						.text {
							color: #999;
						}

						.time {
							color: #23262E;
							margin-top: 3px;
							margin-right: 15px;
						}

					}

					.state {
						display: flex;
						flex-direction: column;
						justify-content: center;
					}
				}

				.li:nth-of-type(3n - 1) {
					margin: 0 0.5% 10px;
				}

				/deep/.o-empty {
					width: 100%;
				}
			}

			.addBtn {
				position: fixed;
				right: 50px;
				bottom: 50px;
				width: 100px;
				height: 100px;
				border-radius: 50%;
				background-color: #2979ff;
				color: #fff;
				font-size: 24px;
				text-align: center;
				line-height: 100px;
				font-weight: bold;
			}
		}
	}
</style>