<template>
	<view class="">
		<up-sticky bgColor="#fff">
			<view class="head">
				<!-- <up-search placeholder="请输入提货点名称" @search="searchKeyword" v-model="keyword"
					@custom="searchKeyword"></up-search> -->
				<view class="">
					<view class="" style="display: flex;justify-content: space-around;margin-top: 24rpx;color:#777777">
						<view :class="{act: tabIndex==1}" @click="changeTabs(1)">
							订单列表
						</view>
						<view :class="{act: tabIndex==2}" @click="changeTabs(2)">
							报价记录
						</view>
					</view>
					<view style="height: 8rpx;" />
					<view class="line" :style="{left:tabIndex==1?tabsLeft+'px':tabsRight+'px'}" />
				</view>
			</view>
		</up-sticky>
		<view class="content">
			<!-- 报价列表 -->
			<up-transition :show="showGoods1" mode="slide-left">
				<view class="" v-if="goodsList1.length>0">
					<view class="card" v-for="(item,index) in goodsList1" :key='index'>
						<view class="head">
							<!-- <text> {{orer_sn}}</text> -->
							<!-- <text style="color: #989898;">{{time}}</text> -->
						</view>
						<view class="card-content">
							<view class="card-content-l" style="width: 152rpx;height: 152rpx;">
								<image style="width: 152rpx;height: 152rpx;" :src="item.goods.imgs" mode=""></image>
								<view class="status">
									{{tabIndex==1?"未报价":"已报价" }}
								</view>
							</view>
							<view class="card-content-r">
								<view class="title ellipsis">
									{{item.goods.name}}
								</view>
								<view class="need">
									需求量： {{item.need_num}}{{item.unit_name}}
								</view>
								<view class="ipt">
									<up-input placeholderStyle='fontSize:24rpx' placeholder="点击数入报价数量"
										:readonly="tabIndex==2" v-model="item.nums"
										style="margin-right: 10rpx;background-color:#F6F6F6;border: none;"></up-input>
									<!-- <up-input placeholderStyle='fontSize:24rpx' placeholder="点击数入报价数量" :readonly="tabIndex==2"
								v-model="item.num"
								style="margin-right: 10rpx;background-color:#F6F6F6;border: none;"></up-input> -->
									<up-input placeholderStyle='fontSize:24rpx'
										style="background-color: #F6F6F6;border: none;" placeholder="点击数入产品报价"
										@blur="priceBlur(index)" :readonly="tabIndex==2"
										v-model="item.price"></up-input>
								</view>
							</view>
							<view class="status-png" v-if="tabIndex==2">
								<image :src="item.is_adopt?successPng:errPng" style="width: 108rpx; height: 84rpx;">
								</image>
							</view>
						</view>
						<view class="card-footer" v-if="item.nums &&item.price">
							共{{item.nums}}{{item.unit_name}}&nbsp; &nbsp;合计:<text
								style="font-size: 28rpx;color: #FC452F;font-weight: 700;">￥{{item.nums*item.price}}</text>
						</view>
						<up-line style="margin-top: 30rpx;" color="#F3F3F3"></up-line>
					</view>
					<view class="submit-btn" v-if="tabIndex==1">
						<up-button shape='circle' color='#20B128' @click="submit" text="提交"></up-button>
					</view>
				</view>
				<up-empty @click='test2' v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
				</up-empty>
				<button @click="test2">叫我按钮</button>
			</up-transition>
			<!-- 报价记录 -->
			<up-transition :show="showGoods2" mode="slide-right">
				<view class="" v-if="goodsList2.length>0">
					<view class="card" v-for="(item,index) in goodsList2" :key='index'>
						<view class="head">
							<!-- <text> {{orer_sn}}</text> -->
							<!-- <text style="color: #989898;">{{time}}</text> -->
						</view>
						<view class="card-content">
							<view class="card-content-l" style="width: 152rpx;height: 152rpx;">
								<image style="width: 152rpx;height: 152rpx;" :src="item.goods.imgs" mode=""></image>
								<view class="status">
									{{tabIndex==1?"未报价":"已报价" }}
								</view>
							</view>
							<view class="card-content-r">
								<view class="title ellipsis">
									{{item.goods.name}}
								</view>
								<view class="need">
									需求量： {{item.need_num}}{{item.unit_name}}
								</view>
								<view class="ipt">
									<up-input placeholderStyle='fontSize:24rpx' placeholder="点击数入报价数量"
										:readonly="tabIndex==2" v-model="item.nums"
										style="margin-right: 10rpx;background-color:#F6F6F6;border: none;"></up-input>
									<!-- <up-input placeholderStyle='fontSize:24rpx' placeholder="点击数入报价数量" :readonly="tabIndex==2"
									v-model="item.num"
									style="margin-right: 10rpx;background-color:#F6F6F6;border: none;"></up-input> -->
									<up-input placeholderStyle='fontSize:24rpx'
										style="background-color: #F6F6F6;border: none;" placeholder="点击数入产品报价"
										@blur="priceBlur(index)" :readonly="tabIndex==2"
										v-model="item.price"></up-input>
								</view>
							</view>
							<view class="status-png" v-if="tabIndex==2">
								<image :src="item.is_adopt?successPng:errPng" style="width: 108rpx; height: 84rpx;">
								</image>
							</view>
						</view>
						<view class="card-footer" v-if="item.nums &&item.price">
							共{{item.nums}}{{item.unit_name}}&nbsp; &nbsp;合计:<text
								style="font-size: 28rpx;color: #FC452F;font-weight: 700;">￥{{item.nums*item.price}}</text>
						</view>
						<up-line style="margin-top: 30rpx;" color="#F3F3F3"></up-line>
					</view>


				</view>
				<up-empty v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
				</up-empty>
			</up-transition>
		</view>
	</view>
