<template>
	<view class="shiftAdd">
		<view class="container">
			<uni-steps :options="stepList" :active="active" />
			<view class="line"></view>
			<!-- 工班信息 -->
			<template v-if="active == 0">
				<view class="ul ul1">
					<view class="li">
						<p>船名：</p>
						<text>{{shipInfo.vslCnname}}</text>
					</view>
					<view class="li">
						<p><text class="required">*</text>航次：</p>
						<uni-data-select v-model="hcValue" :localdata="hcList" @change="hcChange"></uni-data-select>
					</view>
					<view class="li">
						<p>进出口：</p>
						<text>{{shipInfo.importExportFlagName}}</text>
					</view>
					<view class="li">
						<p>贸易类型：</p>
						<text>{{shipInfo.tradeTypeName}}</text>
					</view>
					<view class="li">
						<p><text class="required">*</text>装卸类型：</p>
						<uni-data-select v-model="zxValue" :localdata="zxList" @change="zxChange"></uni-data-select>
					</view>
				</view>
				<view class="widthLi" v-for="(item,index) in ulList1" :key="index+'ul'">
					<view class="ulTop"><text @click="ulAdd1">添加工班</text><text v-if="index > 0"
							@click="delGb(item,index)">删除</text><van-icon name="arrow-down" /></view>
					<view class="ul">
						<view class="li">
							<p class="liTitle"><text class="required">*</text>工班：</p>
							<uni-data-select v-model="item.gbValue" :localdata="gbList"
								@change="gbChange(item,index)"></uni-data-select>
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>作业时间 ：</p>
							<uni-datetime-picker v-model="item.datetime" type="datetimerange" rangeSeparator="-"
								@change="changeLog(item)" />
						</view>
						<view class="widthLi" v-for="(item2,index2) in item.ulList2" :key="index2+'ul2'">
							<view class="ulTop"><text @click="ulAdd2(index)">添加工班信息</text></text><text v-if="index2 > 0"
									@click="delGb2(item2,index,index2)">删除</text><van-icon name="arrow-down" /></view>
							<view class="ul">
								<view class="li">
									<p class="liTitle"><text class="required">*</text>车型：</p>
									<uni-data-select v-model="item2.carType" :localdata="cxList"
										@change="cxChange(item,index,item2,index2)"></uni-data-select>
								</view>
								<view class="li">
									<p><text class="required">*</text>数量：</p>
									<uni-number-box @change="numChange" v-model="item2.goodsNumber" :max="1000000000" />
								</view>
								<view class="li">
									<p class="liTitle"><text class="required">*</text>装卸方式：</p>
									<uni-data-select v-model="item2.loadingType" :localdata="fsList"
										@change="fsChange(item,index,item2,index2)"></uni-data-select>
								</view>
								<view class="li widthLi">
									<p class="liTitle">备注：</p>
									<uni-easyinput type="textarea" autoHeight v-model="item2.remark"
										placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
								</view>
							</view>
						</view>
					</view>
				</view>
			</template>

			<!-- 翻仓信息 -->
			<template v-if="active == 1">
				<view v-for="(item,index) in fcUlList" :key="index + 'fc'">
					<view class="ulTop"><text @click="fcAdd">添加翻仓类型</text><text v-if="index > 0"
							@click="delFc(item,index)">删除</text><van-icon name="arrow-down" /></view>
					<view class="ul fcUl">
						<view class="li">
							<p class="liTitle"><text class="required">*</text>翻仓类型：</p>
							<uni-data-select v-model="item.fcValue" :localdata="fcList"
								@change="fcChange(item,index)"></uni-data-select>
						</view>
					</view>
					<view v-for="(item2,index2) in item.fcUlList2" :key="index2 + 'fc2'">
						<view class="ulTop"><text @click="fcAdd2(index)">添加翻仓信息</text></text><text v-if="index2 > 0"
								@click="delFc2(item2,index,index2)">删除</text><van-icon name="arrow-down" /></view>
						<view class="ul ul2 fcUl2">
							<view class="li">
								<p class="liTitle"><text class="required">*</text>翻舱起点位置：</p>
								<uni-easyinput v-model="item2.qdValue" placeholder="请输入翻舱起点位置"></uni-easyinput>
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>翻舱终点位置：</p>
								<uni-easyinput v-model="item2.zdValue" placeholder="请输入翻舱终点位置"></uni-easyinput>
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>作业时间 ：</p>
								<uni-datetime-picker v-model="item2.datetime" type="datetimerange" rangeSeparator="-"
									@change="changeLog(item2)" />
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>车型：</p>
								<uni-data-select v-model="item2.carType" :localdata="cxList"
									@change="fccxChange(index,item2,index2)"></uni-data-select>
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>数量：</p>
								<uni-number-box v-model="item2.goodsNumber" :max="1000000000" />
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>体积：</p>
								<uni-number-box v-model="item2.tjValue" :max="1000000000" />
							</view>
							<view class="li">
								<p class="liTitle"><text class="required">*</text>重量：</p>
								<uni-number-box v-model="item2.zlValue" :max="1000000000" />
							</view>
						</view>
					</view>
				</view>
			</template>

			<!-- 其他信息 -->
			<template v-if="active == 2">
				<view class="otherWork">
					<p class="title">辅助作业</p>
					<view class="ul">
						<view class="li">
							<p class="liTitle"><text class="required">*</text>技术工人：</p>
							<uni-number-box v-model="otherObj.jsworker" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>作业时间 ：</p>
							<uni-datetime-picker v-model="otherObj.datetime" type="datetimerange" rangeSeparator="-"
								@change="changeLog(otherObj)" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>重量：</p>
							<uni-number-box v-model="otherObj.zlValue" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>体积：</p>
							<uni-number-box v-model="otherObj.tjValue" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>普通工人：</p>
							<uni-number-box v-model="otherObj.ptworker" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>作业时间 ：</p>
							<uni-datetime-picker v-model="otherObj.datetime2" type="datetimerange" rangeSeparator="-"
								@change="changeLog(otherObj)" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>重量：</p>
							<uni-number-box v-model="otherObj.zlValue2" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle"><text class="required">*</text>体积：</p>
							<uni-number-box v-model="otherObj.tjValue2" :max="1000000000" />
						</view>
						<view class="li">
							<p class="liTitle">描述：</p>
							<uni-easyinput type="textarea" autoHeight v-model="otherObj.describe"
								placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
						</view>
					</view>
					<p class="title">待工作业</p>
					<view class="ul">
						<view class="li">
							<p class="liTitle">描述：</p>
							<uni-easyinput type="textarea" autoHeight v-model="otherObj.dgWork"
								placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
						</view>
					</view>
					<p class="title">作业备注</p>
					<view class="ul">
						<view class="li">
							<p class="liTitle">描述：</p>
							<uni-easyinput type="textarea" autoHeight v-model="otherObj.remark"
								placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
						</view>
					</view>
				</view>
			</template>
			<view class="btnList">
				<van-button type="default" @click="cancel">取消</van-button>
				<van-button type="info" @click="back" v-if="active > 0">上一步</van-button>
				<van-button type="info" @click="save" v-if="active == 2">保存</van-button>
				<van-button type="info" @click="next" v-if="active < 2">下一步</van-button>
			</view>
		</view>
	</view>
