<template>
	<view class="center">
		<view>
			<view class='wrap1'>
				<view class="c-row">
					<view class="title">车牌号</view>
					<view class="con-list">
						<picker :range="carNolist" range-key="carNo" @change='carnopicker($event)' mode="selector">
							<view>{{detailData.carNo?detailData.carNo:'请选择车牌号 >'}}</view>
						</picker>
					</view>
				</view>
				<view class="c-row">
					<view class="title">油耗(升)</view>
					<view class="con-list">
						<input type='digit' v-model='detailData.fillingDetailInfo.oilConsumption' placeholder="请输入油耗"
							@input='calculate()'></input>
					</view>
				</view>
				<view class="c-row">
					<view class="title">当前油价(元/升)</view>
					<view class="con-list">
						<input type="digit" v-model='detailData.fillingDetailInfo.currentOilPrice' placeholder="请输入当前油价"
							@input='calculate()'></input>
					</view>
				</view>
				<view class="c-row">
					<view class="title">计算金额(元)</view>
					<view class="con-list">
						<input type="digit" v-model='detailData.fillingDetailInfo.currentConsumption'
							placeholder="不可编辑,自动计算" :disabled="true"></input>
					</view>
				</view>
				<view class="c-row">
					<view class="title">加油凭证</view>
				</view>
				<view class="voucher">
					<u-upload imageMode='aspectFill' class="upload" :ref="'upload'" name='fileName'
						:file-list="detailData.fillingDetailInfo.urlList" :form-data="{companyId: pcUserInfo.compId,
								modelId: '',
								vesselId: ''}" :action="action" :max-size="maxSize" :max-count="9" :size-type="['compressed']"
						@on-success="getImgUrl($event)" @on-remove="onRemove($event)" :show-progress='false'
						:limitType="['png', 'jpg', 'jpeg', 'webp', 'gif']" @on-progress="onProgress"></u-upload>
				</view>
			</view>
			<view class="c-row">
				<view class="left">备注</view>
			</view>
			<view style='position:relative;' class="wrap1 no-boder">
				<u-input ref='textarea' class='textarea' v-model="detailData.remark" :type="typeRemark" :border="border"
					placeholder="选填,不超过150字" :height="height" :auto-height="autoHeight" maxlength="150" />
				<view class="remark">
					{{detailData.remark?detailData.remark.length:'0'}}/150个字
				</view>
			</view>
			<view class="footer">
				<view @click='submitApply' class="button">提交申请</view>
			</view>
		</view>
		
		<u-modal v-model="show" @confirm='submit' content="确定提交申请信息？" :show-cancel-button='true'></u-modal>
	</view>
</template>

