<template>
	<view class="qingjia-apply">
		<uni-nav-bar @clickLeft="goBack()" class="nav-bar" height="110rpx" leftWidth="200rpx" leftText="入厂项目"
			leftIcon="left" border backgroundColor="#2cade8" color="#fff" fixed statusBar shadow></uni-nav-bar>
		<view class="apply-info">
			<view class="form-content ">
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">名称</text>
					</view>
					<view class="form-right">
						<input type="text" v-model="formData.name" maxlength="50" placeholder="请输入项目名称" />
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">项目类型</text>
					</view>
					<view class="form-right">
						<uni-data-select v-model="formData.type" :localdata="range" label="项目类型">
						</uni-data-select>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">合同编号</text>
					</view>
					<view class="form-right">
						<input type="text" v-model="formData.contract_number" maxlength="50" placeholder="请输入" />
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">进厂时间</text>
					</view>
					<view class="form-right form-date">
						<uni-datetime-picker v-model="formData.come_time" :border="false" />
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">离厂时间</text>
					</view>
					<view class="form-right form-date">
						<uni-datetime-picker v-model="formData.leave_time" :border="false" />
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">所属部门</text>
					</view>
					<view class="form-right">
						<uni-data-picker placeholder="请选择所属部门" popup-title="请选择所属部门" :localdata="depRange" v-model="formData.belong_dept">
						</uni-data-picker>
					</view>
				</view>

				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">相关方</text>
					</view>
					<view class="form-right">
						<uni-data-select v-model="formData.rparty" :localdata="rpmRange" label="相关方">
						</uni-data-select>
					</view>
				</view>
				<view class="btn">
					<button type="primary" class="save-btn" @click="saveSubmit">下一步</button>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import nonNullCheck from '../../../utils/nonNullCheck.js';
	export default {
		name: "rpjCreate",
		data() {
			return {
				formData: {
					name: '', //项目名称
					type: '', //项目类型
					contract_number: '', //合同编号
					come_time: '', //进场时间
					leave_time: '', //离场时间
					belong_dept: '', //所属部门
					rparty: '', //相关方
				},
				showBtns:false,
				depRange: [],
				rpmRange: [],
				range: [{
						value: 10,
						text: "建筑施工"
					},
					{
						value: 20,
						text: "设备设施检维修"
					},
					{
						value: 30,
						text: "保安保洁服务"
					},
					{
						value: 40,
						text: "其他"
					},
				],
			}
		},
		onLoad(params) {
			debugger;
			if(params.rpj){
				this.rpj = params.rpj;
				this.type = params.type;
				this.getRpjDetail();
				if(params.type==='edit'){
					this.showBtns = true;
				}else{
					this.showBtns = false;
				}
			}else{
				this.showBtns = true;
			}
		},
		onShow() {
			this.getdept();
			this.getRpartyList();
		},
		methods: {
			//获取dept
			getdept() {
				let that = this;
				that.$u.api.deptList({
					page: 0
				}).then(res => {
					that.depRange = that.redata(res);

					console.log(that.depRange)
				})
			},
			getRpjDetail(){
				let that = this;
				that.$u.api.rpjItem(that.rpj).then((res) => {
					that.formData.name = res.name; //
					that.formData.type = res.type; //
					that.formData.contract_number = res.contract_number; //
					that.formData.come_time = res.come_time; //
					that.formData.leave_time = res.leave_time; //
					that.formData.belong_dept = res.belong_dept; //
					that.formData.rparty = res.rparty; //
					console.log(res);
					debugger;
				});
			},
			//获取dept
			getRpartyList() {
				let that = this;
				this.$u.api.rpartyList({
					page: 0
				}).then(res => {
					let rpmList = [];
					let obj = {};
					res.forEach(item => {
						obj = {
							value: null,
							text: ''
						};
						obj.value = item.id;
						obj.text = item.name;
						rpmList.push(obj);
					})
					this.rpmRange = rpmList
				})
			},
			saveSubmit(type) {
				let that = this;
				if (!that.paramsCheck()) {
					return;
				} else {
					debugger;
					if (that.rpj) {
						that.$u.api.rpjUpdate(that.rpj, that.formData).then(res => {
							if (res.err_msg) {
							} else {
								let params = `?rpj=${that.rpj}`;
								uni.navigateTo({
									url: '/pages/workSpace/rpj/rpjFiles' + params
								})
							}
						})
					} else {
						that.$u.api.rpjCreate(that.formData).then(res => {
							if (res.err_msg) {} else {
								let params = `?rpj=${res.id}`;
								uni.navigateTo({
									url: '/pages/workSpace/rpj/rpjFiles' + params
								})
							}
						})
					}
				}

			},
			/* 参数验证 */
			paramsCheck() {
				let that= this;
				debugger;
				console.log(that.formData)
				if (!nonNullCheck(this.formData.name)) {
					uni.showToast({
						title: '请输入项目名称',
						icon: "none"
					})
					return false;
				}
				if (!nonNullCheck(this.formData.type)) {
					uni.showToast({
						title: '请选择项目类型',
						icon: "none"
					})
					return false;
				}

				if (!nonNullCheck(this.formData.contract_number)) {
					uni.showToast({
						title: '请填写合同编号',
						icon: "none"
					})
					return false;
				}
				if (!nonNullCheck(this.formData.come_time)) {
					uni.showToast({
						title: '请选择进场时间',
						icon: "none"
					})
					return false;
				}
				if (!nonNullCheck(this.formData.leave_time)) {
					uni.showToast({
						title: '请选择离场时间',
						icon: "none"
					})
					return false;
				}

				if (!nonNullCheck(this.formData.belong_dept)) {
					uni.showToast({
						title: '请选择所属部门',
						icon: "none"
					})
					return false;
				}

				if (!nonNullCheck(this.formData.rparty)) {
					uni.showToast({
						title: '请选择相关方',
						icon: "none"
					})
					return false;
				}
				return true;
			},
			redata(postList) {
				let posts = [];
				postList.forEach((item) => {
					let obj = new Object();
					obj = {
						...item
					};
					obj.value = item.id;
					obj.text = item.name;
					obj.parentId = item.parent;
					posts.push(obj);
				});
				let obj = posts.reduce((res, v) => ((res[v.id] = v), res), {}); //Object
				let arr = [];
				for (let item of posts) {
					if (item.parentId == null) {
						arr.push(item);
						continue;
					}
					let parent = obj[item.parentId];
					parent.children = parent.children ? parent.children : [];
					parent.children.push(item);
				}
				console.log(arr);
				return arr;
			},
			goBack() {
				uni.navigateBack({
					delta: 1
				})
			},
		}
	}
