<template> <div class="water-analysis-page"> <div class="top"> <el-form label-width="auto" :rules="projectEstimateRules" inline ref="ruleForm" :model="FormList" :disabled="typeList.type == 1" > <div v-for="i in typeList.monitorDynamicTableTitleList" style="display: flex; flex-direction: column"> <el-form-item :label="i.value + ':'" :prop="i.key" :disabled="typeList.type == 1 || typeList.type == 2"> <el-input-number v-if="i.key == 'realScore'" :placeholder="i.value" :min="0" :precision="2" :step="0.1" style="width: 300px;" @change="trsyAreaChange" v-model="FormList[i.key]" > <template #append> k㎡ </template> </el-input-number> <el-upload v-else-if="i.key == 'attachFileList'" v-model:file-list="fileList1" class="upload-demo" action="/prod-api/system/upload" :headers="uploadHeader" multiple :on-preview="handlePreview" :before-remove="beforeRemove" style="width: 100vh" > <el-button type="primary">选择文件</el-button> </el-upload> <div v-else-if="i.key == 'standardFlag' && typeList.iSstandardFlag" :style="{ color: typeList.data.standardFlag ? '#108ee9' : 'red' }" > {{ typeList.data.standardFlag? '达标' : '未达标' }} </div> <div v-else-if="i.key == 'itemTarget'"> {{ itemTarget }} </div> <div v-else-if="i.key == 'standardFlag' && typeList.iSstandardFlag" :style="{ color: typeList.iSstandardFlag ? '#108ee9' : 'red' }" > {{ typeList.iSstandardFlag? '达标' : '未达标' }} </div> <div v-else-if="i.key == 'standardFlag' && !typeList.iSstandardFlag" :style="{ color: IsStandFlag1 > 0 ? '#108ee9' : 'red' }" > <span v-show="false">{{ IsStandFlag1 > 0 ? (IsStandText = 1) : (IsStandText = 0) }}</span> {{ IsStandFlag1 > 0 ? '达标' : '未达标' }} </div> <div v-else> {{ FormList[i.key] }} </div> </el-form-item> </div> </el-form> </div> </div> </template> <script setup> import { onMounted, defineEmits, reactive, defineProps, defineExpose, computed } from 'vue'; import { projectInfoEdit } from '@/api/naturalWaterArea'; import { getToken } from '@/utils/auth'; import { projectEstimateRules } from '@/utils/rules'; import { projectEstimateForm } from '@/utils/form'; import { ElMessage, ElMessageBox } from 'element-plus'; const { proxy } = getCurrentInstance(); const { fund_source } = proxy.useDict('fund_source'); const uploadHeader = ref({ Authorization: 'Bearer ' + getToken(), }); const { typeList } = defineProps(['typeList']); const emits = defineEmits(); defineExpose({ submit, closed, resetFiled }); const IsStandFlag1 = ref(0); const IsStandText = ref(''); let FormList = ref({ fileSaveRequestList: [] }); const itemTarget = computed(() => { return typeList.data?.itemDataTypePerformanceEvaluateItemList[0]?.itemTarget ||0 ; }); const realScore = computed(() => { return typeList.data?.itemDataTypePerformanceEvaluateItemList[0]?.realScore ||0 ; }); const fileList1 = ref([]); function handlePreview(file) { return ElMessageBox.confirm(`下载此文件: ${file.name}?`).then( () => window.open(file.url), () => false ); } function beforeRemove(file) { return true; } function submit() { proxy.$refs.ruleForm.validate(valid => { if (valid) { const fileSaveRequestList = []; let arr=typeList.data.itemDataTypePerformanceEvaluateItemList console.log("arr", arr) let flay = null; if (IsStandFlag1.value > 0) flay = 1; else flay = 0; if(arr.length==0){ arr.push({standardFlag: IsStandFlag1.value ||0,realValue: FormList.value.realScore,realScore: FormList.value.realScore }) }else { arr[0].standardFlag = IsStandFlag1.value ||0; // arr[0].realScore = FormList.value.realScore if (typeList.iSstandardFlag || flay == 1) { arr[0].realScore = arr[0].itemScore; } else { arr[0].realScore = 0; arr[0].realValue =0; } } arr[0].realValue =FormList.value.realScore; typeList.data.itemDataTypePerformanceEvaluateItemList=arr fileList1.value.forEach(element => { if (element.hasOwnProperty('response')) { element.response.data.refType = 'YSZYHLY'; fileSaveRequestList.push(element.response.data); } else { fileSaveRequestList.push(element); } }); FormList.value = { fileSaveRequestList, ...typeList.data, itemDataType: "YSZYHLY", }; projectInfoEdit(FormList.value).then(({ code }) => { if (code == 200) { emits('onModalClose'); } }); } }); } function loadProjerctListData() { FormList.value = typeList.data; fileList1.value = typeList.fileList1; FormList.value.realScore = realScore.value; console.log("typeList", typeList) proxy.$refs.ruleForm.resetFields(); } function resetFiled() { proxy.$refs.ruleForm.resetFields(); fileList1.value = []; } function closed() { emits('onModalClose'); } function trsyAreaChange(v) { console.log("vvv", v) typeList.iSstandardFlag=0 let st = v * 1 - ( itemTarget.value || 0); if (st >= 0) IsStandFlag1.value = 1; else IsStandFlag1.value = 0; } onMounted(() => { loadProjerctListData(); }); </script> <style lang="scss" scoped> .water-analysis-page { padding: 20px; } </style>