</template>

<script>
	import sqlite from "../../common/sqlite.js"
	import api from "../../common/api.js"
	import {
		v4 as uuidv4
	} from 'uuid';
	export default {
		data() {
			return {
				shipInfo: {},
				obj: {},
				dataInfo: {},
				shiftRowIndex: 0,
				active: 0,
				stepList: [{
						title: '工班信息'
					},
					{
						title: '翻舱信息'
					},
					{
						title: '其他信息'
					}
				],

				// 工班信息
				// 航次下拉框
				hcValue: "",
				hcTextValue: "",
				hcList: [],
				// 装卸类型下拉框
				zxValue: "",
				zxTextValue: "",
				zxList: [],
				ulList1: [],
				// 工班下拉框
				gbList: [],
				// 车型下拉
				cxList: [],
				// 装卸方式下拉
				fsList: [],

				// 翻仓信息
				// 翻仓类型下拉
				fcList: [],
				fcUlList: [{
					fcValue: "",
					fcTextValue: "",
					fcUlList2: [{
						qdValue: "",
						zdValue: "",
						carType: "",
						carTypeName: "",
						datetime: ['', ''],
						startTime: "",
						endTime: "",
						goodsNumber: 0,
						tjValue: 0,
						zlValue: 0,
						editStatus: 0,
					}],
				}],

				// 其他信息
				otherObj: {
					webId: '',
					contactId: '',
					jsworker: '',
					datetime: ['', ''],
					startTime: '',
					endTime: '',
					zlValue: '',
					tjValue: '',
					ptworker: '',
					datetime2: '',
					startTime2: '',
					endTime2: '',
					zlValue2: '',
					tjValue2: '',
					describe: '',
					dgWork: '',
					remark: ''
				},
				// 下拉数据
				optionData: [],

				contactId: "",
				aId: "",
				// 工班删除ids
				shiftDelList: [],
				// 工班信息删除ids
				shiftInfoDelList: [],
				// 翻仓信息删除ids
				fcInfoDelList: [],
			}
		},
		onLoad(options) {
			if ('params' in options) {
				// 获取传递的对象参数，使用decodeURIComponent解码，并转为对象
				this.obj = JSON.parse(decodeURIComponent(options.params))
			}
		},
		mounted() {
			this.executeSql2('shipOption')
			this.executeSql2('shipInfoTable')
			if (this.obj.state == 'edit') {
				this.dataInfo = uni.getStorageSync('shiftRow')
				this.contactId = this.dataInfo[0].contactId
				this.aId = this.dataInfo[0].aId
				this.ulList1 = []
				this.editData();
			} else if (this.obj.state == 'add') {
				this.ulList1 = [{
					gbValue: "",
					gbTextValue: "",
					datetime: ['', ''],
					startTime: "",
					endTime: "",
					ulList2: [{
						carType: "",
						carTypeName: "",
						goodsNumber: 0,
						loadingType: "",
						loadingTypeName: "",
						remark: "",
					}]
				}]
			}
		},
		methods: {
			// 查
			executeSql2(tableName) {
				let sql = `select * from ${tableName};`
				sqlite.executeSqlCeshi(sql).then((value) => {
					if (tableName == 'shipOption') {
						this.optionData = value
						this.getShip()
					} else {
						this.shipInfo = value[0]
					}
				})
			},
			executeSql1(tableName) {
				let sql = `select * from ${tableName} WHERE aId = '${this.aId}';`
				sqlite.executeSqlCeshi(sql).then((value) => {
					// 在resolve时执行的回调函数
					if (tableName == 'workMessageRespList') {
						this.hcValue = value[0].vvyId
						this.hcTextValue = value[0].vvyName
						this.zxValue = value[0].loadType
						this.zxTextValue = value[0].loadTypeName
						this.ulList1 = []
						value.forEach((v, index) => {
							let obj = {
								webId: v.webId,
								contactId: v.contactId,
								datetime: [v.workStartTime, v.workEndTime],
								startTime: v.workStartTime,
								endTime: v.workEndTime,
								gbValue: v.pwcType,
								gbTextValue: v.pwcTypeName,
								ulList2: []
							}
							this.getData(obj)
						})
					} else if (tableName == 'retallyMessageRespList') {
						let arr = [];
						value.forEach(item => {
							if (!arr[item.retallyType]) {
								arr[item.retallyType] = {
									webId: item.webId,
									contactId: item.contactId,
									fcValue: item.retallyType,
									fcTextValue: item.retallyTypeName,
									fcUlList2: []
								};
							}
							arr[item.retallyType].fcUlList2.push({
								webId: item.webId,
								qdValue: item.retallyOrigin,
								zdValue: item.retallyTerminus,
								carType: item.carType,
								carTypeName: item.carTypeName,
								datetime: [item.retallyStartTime, item.retallyEndTime],
								startTime: item.retallyStartTime,
								endTime: item.retallyEndTime,
								goodsNumber: item.goodsNumber,
								tjValue: item.goodsVolume,
								zlValue: item.goodsWeight,
								editStatus: item.editStatus,
							});
						});
						this.fcUlList = Object.values(arr);
					} else if (tableName == 'infoRespList') {
						this.otherObj.webId = value[0].webId
						this.otherObj.contactId = value[0].contactId
						this.otherObj.jsworker = value[0].tecNum
						this.otherObj.datetime = [value[0].tecStartTm, value[0].tecEndTm]
						this.otherObj.startTime = value[0].tecStartTm
						this.otherObj.endTime = value[0].tecEndTm
						this.otherObj.zlValue = value[0].tecWeight
						this.otherObj.tjValue = value[0].tecVolume
						this.otherObj.ptworker = value[0].genNum
						this.otherObj.datetime2 = [value[0].genStartTm, value[0].tecEndTm]
						this.otherObj.startTime2 = value[0].genStartTm
						this.otherObj.endTime2 = value[0].genEndTm
						this.otherObj.zlValue2 = value[0].genWeight
						this.otherObj.tjValue2 = value[0].genVolume
						this.otherObj.describe = value[0].auxRemark
						this.otherObj.dgWork = value[0].waitRemark
						this.otherObj.remark = value[0].workRemark
					}
				}).catch((error) => {
					// 在reject时执行的回调函数
					console.error(error);
				});
			},
			getData(obj) {
				let sql = `select * from workMessageRespInfoList WHERE contactId = '${obj.webId}';`
				sqlite.executeSqlCeshi(sql).then((value) => {
					obj.ulList2 = value
					this.ulList1.push(obj)
				}).catch((error) => {
					// 在reject时执行的回调函数
					console.error(error);
				});
			},
			// 获取船只信息
			getShip() {
				// this.shipInfo = uni.getStorageSync('shipInfo')
				// 航次下拉数据
				let hcOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'vvyList') {
						hcOption.push(v)
					}
				})
				hcOption.forEach((v, index) => {
					this.hcList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
				// 装卸类型数据
				let zxOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'handTypeList') {
						zxOption.push(v)
					}
				})
				zxOption.forEach((v, index) => {
					this.zxList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
				// 工班数据
				let gbOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'shiftList') {
						gbOption.push(v)
					}
				})
				gbOption.forEach((v, index) => {
					this.gbList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
				// 车型数据
				let cxOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'carList') {
						cxOption.push(v)
					}
				})
				cxOption.forEach((v, index) => {
					this.cxList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
				// 装卸方式
				let fsOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'loadTypeList') {
						fsOption.push(v)
					}
				})
				fsOption.forEach((v, index) => {
					this.fsList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
				// 翻仓类型
				let fcOption = []
				this.optionData.forEach((v, index) => {
					if (v.dictionariesName == 'turnoverTypeList') {
						fcOption.push(v)
					}
				})
				fcOption.forEach((v, index) => {
					this.fcList.push({
						text: v.ptrDesc,
						value: v.ptrCode
					})
				})
			},
			//状态为编辑获取数据
			editData() {
				this.executeSql1('workMessageRespList')
				this.executeSql1('retallyMessageRespList')
				this.executeSql1('infoRespList')
			},
			// 工班信息相关
			// 航次下拉
			hcChange(e) {
				this.hcValue = e;
				this.hcList.forEach(v => {
					if (v.value == e) {
						this.hcTextValue = v.text
					}
				})
			},
			// 装卸类型下拉
			zxChange(e) {
				this.zxValue = e;
				this.zxList.forEach(v => {
					if (v.value == e) {
						this.zxTextValue = v.text
					}
				})
			},
			// 工班信息添加
			ulAdd1() {
				this.ulList1.push({
					datetime: ['', ''],
					gbValue: "",
					gbTextValue: "",
					ulList2: [{
						carType: "",
						carTypeName: "",
						goodsNumber: 0,
						loadingType: "",
						loadingTypeName: "",
						remark: "",
					}],
				})
			},
			ulAdd2(index) {
				this.ulList1[index].ulList2.push({
					carType: "",
					carTypeName: "",
					goodsNumber: 0,
					loadingType: "",
					loadingTypeName: "",
					remark: "",
				})
			},
			// 工班下拉
			gbChange(item, index) {
				this.ulList1[index].gbValue = item.gbValue
				this.gbList.forEach(v => {
					if (v.value == item.gbValue) {
						item.gbTextValue = v.text
					}
				})
			},
			// 作业时间
			changeLog(item) {
				// item.datetime[0].slice(0, item.datetime[0].length - 3)
				item.startTime = item.datetime[0]
				item.endTime = item.datetime[1]
				item.startTime2 = item.datetime2[0]
				item.endTime2 = item.datetime2[1]
			},
			// 工班信息删除
			delGb(item, index) {
				this.ulList1.splice(index, 1)
				if (item.webId != null) {
					this.shiftDelList.push(item.webId)
					this.shiftDelList = Array.from(new Set(this.shiftDelList))
					item.ulList2.forEach(v => {
						this.shiftInfoDelList.push(v.webId)
					})
					this.shiftInfoDelList = Array.from(new Set(this.shiftInfoDelList))
				}
			},
			delGb2(item2, index, index2) {
				this.ulList1[index].ulList2.splice(index2, 1)
				if (item2.webId != null) {
					this.shiftInfoDelList.push(item2.webId)
					this.shiftInfoDelList = Array.from(new Set(this.shiftInfoDelList))
				}
			},
			// 车型下拉
			cxChange(item, index, item2, index2) {
				this.ulList1[index].ulList2[index2].carType = item2.carType
				this.cxList.forEach(v => {
					if (v.value == item2.carType) {
						item2.carTypeName = v.text
					}
				})
			},
			// 数量
			numChange(val) {},
			// 装卸方式下拉
			fsChange(item, index, item2, index2) {
				this.ulList1[index].ulList2[index2].loadingType = item2.loadingType
				this.fsList.forEach(v => {
					if (v.value == item2.loadingType) {
						item2.loadingTypeName = v.text
					}
				})
			},

			// 翻仓信息
			// 翻仓类型下拉
			fcChange(item, index) {
				this.fcUlList[index].fcValue = item.fcValue
				this.fcList.forEach(v => {
					if (v.value == item.fcValue) {
						item.fcTextValue = v.text
					}
				})
			},
			// 翻仓车型
			fccxChange(index, item2, index2) {
				this.fcUlList[index].fcUlList2[index2].carType = item2.carType
				this.cxList.forEach(v => {
					if (v.value == item2.carType) {
						item2.carTypeName = v.text
					}
				})
			},
			// 翻仓add
			fcAdd() {
				this.fcUlList.push({
					fcValue: "",
					fcTextValue: "",
					fcUlList2: [{
						qdValue: "",
						zdValue: "",
						carType: "",
						carTypeName: "",
						datetime: ['', ''],
						startTime: "",
						endTime: "",
						goodsNumber: 0,
						tjValue: 0,
						zlValue: 0,
						editStatus: 0,
					}],
				})
			},
			fcAdd2(index) {
				this.fcUlList[index].fcUlList2.push({
					qdValue: "",
					zdValue: "",
					carType: "",
					carTypeName: "",
					datetime: ['', ''],
					startTime: "",
					endTime: "",
					goodsNumber: 0,
					tjValue: 0,
					zlValue: 0,
					editStatus: 0,
				})
			},
			// 翻仓删除
			delFc(item, index) {
				this.fcUlList.splice(index, 1)
				if (item.webId != null) {
					item.fcUlList2.forEach(v => {
						this.fcInfoDelList.push(v.webId)
					})
					this.fcInfoDelList = Array.from(new Set(this.fcInfoDelList))
				}
			},
			delFc2(item2, index, index2) {
				this.fcUlList[index].fcUlList2.splice(index2, 1)
				if (item2.webId != null) {
					this.fcInfoDelList.push(item2.webId)
					this.fcInfoDelList = Array.from(new Set(this.fcInfoDelList))
				}
			},
			// 取消
			cancel() {
				uni.setStorageSync('tabsType', 1);
				uni.navigateTo({
					url: '/pages/shipWork/mixWork'
				})
			},
			// 上一步
			back() {
				this.active = this.active - 1
			},
			// 下一步
			next() {
				this.active = this.active + 1
			},
			// 保存
			save() {
				let date = new Date().getTime()
				let contactId = this.shipInfo.webId
				let webStatus = "0"
				let editStatus = 1
				if (this.obj.state == "edit") {
					// 工班信息
					for (let i = 0; i < this.ulList1.length; i++) {
						if (this.ulList1[i].webId != '' && this.ulList1[i].webId != null) {
							let webDate = api.getDate(date)
							let sql =
								`UPDATE workMessageRespList SET vvyId = '${this.hcValue}',vvyName = '${this.hcTextValue}',
							loadType = '${this.zxValue}',loadTypeName = '${this.zxTextValue}',pwcType = '${this.ulList1[i].gbValue}',
							pwcTypeName = '${this.ulList1[i].gbTextValue}',workStartTime = '${this.ulList1[i].startTime}',
							workEndTime = '${this.ulList1[i].endTime}',webStatus = '${webStatus}',webDate = '${webDate}' WHERE webId = '${this.ulList1[i].webId}';`
							this.executeSql(sql)
							for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
								if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j].webId != null) {
									let sql2 =
										`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
									goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
									loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}', 
									webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
									this.executeSql(sql2)
								} else {
									let webId2 = uuidv4()
									let webDate = api.getDate(date)
									let sql2 = `insert into workMessageRespInfoList values('${webId2}','${this.ulList1[i].webId}','${this.ulList1[i].ulList2[j].carType}',
									'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
									'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
									'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
									'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
									this.executeSql(sql2)
								}
							}
						} else {
							let webId = uuidv4()
							let webDate = api.getDate(date)
							let sql = `insert into workMessageRespList values('${webId}','${contactId}','${this.aId}','${this.hcValue}',
							'${this.hcTextValue}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
							'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}',
							'${this.shipInfo.tradeTypeName}',
							'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
							'${webStatus}','${webDate}')`
							this.executeSql(sql)
							for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
								if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j].webId != null) {
									let sql2 =
										`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
									goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
									loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}', 
									webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
									this.executeSql(sql2)
								} else {
									let webId2 = uuidv4()
									let webDate = api.getDate(date)
									let sql2 = `insert into workMessageRespInfoList values('${webId2}','${webId}','${this.ulList1[i].ulList2[j].carType}',
									'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
									'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
									'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
									'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
									this.executeSql(sql2)
								}
							}
						}
					}
					// 翻仓信息
					for (let i = 0; i < this.fcUlList.length; i++) {
						if (this.fcUlList[i].webId != null) {
							for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
								let webId = uuidv4()
								let webDate = api.getDate(date)
								if (this.fcUlList[i].fcUlList2[j].editStatus != 0) {
									let sql =
										`UPDATE retallyMessageRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}', 
									retallyType = '${this.fcUlList[i].fcValue}',retallyTypeName = '${this.fcUlList[i].fcTextValue}',
									retallyOrigin = '${this.fcUlList[i].fcUlList2[j].qdValue}', retallyTerminus = '${this.fcUlList[i].fcUlList2[j].zdValue}',
									retallyStartTime = '${this.fcUlList[i].fcUlList2[j].startTime}', retallyEndTime = '${this.fcUlList[i].fcUlList2[j].endTime}', 
									carType = '${this.fcUlList[i].fcUlList2[j].carType}',carTypeName = '${this.fcUlList[i].fcUlList2[j].carTypeName}',
									goodsNumber = '${this.fcUlList[i].fcUlList2[j].goodsNumber}', goodsVolume = '${this.fcUlList[i].fcUlList2[j].tjValue}',
									goodsWeight = '${this.fcUlList[i].fcUlList2[j].zlValue}', webStatus = '${webStatus}', 
									webDate = '${webDate}' WHERE webId = '${this.fcUlList[i].fcUlList2[j].webId}';`
									this.executeSql(sql)
								} else {
									let sql =
										`insert into retallyMessageRespList values('${webId}','${this.fcUlList[i].contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
									'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
									'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
									'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
									'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
									'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
									'${editStatus}','${webStatus}','${webDate}')`
									this.executeSql(sql)
								}
							}
						} else {
							for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
								let webId = uuidv4()
								let webDate = api.getDate(date)
								let sql =
									`insert into retallyMessageRespList values('${webId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
								'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
								'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
								'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
								'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
								'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
								'${editStatus}','${webStatus}','${webDate}')`
								this.executeSql(sql)
							}
						}
					}
					// 其他信息
					let webDate = api.getDate(date)
					let sql =
						`UPDATE infoRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}', tecNum = '${this.otherObj.jsworker}',
						tecStartTm = '${this.otherObj.startTime}', tecEndTm = '${this.otherObj.endTime}', tecWeight = '${this.otherObj.zlValue}', 
						tecVolume = '${this.otherObj.tjValue}', genNum = '${this.otherObj.ptworker}',
						genStartTm = '${this.otherObj.startTime2}', genEndTm = '${this.otherObj.endTime2}', genWeight = '${this.otherObj.zlValue2}',
						genVolume = '${this.otherObj.tjValue2}', auxRemark = '${this.otherObj.describe}', waitRemark = '${this.otherObj.dgWork}',
						workRemark = '${this.otherObj.remark}', webStatus = '${webStatus}', webDate = '${webDate}'  WHERE webId = '${this.otherObj.webId}';`
					this.executeSql(sql)
					// 删除工班信息
					this.shiftDelList.forEach(v => {
						let sql = `DELETE FROM workMessageRespList WHERE webId = '${v}';`
						this.executeSql(sql)
					})
					// 删除工班详细信息
					this.shiftInfoDelList.forEach(v => {
						let sql = `DELETE FROM workMessageRespInfoList WHERE webId = '${v}';`
						this.executeSql(sql)
					})
					// 删除翻仓信息
					this.fcInfoDelList.forEach(v => {
						let sql = `DELETE FROM retallyMessageRespList WHERE webId = '${v}';`
						this.executeSql(sql)
					})
				} else if (this.obj.state == "add") {
					// 工班信息
					let aId = uuidv4()
					for (let i = 0; i < this.ulList1.length; i++) {
						let webId = uuidv4()
						let webDate = api.getDate(date)
						let sql = `insert into workMessageRespList values('${webId}','${contactId}','${aId}','${this.hcValue}',
						'${this.hcTextValue}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
						'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}',
						'${this.shipInfo.tradeTypeName}',
						'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
						'${webStatus}','${webDate}')`
						this.executeSql(sql)
						for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
							let webId2 = uuidv4()
							let webDate = api.getDate(date)
							let sql2 = `insert into workMessageRespInfoList values('${webId2}','${webId}','${this.ulList1[i].ulList2[j].carType}',
							'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
							'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
							'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
							'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
							this.executeSql(sql2)
						}
					}
					// 翻仓信息
					for (let i = 0; i < this.fcUlList.length; i++) {
						for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
							let webId = uuidv4()
							let webDate = api.getDate(date)
							let sql =
								`insert into retallyMessageRespList values('${webId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
							'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
							'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
							'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
							'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
							'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
							'${editStatus}','${webStatus}','${webDate}')`
							this.executeSql(sql)
						}
					}
					// 其他信息
					let webId = uuidv4()
					let webDate = api.getDate(date)
					let sql =
						`insert into infoRespList values('${webId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.otherObj.jsworker}',
						'${this.otherObj.startTime}','${this.otherObj.endTime}','${this.otherObj.zlValue}','${this.otherObj.tjValue}','${this.otherObj.ptworker}',
						'${this.otherObj.startTime2}','${this.otherObj.endTime2}','${this.otherObj.zlValue2}','${this.otherObj.tjValue2}','${this.otherObj.describe}',
						'${this.otherObj.dgWork}','${this.otherObj.remark}','${this.shipInfo.tradeTypeName}',
						'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
						'${webStatus}','${webDate}')`
					this.executeSql(sql)
				}
				uni.setStorageSync('tabsType', 1);
				uni.navigateTo({
					url: '/pages/shipWork/mixWork'
				})
			},
			executeSql(sql) {
				sqlite.executeSqlCeshi(sql).then((value) => {
					// 在resolve时执行的回调函数
				}).catch((error) => {
					// 在reject时执行的回调函数
					console.error(error);
				});
			},
			onBackPress(event) {
				uni.setStorageSync('tabsType', 1);
				uni.navigateTo({
					url: '/pages/shipWork/mixWork'
				})
				return true;
			},
		}
	}
</script>

<style lang="less" scoped>
	.shiftAdd {
		.container {
			padding: 30px 20px;
			background-color: #fff;

			/deep/.uni-steps__row-title {
				font-size: 20px;
			}

			/deep/.uni-icons {
				font-size: 20px !important;
			}

			/deep/.uni-steps__row-container {
				margin-top: 10px;
			}

			.line {
				width: 100%;
				height: 10px;
				background: #f2f2f2;
				margin: 20px 0;
			}

			.ulTop {
				width: 100%;
				padding: 20px;
				text-align: right;
				border-top: 1px solid #ccc;


				text {
					color: #2979ff;
					margin-right: 10px;
				}

				text:nth-of-type(2) {
					color: red;
				}
			}

			.fcUl {
				.li {
					border: none;
					margin-bottom: 0;

					.liTitle {
						width: 120px;
					}
				}
			}

			.fcUl2 {
				.liTitle {
					width: 120px;
				}
			}

			.ul {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				margin-bottom: 20px;

				.li {
					width: 44%;
					border-top: 1px solid #ccc;
					border-bottom: 1px solid #ccc;
					display: flex;
					padding: 10px 20px;
					line-height: 35px;
					margin-bottom: 20px;

					.required {
						color: red;
						margin-right: 5px;
					}

					.liTitle {
						min-width: 85px;
						text-align: right;
					}

					/deep/.uni-numbox {
						border: 1px solid #ccc;
						box-sizing: border-box;
					}

					/deep/.uni-numbox-btns {
						border-right: 1px solid #ccc;
						border-left: 1px solid #ccc;
						padding: 0 14px;
						box-sizing: border-box;
					}

					/deep/.uni-numbox__value {
						width: 100px;
						height: 35px;
						line-height: 35px;
						background-color: #fff !important;
					}
				}

				.widthLi {
					width: 100%;
				}
			}

			.ul2 {
				padding: 0;
				margin-top: 0;

				.li {
					border: none;
					margin-bottom: 0;
				}
			}

			.otherWork {
				padding: 0 20px;

				.title {
					font-size: 16px;
					font-weight: bold;
					padding-left: 10px;
					border-left: 5px solid #2979ff;
					margin-bottom: 20px;
				}

				.ul {
					.li {
						border: none;
					}

					.li:last-child {
						width: 100%;
					}
				}
			}

			.btnList {
				display: flex;
				justify-content: center;
				margin-top: 20px;

				/deep/ .van-button {
					margin: 30px 20px;
					width: 120px;
					height: 50px;
				}
			}
		}
	}
</style>