</script>

<style scoped>
	.qingjia-apply {
		background-color: #f3fbff;
		padding-bottom: 227rpx;
	}

	/* >>>.uni-status-bar {
		height: 0 !important;
	} */

	>>>.uni-navbar-btn-text text {
		font-size: 32rpx !important;
	}

	.apply-info {
		width: 720rpx;
		margin: 0 auto;
		background-color: #FFFFFF;
		border-radius: 10rpx;
		padding: 25rpx 32rpx;
		box-sizing: border-box;
		margin-top: 24rpx;
	}

	.border-bottom {
		border-bottom: 1rpx solid #eeeeee;
	}

	.star {
		color: red;
	}

	.top-title-text {
		padding-left: 24rpx;
		position: relative;
		font-family: PingFang-SC-Medium;
		font-size: 34rpx;
		line-height: 72rpx;
		color: #383838;
	}

	.top-title-text::before {
		content: "";
		width: 6rpx;
		height: 29rpx;
		background-image: linear-gradient(90deg, #164cc3 0%, #2c6fd9 100%);
		border-radius: 3rpx;
		display: block;
		position: absolute;
		left: -4rpx;
		top: 22rpx;
	}

	.form-item {
		/* display: flex; */
		font-family: PingFang-SC-Medium;
		font-size: 30rpx;
		/* line-height: 97rpx; */
		height: 200rpx;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.form-left-text {
		color: #212121;
		margin-bottom: 33rpx;
	}

	.form-left {
		/* min-width: 160rpx; */
		width: 100%;
	}

	.form-right {
		margin-left: 20rpx;
		flex: 1;
		color: #414141;
	}

	.form-right input {
		/* height: 100%; */
		/* height: 60rpx; */
		font-size: 30rpx;
	}

	.form-date>>>.uni-date__x-input {
		height: 97rpx;
		font-size: 30rpx;
	}

	.form-date>>>.uni-icons {
		display: none;
	}

	.qingjia-apply>>>uni-input {
		/* height: 100%; */
		font-size: 30rpx;
	}

	.apply-reason-text {
		width: 653rpx;
		height: 179rpx;
		background-color: #f6f8fc;
		border: solid 1rpx #e5e5e5;
		margin-top: 21rpx;
		padding: 14rpx 24rpx;
		font-size: 26rpx;
		box-sizing: border-box;
	}

	.apply_require {
		margin-top: 0rpx !important;
	}

	.file-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		padding-top: 13rpx;
	}

	.file-wrap {

		margin-top: 20rpx;
		margin-right: 20rpx;
	}

	.file-item {
		width: 155rpx;
		height: 155rpx;
		border: solid 1rpx #e5e5e5;
		text-align: center;
		display: flex;

		align-items: center;
		position: relative;

	}

	.file-content {
		width: 100%;
	}

	.file-item .file-icon {
		width: 37rpx;
		height: 37rpx;

	}

	.file-item .file-name {
		font-family: PingFang-SC-Regular;
		font-size: 20rpx;
		line-height: 17rpx;
		color: #313131;
		margin-top: 11rpx;
		padding: 10rpx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.file-item>>>.uni-icons {
		width: 26rpx;
		height: 26rpx;
		position: absolute;
		right: -8rpx;
		top: -22rpx;
		/*
    background-color: #d81e06;
    border-radius: 50%;
    font-size: 20rpx !important;
    padding: 5rpx;
    */
		box-sizing: border-box;
	}

	.form-right {
		flex: 1;
		color: #414141;
	}

	/*部门*/
	uni-data-picker {
		width: 100%;
		border: none !important;
	}

	.my-data-picker>>>.input-value-border {
		border: none !important;
	}

	>>>.input-value {
		font-size: 30rpx !important;
		;
	}

	.my-data-picker uni-data-picker {
		width: 100% !important;
	}

	.my-data-picker {
		width: 100%;
		display: flex;
		align-items: center;
		margin-left: -10rpx;
	}

	/* 主体 */
	>>>.uni-navbar__header,
	>>>.uni-status-bar {
		background-image: linear-gradient(90deg, #164cc3 0%, #2c6fd9 100%), linear-gradient(#e60012, #e60012) !important;
	}

	hongtouwenjian-top {
		box-sizing: border-box;
		padding-top: 24rpx;
		padding-right: 15rpx;
		padding-bottom: 20rpx;
		padding-left: 15rpx;
	}

	.hongtouwenjian-top-c {
		background-color: #ffffff;
		border-radius: 10rpx;
		padding-left: 30rpx;
		padding-right: 30rpx;
		display: flex;
		flex-direction: column;
	}

	.hongtouwenjian-top-c-title {
		display: flex;
		align-items: center;
		height: 85rpx;
		border-bottom: 1px solid #eeeeee;
	}

	.hongtouwenjian-top-c-title-mark {
		width: 6rpx;
		height: 29rpx;
		background-image: linear-gradient(90deg, #164cc3 0%, #2c6fd9 100%), linear-gradient(#f3fbff, #f3fbff);
		background-blend-mode: normal, normal;
		border-radius: 3rpx;
	}

	.hongtouwenjian-top-c-title-txt {
		font-size: 34rpx;
		color: #383838;
	}

	.hongtouwenjian-top-c-item {
		/* display: flex; */
		align-items: center;
		/* height: 100rpx; */
		border-bottom: 1px solid #EEEEEE;
		box-sizing: border-box;
		padding-left: 3rpx;
		padding-right: 12rpx;
		width: 100%;
		line-height: 97rpx;
	}

	.hongtouwenjian-top-c-item:last-child {
		border-bottom: none;
	}

	.hongtouwenjian-top-c-item-left {
		display: flex;
		align-items: center;
		width: 164rpx;
	}

	.hongtouwenjian-top-c-item-left-mark {
		font-size: 30rpx;
		color: #f00808;
	}

	.hongtouwenjian-top-c-item-left-txt {
		font-size: 30rpx;
		color: #212121;
	}

	.hongtouwenjian-top-c-item-middle {
		margin-left: 20rpx;
		flex: 1;
		display: flex;
		align-items: center;
		height: 100%;
	}

	.hongtouwenjian-top-c-item-middle-txt {
		font-size: 30rpx;
		color: #414141;
	}

	.hongtouwenjian-top-c-item-middle-input {
		padding: 0;
		margin: 0;
		outline: none;
		border: none;
		background-color: transparent;
		width: 100%;
		/* height: 100%; */
		height: 60rpx;
		font-size: 30rpx;
		color: #414141;
		display: flex;
		align-items: center;
	}

	.hongtouwenjian-top-c-item-right {
		width: 22rpx;
		height: 25rpx;
	}

	.hongtouwenjian-addbtn {
		display: flex;
		justify-content: flex-end;
		box-sizing: border-box;
		padding-right: 19rpx;
	}

	.hongtouwenjian-addbtn-w {
		padding: 0;
		margin: 0;
		outline: none;
		background-color: transparent;
		width: 90rpx;
		height: 46rpx;
		line-height: 46rpx;
		text-align: center;
		background-color: #0075ff;
		border-radius: 10rpx;
		font-size: 26rpx;
		color: #f3fbff;
	}

	/* 物品列表 */
	.fixed-assets-listBig {
		width: 100%;
		padding: 0 20rpx;
		box-sizing: border-box;
		margin-bottom: 20rpx;
	}

	.fixed-assets-list {
		width: 100%;
		background-color: #FFFFFF;
		padding: 0 20rpx;
		box-sizing: border-box;
	}

	.fixed-assets-list .apply-info {
		padding-top: 0rpx;
	}

	.fixed-assets-list .top {
		height: 108rpx;
		line-height: 108rpx;
		border-bottom: 1rpx solid #eeeeee;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.fixed-assets-list .top-left-text {
		flex: 1;
		display: -webkit-box;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		font-size: 30rpx;
		color: #212121;
	}

	.fixed-assets-list .top-right image {
		width: 26rpx;
		height: 28rpx;
		vertical-align: middle;
	}

	.fixed-assets-list .top-right view {
		height: auto;
		padding-left: 10rpx;
		font-size: 26rpx;
		color: #8b8b8b;
	}

	/*  .fixed-assets-list .bottomBig{
      width: 100%;
    } */
	.fixed-assets-list .bottom {
		/* display: flex;
      justify-content: space-between;
      align-items: center; */
		padding-top: 25rpx;
		font-size: 28rpx;
		color: #616161;
		line-height: 72rpx;
	}

	.fixed-assets-list .bottom-left+.bottom-right {
		width: 50%;
	}

	/* 文件上传进度样式*/
	.u-progress-content {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.u-progress-dot {
		width: 10rpx;
		height: 10rpx;
		border-radius: 50%;
		background-color: #fb9126;
	}

	.u-progress-info {
		font-size: 24rpx;
		padding-left: 10rpx;
		letter-spacing: 2rpx
	}

	.is-hidden {
		visibility: hidden;
	}







	.title {
		font-size: 14px;
		font-weight: bold;
		margin: 20px 0 5px 0;
	}

	.data-pickerview {
		height: 400px;
		border: 1px #e5e5e5 solid;
	}

	.popper__arrow {
		top: -6px;
		left: 50%;
		margin-right: 3px;
		border-top-width: 0;
		border-bottom-color: #EBEEF5;
	}

	.popper__arrow {
		top: -6px;
		left: 50%;
		margin-right: 3px;
		border-top-width: 0;
		border-bottom-color: #EBEEF5;
	}
</style>