<script>
	import * as config from '../../config'
	import upload from '@/components/upload.vue';
	export default {
		components: {
			upload,
		},
		data() {
			return {
				id: "",
				carNolist: [],
				detailData: {
					fillingDetailInfo: {
						oilConsumption: ''
					}
				},
				height: 150,
				autoHeight: true,
				typeRemark: 'textarea',
				border: true,
				show: false,
				show1: false,
				purposeList: [{
						purpose: "合同费用"
					},
					{
						purpose: "库点费用"
					},
				],
				pcUserInfo: uni.getStorageSync('pcUserInfo'),
				action: config.def().baseUrlNew + 'appendix/api/uploadFiles',
				maxSize: 50 * 1024 * 1024, //限制文件大小 50M
				btnLoading: false, //防止重复点击
				isAdd: true,
				tfc: "",
				totalCost: "",
			}
		},
		onLoad(options) {
			console.log(options.id)
			this.id = options.id
			this.getInfo()

		},
		onShow() {

		},
		methods: {
			getInfo() {
				var that = this
				uni.showLoading({
					mask: true,
					title: "加载中..."
				})
				this.$api.doRequest('get', '/fuelFillingInfo/getFilling', {
					id: this.id
				}).then(res => {
					uni.hideLoading()
					if (res.data.code == 200) {
						this.detailData = res.data.data
						// if (this.detailData.fillingDetailInfoList) {
						// 	for (let i = 0; i < this.detailData.fillingDetailInfoList.length; i++) {
						let urlList = []
						if (this.detailData.fillingDetailInfo.addressUrl) {
							let datalist = this.detailData.fillingDetailInfo.addressUrl.split(",")
							for (let j = 0; j < datalist.length; j++) {
								urlList.push({
									url: datalist[j]
								})
							}
							this.detailData.fillingDetailInfo.urlList = urlList
						}
					}
				})
			},
			carnopicker(e) {
				this.detailData.carNo = this.carNolist[e.target.value].carNo
			},
			selectCon() {
				uni.navigateTo({
					url: '/pages/fuelfilling/selectContract'
				})
			},
			selectWare() {
				uni.navigateTo({
					url: '/pages/fuelfilling/selectWarehouse?warehouseType=1'
				})
			},
			ltCheck(e) {
				this.detailData.purpose = this.purposeList[e[0]].purpose
				if (this.detailData.purpose == "合同费用") {
					this.detailData.expensesPurpose = "1"
					delete this.detailData.warehouseName

				} else if (this.detailData.purpose == "库点费用") {
					this.detailData.expensesPurpose = "3"
					delete this.detailData.contractNo

				}
				console.log(this.detailData)
			},
			getImgUrl(res, index) {
				if (typeof(this.detailData.fillingDetailInfo.addressUrl) == 'string') {
					this.detailData.fillingDetailInfo.addressUrl = this.detailData.fillingDetailInfo.addressUrl.split(',')
				}

				this.detailData.fillingDetailInfo.addressUrl.push(res.data.appendixPath)

				console.log(this.detailData.fillingDetailInfo)
				// console.log('------------res-----------')
			},
			onError(error) {
				alert(error)
				console.log('------------error-----------')
				console.log(error)
			},
			onProgress(e) {
				console.log(e)
			},
			onRemove(index, num) {
				if (typeof(this.detailData.fillingDetailInfo.addressUrl) == 'string') {
					this.detailData.fillingDetailInfo.addressUrl = this.detailData.fillingDetailInfo.addressUrl.split(',')
				}
				this.detailData.fillingDetailInfo.addressUrl.splice(index, 1)
			},
			filterFileType(index, lists) {
				console.log(lists)
				if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
					lists.splice(index, 1);
					// 当前文件不支持
					uni.showModal({
						title: '暂不支持当前图片类型',
						showCancel: false
					});
				} else {
					this.isAdd = false;
				}
			},
			calculate() {

				this.detailData.fillingDetailInfo.currentConsumption = (this.detailData.fillingDetailInfo.oilConsumption *
					this.detailData.fillingDetailInfo.currentOilPrice).toFixed(2)
			},
			submitApply() {
				var that = this
				if (!this.detailData.fillingDetailInfo.oilConsumption) {
					uni.showToast({
						title: "油耗不能为空！",
						icon: "none"
					})
					return
				}
				if (!this.detailData.fillingDetailInfo.currentOilPrice) {
					uni.showToast({
						title: "当前油价不能为空！",
						icon: "none"
					})
					return
				}
				if (this.detailData.fillingDetailInfo.addressUrl.length == 0) {
					uni.showToast({
						title: "请上传加油凭证！",
						icon: "none"
					})
					return
				}
				this.show = true
			},
			submit() {
				var that = this
				uni.showLoading({
					title: '加载中',
					mask: true
				});
				this.detailData.fillingDetailInfo.tfc = that.tfc
				this.detailData.fillingDetailInfo.totalCost = that.totalCost
				this.detailData.fillingDetailInfo.compId = uni.getStorageSync('pcUserInfo').compId
				this.detailData.fillingDetailInfo.addressUrl = this.detailData.fillingDetailInfo.addressUrl.toString()
				this.detailData.fillingDetailInfo.compId = uni.getStorageSync('pcUserInfo').compId
				this.detailData.flag = 2
				delete this.detailData.fillingDetailInfo.urlList
				that.$api.doRequest('post', '/fuelFillingInfo/api/addFilling', this.detailData)
					.then(res => {
						console.log(res)
						uni.hideLoading()
						uni.showToast({
							title: '编辑成功',
							icon: "none"
						})
						setTimeout(()=>{
							uni.navigateBack()
						})
						// if (res1.data.code == 200) {
						// 	this.titleBtn = "申请报销"
						// }
					})
					.catch(res => {
						uni.showToast({
							title: res.message,
							icon: "none"
						})
						// uni.$u.toast(res.message);
					});
			}
		}
	}
