优化代码

This commit is contained in:
GGJ
2024-05-14 19:07:02 +08:00
parent 14288e46b9
commit 52a1acf32a

View File

@@ -1,6 +1,6 @@
<template>
<el-dialog
v-model="dialogFormVisible"
v-model="dialogFormVisible"
title="用户档案录入"
width="55%"
height="400"
@@ -10,11 +10,18 @@
draggable
>
<!-- 用户档案录入 新建1 -->
<el-form :model="form" class=form-two :validate-on-rule-change="false" :rules="rules"
:scroll-to-error="true" ref="ruleFormRef">
<el-form
:model="form"
class="“form-two”"
:validate-on-rule-change="false"
:rules="rules"
:scroll-to-error="true"
ref="ruleFormRef"
label-width="120px"
>
<el-row>
<el-col :span="12">
<el-form-item label="填报人:" :label-width="formLabelWidth" prop="reporter">
<el-form-item label="填报人:" prop="reporter">
<el-input
v-model="form.reporter"
autocomplete="off"
@@ -24,7 +31,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="填报日期:" :label-width="formLabelWidth" prop="reportDate">
<el-form-item label="填报日期:" prop="reportDate">
<el-date-picker
:disabled="true"
style="width: 100%"
@@ -37,14 +44,14 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="填报部门:" :label-width="formLabelWidth" prop="orgId">
<el-form-item label="填报部门:" prop="orgId">
<el-input v-model="form.orgId" :disabled="true" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="工程预期投产日期:"
:label-width="formLabelWidth"
prop="expectedProductionDate"
class="label_over_warp"
>
@@ -63,7 +70,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性质:" :label-width="formLabelWidth" prop="userType">
<el-form-item label="用户性质:" prop="userType">
<el-select v-model="form.userType" placeholder="请选择用户性质" @change="changeUserType()">
<el-option
v-for="(item, index) in userTypeList"
@@ -75,7 +82,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属地市:" :label-width="formLabelWidth" prop="city">
<el-form-item label="所属地市:" prop="city">
<el-select
v-model="form.city"
clearable
@@ -94,7 +101,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="归口管理部门:" :label-width="formLabelWidth" prop="responsibleDepartment">
<el-form-item label="归口管理部门:" prop="responsibleDepartment">
<el-input
v-model="form.responsibleDepartment"
autocomplete="off"
@@ -104,7 +111,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工程名称:" :label-width="formLabelWidth" prop="projectName">
<el-form-item label="工程名称:" prop="projectName">
<el-input
v-model="form.projectName"
autocomplete="off"
@@ -116,7 +123,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户状态:" :label-width="formLabelWidth" prop="userStatus">
<el-form-item label="用户状态:" prop="userStatus">
<el-select
v-model="form.userStatus"
placeholder="请选择用户状态"
@@ -133,7 +140,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="变电站:" :label-width="formLabelWidth" prop="substation">
<el-form-item label="变电站:" prop="substation">
<el-input
v-model="form.substation"
autocomplete="off"
@@ -145,7 +152,7 @@
</el-row>
<el-row v-if="form.userType == '0' || form.userType == '1'">
<el-col :span="12">
<el-form-item label="用户协议容量:" :label-width="formLabelWidth" prop="agreementCapacity">
<el-form-item label="用户协议容量:" prop="agreementCapacity">
<el-input
v-model="form.agreementCapacity"
autocomplete="off"
@@ -157,7 +164,7 @@
<el-col :span="12">
<el-form-item
label="非线性设备类型:"
:label-width="formLabelWidth"
class="label_over_warp"
prop="nonlinearDeviceType"
>
@@ -174,14 +181,14 @@
v-model="form.nonlinearDeviceType"
:data="nonlinearDeviceTypeList"
:render-after-expand="false"
style="width: 240px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="电压等级:" :label-width="formLabelWidth" prop="voltageLevel">
<el-form-item label="电压等级:" prop="voltageLevel">
<el-select
v-model="form.voltageLevel"
placeholder="请选择电压等级"
@@ -198,7 +205,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="预测评估单位:" :label-width="formLabelWidth" prop="evaluationDept">
<el-form-item label="预测评估单位:" prop="evaluationDept">
<el-select
v-model="form.evaluationDept"
placeholder="请选择预测评估单位"
@@ -216,7 +223,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否需要治理:" :label-width="formLabelWidth" prop="needGovernance">
<el-form-item label="是否需要治理:" prop="needGovernance">
<el-radio-group v-model="form.needGovernance" :disabled="openType == 'detail'">
<el-radio :value="1"></el-radio>
<el-radio :value="0"></el-radio>
@@ -226,7 +233,7 @@
<el-col :span="12">
<el-form-item
label="是否开展背景测试:"
:label-width="formLabelWidth"
prop="backgroundTestPerformed"
class="label_over_warp"
>
@@ -240,7 +247,7 @@
<el-row v-if="form.userType != '0' && form.userType != '1'">
<el-col :span="12">
<el-form-item label="评估类型:" :label-width="formLabelWidth" prop="evaluationType">
<el-form-item label="评估类型:" prop="evaluationType">
<el-select
v-model="form.evaluationType"
placeholder="请选择评估类型"
@@ -256,7 +263,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="PCC点" :label-width="formLabelWidth" prop="pccPoint">
<el-form-item label="PCC点" prop="pccPoint">
<el-input
v-model="form.pccPoint"
autocomplete="off"
@@ -268,7 +275,7 @@
</el-row>
<el-row v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'">
<el-col :span="12">
<el-form-item label="基准短路容量:" :label-width="formLabelWidth" prop="baseShortCircuitCapacity">
<el-form-item label="基准短路容量:" prop="baseShortCircuitCapacity">
<el-input
v-model="form.baseShortCircuitCapacity"
placeholder="请输入基准短路容量"
@@ -281,7 +288,7 @@
<el-col :span="12">
<el-form-item
label="系统最小短路容量:"
:label-width="formLabelWidth"
class="label_over_warp"
prop="minShortCircuitCapacity"
>
@@ -300,7 +307,7 @@
<el-col :span="12">
<el-form-item
label="PCC供电设备容量"
:label-width="formLabelWidth"
class="label_over_warp"
prop="pccEquipmentCapacity"
>
@@ -316,7 +323,7 @@
<el-col :span="12">
<el-form-item
label="用户用电协议容量:"
:label-width="formLabelWidth"
class="label_over_warp"
prop="userAgreementCapacity"
>
@@ -334,7 +341,7 @@
<el-row v-if="form.userType == '6'">
<el-col :span="12">
<el-form-item label="行业:" :label-width="formLabelWidth" prop="industry">
<el-form-item label="行业:" prop="industry">
<el-select v-model="form.industry" placeholder="请选择行业" :disabled="openType == 'detail'">
<el-option
v-for="(item, index) in industryList"
@@ -346,7 +353,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="敏感装置名称:" prop="deviceName" :label-width="formLabelWidth">
<el-form-item label="敏感装置名称:" prop="deviceName" >
<el-input
v-model="form.deviceName"
autocomplete="off"
@@ -356,9 +363,9 @@
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.userType == '6'">
<el-row v-if="form.userType == '6'">
<el-col :span="12">
<el-form-item label="供电电源数量:" prop="powerSupplyCount" :label-width="formLabelWidth">
<el-form-item label="供电电源数量:" prop="powerSupplyCount" >
<el-input-number
style="width: 100%"
v-model="form.powerSupplyCount"
@@ -372,7 +379,7 @@
<el-form-item
label="敏感电能质量指标:"
prop="energyQualityIndex"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-select
@@ -398,7 +405,7 @@
<el-form-item
label="非线性负荷类型:"
prop="nonlinearLoadType"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-tree-select
@@ -414,7 +421,7 @@
v-model="form.nonlinearLoadType"
:data="nonlinearDeviceTypeList"
:render-after-expand="false"
style="width: 240px"
/>
</el-form-item>
</el-col>
@@ -422,7 +429,7 @@
<el-form-item
label="是否开展抗扰度测试:"
prop="antiInterferenceTest"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-radio-group v-model="form.antiInterferenceTest" :disabled="openType == 'detail'">
@@ -435,7 +442,7 @@
<el-form-item
label="预测评估评审单位:"
prop="evaluationChekDept"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-input
@@ -449,7 +456,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="预测评估结论:" prop="evaluationConclusion" :label-width="formLabelWidth">
<el-form-item label="预测评估结论:" prop="evaluationConclusion" >
<el-input
v-model="form.evaluationConclusion"
autocomplete="off"
@@ -458,9 +465,9 @@
/>
</el-form-item>
</el-col>
<el-col :span="12" class="required_position">
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item label="可研报告:" prop="feasibilityReport" :label-width="formLabelWidth">
<el-form-item label="可研报告:" prop="feasibilityReport" >
<el-upload
v-model:file-list="form.feasibilityReport"
ref="uploadRef"
@@ -479,13 +486,13 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item
label="项目初步设计说明书:"
prop="preliminaryDesignDescription"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-upload
@@ -510,7 +517,7 @@
<el-form-item
label="预测评估报告:"
prop="predictionEvaluationReport"
:label-width="formLabelWidth"
>
<el-upload
v-model:file-list="form.predictionEvaluationReport"
@@ -536,7 +543,7 @@
<el-form-item
label="预测评估评审意见报告:"
prop="predictionEvaluationReviewOpinions"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-upload
@@ -558,7 +565,7 @@
</el-col>
<el-col :span="12" class="required_position">
<span class="required_icon" style="color: #fff">*</span>
<el-form-item label="其他附件:" prop="additionalAttachments" :label-width="formLabelWidth">
<el-form-item label="其他附件:" prop="additionalAttachments" >
<el-upload
v-model:file-list="form.additionalAttachments"
ref="uploadRef"
@@ -582,7 +589,7 @@
<span class="required_icon">*</span>
<el-form-item
label="用户接入变电站主接线示意图:"
:label-width="formLabelWidth"
class="label_over_warp"
prop="substationMainWiringDiagram"
>
@@ -607,7 +614,7 @@
<span class="required_icon">*</span>
<el-form-item
label="主要敏感设备清单:"
:label-width="formLabelWidth"
class="label_over_warp"
prop="sensitiveDevices"
>
@@ -635,7 +642,7 @@
<el-form-item
label="抗扰度测试报告:"
prop="antiInterferenceReport"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-upload
@@ -660,7 +667,7 @@
<el-form-item
label="背景电能质量测试报告:"
prop="powerQualityReport"
:label-width="formLabelWidth"
class="label_over_warp"
>
<el-upload
@@ -685,18 +692,21 @@
<template #footer>
<div class="dialog-footer">
<el-button @click="close()">取消</el-button>
<el-button type="primary" @click="confirmForm()">确定</el-button>
<el-button type="primary" @click="confirmForm()">确定</el-button>
</div>
</template>
</el-dialog>
</template>
<script lang="ts" setup>
import { ref, onMounted, reactive, defineExpose, defineProps, defineEmits, watch,onUnmounted } from 'vue'
import { ref, onMounted, reactive, defineExpose, defineProps, defineEmits, watch, onUnmounted } from 'vue'
// import { upload, insertTerminal, updateTerminal } from '@/api/process-boot/terminal'
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
import { genFileId, ElMessage } from 'element-plus'
import { useDictData } from '@/stores/dictData'
import type { ComponentSize, FormInstance, FormRules } from 'element-plus'
import { useAdminInfo } from '@/stores/adminInfo'
import { queryByAllCode } from '@/api/system-boot/dictTree'
import { uploadFile } from '@/api/system-boot/file'
// import moment from 'moment'
import { submitFormData } from '@/api/supervise/interfere/index'
defineProps({
@@ -708,9 +718,9 @@ defineProps({
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogFormVisible = ref(false)
const formLabelWidth = '120px'
const form:any = ref({})
const ruleFormRef:any = ref(null)
const form: any = ref({})
const ruleFormRef: any = ref(null)
//字典获取所属地市
const areaOptionList = dictData.getBasicData('jibei_area')
//字典获取敏感电能质量指标
@@ -780,7 +790,7 @@ const defaultProps = {
label: 'name',
key: 'id'
}
const nonlinearDeviceTypeList:any = ref('')
const nonlinearDeviceTypeList: any = ref('')
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const resetForm = () => {
@@ -808,8 +818,8 @@ const resetForm = () => {
pccPoint: '', //PCC点 1
evaluationType: evaluationTypeList[0].id, //评估类型 1
evaluationChekDept: '', //预测评估审单位 1
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址 1
powerQualityReport: [], //背景电能质量测试报告 1
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址 1
powerQualityReport: [], //背景电能质量测试报告 1
minShortCircuitCapacity: '', //系统最小短路容量MVA 1
userAgreementCapacity: '', //用户用电协议容量MVA 1
needGovernance: 0, //是否需要治理 1
@@ -823,8 +833,8 @@ const resetForm = () => {
powerSupplyCount: 0, //供电电源数量 1
energyQualityIndex: energyQualityIndexList[0].id, //敏感电能质量指标 1
antiInterferenceTest: 0, //是否开展抗扰度测试 1
sensitiveDevices: [], //主要敏感设备清单 1
antiInterferenceReport: [] //抗扰度测试报告 1
sensitiveDevices: [], //主要敏感设备清单 1
antiInterferenceReport: [] //抗扰度测试报告 1
}
form.value.reporter = adminInfo.$state.name
@@ -869,7 +879,7 @@ const handleCheckChange = data => {
form.value.nonlinearDeviceType = checkedNodes[0]
}
}
const subForm:any = ref({
const subForm: any = ref({
city: '', //所属地市
evaluationConclusion: '', //预测评估结论
evaluationDept: '', //预测评估单位
@@ -893,7 +903,7 @@ const subForm:any = ref({
needGovernance: 0,
nonlinearDeviceType: '',
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
state: 0
},
@@ -912,16 +922,16 @@ const subForm:any = ref({
pccEquipmentCapacity: 0,
pccPoint: '',
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
state: 0,
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址
userAgreementCapacity: 0
},
//userType=='6'
userReportSensitivePO: {
additionalAttachments: [], //其他附件告地址
antiInterferenceReport: [], //抗扰度测试报告
antiInterferenceReport: [], //抗扰度测试报告
antiInterferenceTest: '',
backgroundTestPerformed: 0,
deviceName: '',
@@ -933,14 +943,14 @@ const subForm:any = ref({
industry: '',
needGovernance: 0,
pccPoint: '',
powerQualityReport: [], //背景电能质量测试报告
powerQualityReport: [], //背景电能质量测试报告
powerSupplyCount: 0,
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
sensitiveDevices: [], //主要敏感设备清单
sensitiveDevices: [], //主要敏感设备清单
state: 0,
substationMainWiringDiagram: [] //用户接入变电站主接线示意图地址
substationMainWiringDiagram: [] //用户接入变电站主接线示意图地址
}
})
@@ -1248,7 +1258,7 @@ watch(
}
//处理填报日期时间格式
subForm.value.reportDate = window.XEUtils.toDateString(form.value.reportDate, 'yyyy-MM-dd')//moment(form.value.reportDate).format('YYYY-MM-DD')
subForm.value.reportDate = window.XEUtils.toDateString(form.value.reportDate, 'yyyy-MM-dd') //moment(form.value.reportDate).format('YYYY-MM-DD')
//userType==0,1
if (val.userType == '0' || val.userType == '1') {
subForm.value.userReportProjectPO = {
@@ -1260,7 +1270,7 @@ watch(
needGovernance: 0,
nonlinearDeviceType: '',
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
state: 0
}
@@ -1292,10 +1302,10 @@ watch(
pccEquipmentCapacity: 0,
pccPoint: '',
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
state: 0,
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址
userAgreementCapacity: 0
}
for (let key in val) {
@@ -1312,7 +1322,7 @@ watch(
if (val.userType == '6') {
subForm.value.userReportSensitivePO = {
additionalAttachments: [], //其他附件告地址
antiInterferenceReport: [], //抗扰度测试报告
antiInterferenceReport: [], //抗扰度测试报告
antiInterferenceTest: '',
backgroundTestPerformed: 0,
deviceName: '',
@@ -1324,14 +1334,14 @@ watch(
industry: '',
needGovernance: 0,
pccPoint: '',
powerQualityReport: [], //背景电能质量测试报告
powerQualityReport: [], //背景电能质量测试报告
powerSupplyCount: 0,
predictionEvaluationReport: [], //预测评估报告告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址
preliminaryDesignDescription: [], //项目初步设计说明书告地址
sensitiveDevices: [], //主要敏感设备清单
sensitiveDevices: [], //主要敏感设备清单
state: 0,
substationMainWiringDiagram: [] //用户接入变电站主接线示意图地址
substationMainWiringDiagram: [] //用户接入变电站主接线示意图地址
}
for (let key in val) {
if (subForm.value.userReportSensitivePO && subForm.value.userReportSensitivePO.hasOwnProperty(key)) {
@@ -1354,7 +1364,7 @@ const open = () => {
const close = () => {
//重置表单内容
//取消表单校验状态
ruleFormRef.value&&ruleFormRef.value.resetFields()
ruleFormRef.value && ruleFormRef.value.resetFields()
dialogFormVisible.value = false
emits('onSubmit')
resetForm()
@@ -1363,9 +1373,7 @@ onMounted(() => {
console.log()
})
const changeUserType = value => {
}
const changeUserType = value => {}
// 上传报告
const uploadRef = ref()
const handleExceed: UploadProps['onExceed'] = files => {
@@ -1674,4 +1682,8 @@ defineExpose({ open })
margin-left: 10px;
}
}
:deep(.el-upload-list__item-file-name) {
width: 250px;
text-align: left;
}
</style>