</template>

<script setup>
	import {
		ref,
		reactive,
	} from "vue"
	import {
		OpurchaseGoodsOfferApi,
		OpurchaseGoodsOfferListApi
	} from "@/api/quotation.js"

	const test2 = () => {
		console.log("点解")
		uni.navigateTo({
			url: '/pages/index/index'
		})
	}
	// 状态图片url
	const successPng = ref('https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/739c3202405071458553459.png')
	const errPng = ref('https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/04c2c202405071501462462.png')
	// 状态图片url结束


	// tabsindex
	const tabIndex = ref(1)
	const {
		windowWidth
	} = uni.getSystemInfoSync();
	const tabsLeft = ref(((windowWidth / 2) - 26) / 2)
	const tabsRight = ref(tabsLeft.value + (windowWidth / 2))
	// tabsindex结束

	const priceBlur = (index) => {
		goodsList.value[index].price = Number(goodsList.value[index].price).toFixed(2)
	}

	// 列表
	const showGoods = ref(false)
	const showGoods1 = ref(false)
	const showGoods2 = ref(false)
	const goodsList = ref([])
	const goodsList1 = ref([])
	const goodsList2 = ref([])

	const getGoodsList = async (type) => {
		if (type == 1) {
			showGoods2.value = false
			showGoods1.value = false
			let res = await OpurchaseGoodsOfferListApi({
				type
			})
			goodsList1.value = res.data.lists
			goodsList1.value.forEach(item => {
				item.nums = item.nums ? item.nums : ''
				item.price = (+item.price) ? item.price : ''
			})
			showGoods1.value = true
		} else {
			showGoods1.value = false
			showGoods2.value = false
			let res = await OpurchaseGoodsOfferListApi({
				type
			})
			goodsList2.value = res.data.lists
			goodsList2.value.forEach(item => {
				item.nums = item.nums ? item.nums : ''
				item.price = (+item.price) ? item.price : ''
			})
			showGoods2.value = true
		}
	}

	const changeTabs = (num) => {
		tabIndex.value = num
		getGoodsList(num)
	}

	getGoodsList(tabIndex.value)
	// 列表结束
	const submit = async () => {
		let datas = goodsList.value.map(item => ({
			id: item.id,
			nums: item.nums,
			price: item.price
		}))
		let newData = []
		datas.forEach(item => {
			if (item.nums && item.price) {
				newData.push(item)
			}
		})


		let res = await OpurchaseGoodsOfferApi({
			data: newData
		})
		tabIndex.value = 2
		getGoodsList(tabIndex.value)
	}
</script>

<style lang="scss">
	.head {
		padding: 20rpx;
		background-color: white;
		position: relative;

		.act {
			color: #20B128;
		}

		.line {
			width: 26px;
			height: 5rpx;
			background-color: #20B128;
			border-radius: 50rpx;
			position: absolute;
			transition: 300ms;
		}
	}

	.content {
		padding: 20rpx;
		padding-bottom: 150rpx;

		.card {
			width: 710rpx;
			margin: 0 auto;
			padding: 20rpx;
			box-sizing: border-box;
			background-color: white;



			.card-content {
				display: flex;
				position: relative;

				.card-content-l {
					margin-right: 20rpx;
					position: relative;

					.status {
						width: 152rpx;
						height: 40rpx;
						background-color: rgba(0, 0, 0, .3);
						text-align: center;
						color: white;
						font-size: 24rpx;
						line-height: 40rpx;
						position: absolute;
						bottom: 0;
					}
				}

				.card-content-r {
					display: flex;
					flex-direction: column;
					justify-content: space-between;

					.title {
						font-size: 30rpx;
						width: 500rpx;
					}

					.need {
						color: #777777;
						font-size: 24rpx;
					}

					.ipt {
						display: flex;
						height: 56rpx;

					}
				}

				.status-png {
					position: absolute;
					right: 20rpx;
				}

			}

			.card-footer {
				margin-top: 30rpx;
				text-align: right;
				font-size: 28rpx;
				color: #060606;
			}
		}

		.submit-btn {
			position: fixed;
			bottom: 50rpx;
			width: 710rpx;
			margin: 0 auto;
		}
	}

	.ellipsis {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
</style>