<template>
	<view class="problemHandleItem">
<!--		<view class="font-md text-dark font-weight">问题处理</view>-->
		<u--form labelPosition="left" :model="problemHandleData" labelWidth="80">
			<u-form-item label="问题处理:" required prop="dealResult">
				<u-radio-group v-model="problemHandleData.dealResult" placement="column" @change="radioChange">
<!--					<u-radio label="退回修改" name="2" :disabled="onlyFlag" class="mb-2"></u-radio>-->
					<u-radio label="办结" name="3" :disabled="onlyFlag" class="mb-2"></u-radio>
					<u-radio label="反馈大走访活动办"
						v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag)" name="4"
						:disabled="onlyFlag"></u-radio>
          <u-radio label="正在办理"
                   v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag || userInfo.assignedDeptFlag)" name="10"
                   :disabled="onlyFlag" ></u-radio>
          <u-radio label="难以化解"
                   v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="11"
                   :disabled="onlyFlag"></u-radio>
          <u-radio label="持续跟踪"
                   v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="12"
                   :disabled="onlyFlag"></u-radio>
          <u-radio label="提请会办"
                   v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="13"
                   :disabled="onlyFlag"></u-radio>
					<u-radio label="交办" v-if="typeName == 'question' && userInfo.ydGxjLeaderFlag" name="5" :disabled="onlyFlag"
						class="mt-2">
					</u-radio>
				</u-radio-group>
			</u-form-item>
			<view class="error-tip" v-if="!problemHandleData.dealResult && errorTip">
				请选择处理结果
			</view>
			<u-form-item label="交办单位:" required prop="assignedDeptName" v-if="problemHandleData.dealResult == '5'"
				@click="unitDataTap">
				<u--input v-model="problemHandleData.assignedDeptName" readonly :border="onlyFlag ? 'none' : 'surround'"
					:placeholder="!onlyFlag ? '请选择交办单位' : ''">
				</u--input>
			</u-form-item>
			<view class="error-tip"
				v-if="problemHandleData.dealResult == '5' && !problemHandleData.assignedDeptName && errorTip">
				请选择交办单位
			</view>
			<u-form-item label="处理建议:" required prop="dealSuggestion">
				<u--textarea v-model="problemHandleData.dealSuggestion" :disabled="onlyFlag"
					:border="onlyFlag ? 'none' : 'surround'" :placeholder="!onlyFlag ? '请填写处理建议' : ''">
				</u--textarea>
			</u-form-item>
			<view class="error-tip" v-if="!problemHandleData.dealSuggestion && errorTip">
				请填写处理建议
			</view>
		</u--form>
		<!-- 交办单位 -->
		<u-picker :show="showUnit" :columns="unitColumn" keyName="fullName" title="请选择交办单位" @cancel="showMonth = false"
			@confirm="unitSelect">
		</u-picker>
	</view>
</template>

<script>
	export default {
		props: {
			problemType: {
				type: String,
				default: ''
			},
			problemHandleData: {
				type: Object,
				default: () => {}
			},
			userInfo: {
				type: Object,
				default: () => {}
			},
			readOnlyFlag: {
				type: Boolean,
				default: false
			},
			showErrorTip: {
				type: Boolean,
				default: false
			},
			column: {
				type: Array,
				default: () => []
			}
		},
		data() {
			return {
				showUnit: false
			}
		},
		computed: {
			onlyFlag() {
				return this.readOnlyFlag
			},
			errorTip() {
				return this.showErrorTip
			},
			typeName() {
				return this.problemType
			},
			unitColumn() {
				return this.column
			}
		},
		methods: {
			// 处理结果点击确认
			radioChange() {
				if (this.problemHandleData.dealResult != '5') {
					this.problemHandleData.assignedDeptName = ''
					this.problemHandleData.assignedDept = ''
				}
			},
			// 交办单位--->点击
			unitDataTap() {
				if (this.readOnlyFlag) return
				this.showUnit = true;
				uni.hideKeyboard()
			},
			// 交办单位选择确认操作
			unitSelect({
				value
			}) {
				this.problemHandleData.assignedDeptName = value[0].fullName
				this.problemHandleData.assignedDept = value[0].enCode
				this.showUnit = false
			},
			// 判断是否有必填项为填写
			isRequired() {
				const query = uni.createSelectorQuery().in(this);
				let dataLength = 0
				query.selectAll('.error-tip').boundingClientRect(data => {
					dataLength = data.length
					if (dataLength) {
						uni.$u.toast('请完善必填项内容')
					}
				}).exec();
				return dataLength
			}
		}
	}
</script>

<style lang="scss" scoped>
	.error-tip {
		font-size: 12px;
		color: #f56c6c;
		margin-left: 160rpx;
	}
</style>