</script>

<style lang='scss' scoped>
	.center {
		overflow: hidden;
		padding-bottom:200rpx;
	}

	page {
		background: #F5F6FA;
	}

	.title_b {
		margin: 20rpx 20rpx 0rpx 20rpx;
		padding: 20rpx 10rpx 20rpx 10rpx;
		font-weight: 550;
	}

	.c-row {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		padding: 20rpx 30rpx;
		position: relative;
	}

	.level2-title {}

	.level2-title {
		font-weight: 700;
		color: #000000;
	}

	.jt-icon {
		position: relative;
		top: 6rpx;
		width: 60rpx;
		margin: 0 20rpx;

	}

	.xf-iamge {
		width: 74rpx;
		height: 43rpx;
		position: absolute;
		top: -20rpx;
		right: 0;
	}

	.ssx {
		width: 20px;
		height: 20px;
		background: linear-gradient(180deg, #C8D7E5 0%, #AFC1D6 100%);
		font-family: PingFangSC-Medium, PingFang SC;
		font-weight: 500;
		color: #FFFFFF;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 5px;
	}

	.con-list {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		flex: 1;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		flex-direction: column;
		color: #303133;
		line-height: 40rpx;
		text-align: right;

		.item1,
		.item3 {
			// width: 40%;
			display: flex;

			.text {
				text-overflow: ellipsis;
				overflow: hidden;
				white-space: nowrap;
			}

		}

		.item1 .text {
			text-align: left;
		}

		.item3 .text {
			text-align: right;
		}
	}

	.align-center {
		align-items: center;
		justify-content: flex-end;
	}

	.wrap1 {
		background: #fff;
		margin: 10px;
		border-radius: 15px 10px;
		margin-top: 18px;

		input {}

		.tit {
			margin-left: 14px;
			width: 47px;
			padding-top: 10px;
		}

		.eliminate1 {
			max-width: 50%;
			width: 20px;
			height: 20px;
			font-family: PingFangSC-Medium, PingFang SC;
			font-weight: 500;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 5px;
			margin-top: -20px;
			margin-left: 73px;
		}

		.eliminate2 {
			max-width: 50%;
			width: 20px;
			height: 20px;
			font-family: PingFangSC-Medium, PingFang SC;
			font-weight: 500;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 5px;
			margin-top: -20px;
			margin-left: 100px;
		}

		.upload {
			/* margin-left: 157px; */
		}
	}

	.wrap {
		background: #fff;
		margin: 10px;
		border-radius: 15px 10px;
		margin-top: 18px;

		input {}

		>.title {
			padding: 10px 16px;
		}

	}

	.footer {
		background: #fff;
		width: 100%;
		padding: 20px 10px;
		position: fixed;
		bottom: 0;

		.button {
			background: #4089ff;
			width: 90%;
			margin: 0px auto;
			padding: 10px;
			color: #fff;
			text-align: center;
			border-radius: 30px;
			margin-top: 10px;
		}
	}


	.buns_item {
		display: flex;
		padding: 80rpx 0 50rpx 0;
		justify-content: space-around;
	}

	.but_css {
		background: #22C572;
		width: 40%;
		padding: 20rpx;
		color: #fff;
		text-align: center;
		border-radius: 20rpx;
	}

	/deep/.u-radio-group {
		flex-direction: row-reverse;
	}

	.no-boder {
		border: 0;
	}

	.textarea {
		background: #F9F9FA;
		border: 1px solid #EEEEEE;
	}

	.remark {
		position: absolute;
		right: 10px;
		bottom: 20px;
		color: #AFB3BF;
	}

	.voucher {
		margin-left: 20rpx;
	}

	.wrap1 {
		/* padding-bottom: 10px; */
		font-size: 14px;
		/* background: #fff; */
		margin: 10px;
		border-radius: 10px;

		input {
			font-size: 14px;
		}

		>.title {
			padding: 10px 16px;
		}

	}

	/deep/.u-list-item {
		width: 27vw !important;
		height: 27vw !important;
	}
</style>
