修改 电网一张图bug 技术监督新增 重新发起页面绘制

This commit is contained in:
GGJ
2024-06-02 17:55:37 +08:00
parent 91fa1f60e3
commit c7025c615f
16 changed files with 668 additions and 463 deletions

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog
v-model="dialogFormVisible"
title="用户档案录入"
:title="title"
width="65%"
:append-to-body="true"
:before-close="close"
@@ -161,7 +161,7 @@
<el-select v-model="form.evaluationType" placeholder="请选择评估类型">
<el-option
v-for="(item, index) in evaluationTypeList"
:key="indedx"
:key="index"
:label="item.name"
:value="item.id"
/>
@@ -464,7 +464,13 @@
</template>
</el-upload>
</el-form-item>
<el-form-item class="uploadFile" for="-" label="背景电能质量测试报告:" prop="powerQualityReport">
<el-form-item
class="uploadFile"
for="-"
v-if="form.userType == '6'"
label="背景电能质量测试报告:"
prop="powerQualityReport"
>
<el-upload
v-model:file-list="form.powerQualityReport"
ref="uploadRef"
@@ -501,7 +507,7 @@ 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 { submitFormData } from '@/api/supervision-boot/interfere/index'
import { submitFormData, getById } from '@/api/supervision-boot/interfere/index'
defineProps({
openType: {
type: String,
@@ -512,7 +518,7 @@ const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogFormVisible = ref(false)
// .doc,.docx,.xlsx,.xls,.pdf
const acceptType=''
const acceptType = ''
const form: any = ref({})
const ruleFormRef: any = ref(null)
//字典获取所属地市
@@ -532,52 +538,53 @@ const evaluationDeptList = dictData.getBasicData('evaluation_dept')
const userTypeList = reactive([
{
label: '新建电网工程',
value: '0'
value: 0
},
{
label: '扩建电网工程',
value: '1'
value: 1
},
{
label: '新建非线性负荷用户',
value: '2'
value: 2
},
{
label: '扩建非线性负荷用户',
value: '3'
value: 3
},
{
label: '新建新能源发电站',
value: '4'
value: 4
},
{
label: '扩建新能源发电站',
value: '5'
value: 5
},
{
label: '敏感及重要用户',
value: '6'
value: 6
}
])
//用户状态数组
const userStateList = reactive([
{
label: '可研',
value: '0'
value: 0
},
{
label: '建设',
value: '1'
value: 1
},
{
label: '运行',
value: '2'
value: 2
},
{
label: '退运',
value: '3'
value: 3
}
])
const title = ref('')
//获取非线性设备类型树形下拉
const defaultProps = {
children: 'children',
@@ -593,7 +600,7 @@ const resetForm = () => {
reportDate: new Date(), //填报日期 1
orgId: '', //填报部门 1
expectedProductionDate: '', //工程预期投产日期 1
userType: '0', //用户性质 1
userType: 0, //用户性质 1
city: areaOptionList[0].name, //所属地市 1
responsibleDepartment: '', //归口管理部门 1
userStatus: userStateList[0].value, //用户状态 1
@@ -684,7 +691,7 @@ const subForm: any = ref({
responsibleDepartment: '', //归口管理部门
substation: '', ////变电站
userStatus: '0', //用户状态
userType: '0', //用户性质
userType: 0, //用户性质
voltageLevel: '',
//userType=='0' '1'
userReportProjectPO: {
@@ -749,286 +756,46 @@ const subForm: any = ref({
//定义校验规则
const rules = ref({
reporter: [
{
required: true,
message: '请输入填报人',
trigger: 'blur'
}
],
reportDate: [
{
required: true,
message: '请选择填报日期',
trigger: 'change'
}
],
orgId: [
{
required: true,
message: '请选择填报部门',
trigger: 'change'
}
],
expectedProductionDate: [
{
required: true,
message: '请选择工程预期投产日期',
trigger: 'change'
}
],
userType: [
{
required: true,
message: '清选择用户性质',
trigger: 'change'
}
],
city: [
{
required: true,
message: '请选择所属地市',
trigger: 'change'
}
],
responsibleDepartment: [
{
required: true,
message: '请输入归口管理部门',
trigger: 'blur'
}
],
userStatus: [
{
required: true,
message: '请选择用户状态',
trigger: 'change'
}
],
projectName: [
{
required: true,
message: '请输入工程名称',
trigger: 'blur'
}
],
substation: [
{
required: true,
message: '请输入变电站',
trigger: 'blur'
}
],
voltageLevel: [
{
required: true,
message: '请选择电压等级',
trigger: 'change'
}
],
evaluationDept: [
{
required: true,
message: '请选择预测评估单位',
trigger: 'change'
}
],
evaluationConclusion: [
{
required: true,
message: '请输入预测评估结论',
trigger: 'blur'
}
],
agreementCapacity: [
{
required: true,
message: '请选择用户协议容量',
trigger: 'blur'
}
],
nonlinearDeviceType: [
{
required: true,
message: '请选择非线性设备类型',
trigger: 'change'
}
],
needGovernance: [
{
required: true,
message: '请选择是否需要治理',
trigger: 'change'
}
],
backgroundTestPerformed: [
{
required: true,
message: '请选择是否开展背景测试',
trigger: 'change'
}
],
state: [
{
required: true,
message: '请选择数据状态',
trigger: 'change'
}
],
pccPoint: [
{
required: true,
message: '请输入PCC点',
trigger: 'blur'
}
],
industry: [
{
required: true,
message: '请选择行业',
trigger: 'change'
}
],
deviceName: [
{
required: true,
message: '请输入敏感装置名称',
trigger: 'blur'
}
],
powerSupplyCount: [
{
required: true,
message: '请输入供电电源数量',
trigger: 'blur'
}
],
energyQualityIndex: [
{
required: true,
message: '请输入敏感电能质量指标',
trigger: 'blur'
}
],
evaluationType: [
{
required: true,
message: '请选择评估类型',
trigger: 'change'
}
],
antiInterferenceTest: [
{
required: true,
message: '请选择是否开展抗扰度测试',
trigger: 'change'
}
],
evaluationChekDept: [
{
required: true,
message: '请输入预测评估审单位',
trigger: 'blur'
}
],
baseShortCircuitCapacity: [
{
required: true,
message: '请输入基准短路容量',
trigger: 'blur'
}
],
minShortCircuitCapacity: [
{
required: true,
message: '请输入系统最小短路容量',
trigger: 'blur'
}
],
pccEquipmentCapacity: [
{
required: true,
message: '请输入PCC供电设备容量',
trigger: 'blur'
}
],
userAgreementCapacity: [
{
required: true,
message: '请输入用户用电协议容量',
trigger: 'blur'
}
],
nonlinearLoadType: [
{
required: true,
message: '请输入非线性负荷类型',
trigger: 'blur'
}
],
substationMainWiringDiagram: [
{
required: true,
message: '请上传用户接入变电站主接线示意图',
trigger: 'change'
}
],
sensitiveDevices: [
{
required: true,
message: '请上传主要敏感设备清单',
trigger: 'change'
}
],
antiInterferenceReport: [
{
required: true,
message: '请上传抗扰度测试报告',
trigger: 'change'
}
],
powerQualityReport: [
{
required: true,
message: '请上传背景电能质量测试报告',
trigger: 'change'
}
],
feasibilityReport: [
{
required: true,
message: '请上传可研报告',
trigger: 'blur'
}
],
preliminaryDesignDescription: [
{
required: true,
message: '请上传项目初步设计说明书',
trigger: 'blur'
}
],
predictionEvaluationReport: [
{
required: true,
message: '请上传预测评估报告',
trigger: 'blur'
}
],
predictionEvaluationReviewOpinions: [
{
required: true,
message: '请上传预测评估评审意见报告',
trigger: 'blur'
}
],
additionalAttachments: [
{
required: false,
message: '请上传其他附件',
trigger: 'blur'
}
]
reporter: [{ required: true, message: '请输入填报人', trigger: 'blur' }],
reportDate: [{ required: true, message: '请选择填报日期', trigger: 'change' }],
orgId: [{ required: true, message: '请选择填报部门', trigger: 'change' }],
expectedProductionDate: [{ required: true, message: '请选择工程预期投产日期', trigger: 'change' }],
userType: [{ required: true, message: '清选择用户性质', trigger: 'change' }],
city: [{ required: true, message: '请选择所属地市', trigger: 'change' }],
responsibleDepartment: [{ required: true, message: '请输入归口管理部门', trigger: 'blur' }],
userStatus: [{ required: true, message: '请选择用户状态', trigger: 'change' }],
projectName: [{ required: true, message: '请输入工程名称', trigger: 'blur' }],
substation: [{ required: true, message: '请输入变电站', trigger: 'blur' }],
voltageLevel: [{ required: true, message: '请选择电压等级', trigger: 'change' }],
evaluationDept: [{ required: true, message: '请选择预测评估单位', trigger: 'change' }],
evaluationConclusion: [{ required: true, message: '请输入预测评估结论', trigger: 'blur' }],
agreementCapacity: [{ required: true, message: '请选择用户协议容量', trigger: 'blur' }],
nonlinearDeviceType: [{ required: true, message: '请选择非线性设备类型', trigger: 'change' }],
needGovernance: [{ required: true, message: '请选择是否需要治理', trigger: 'change' }],
backgroundTestPerformed: [{ required: true, message: '请选择是否开展背景测试', trigger: 'change' }],
state: [{ required: true, message: '请选择数据状态', trigger: 'change' }],
pccPoint: [{ required: true, message: '请输入PCC点', trigger: 'blur' }],
industry: [{ required: true, message: '请选择行业', trigger: 'change' }],
deviceName: [{ required: true, message: '请输入敏感装置名称', trigger: 'blur' }],
powerSupplyCount: [{ required: true, message: '请输入供电电源数量', trigger: 'blur' }],
energyQualityIndex: [{ required: true, message: '请输入敏感电能质量指标', trigger: 'blur' }],
evaluationType: [{ required: true, message: '请选择评估类型', trigger: 'change' }],
antiInterferenceTest: [{ required: true, message: '请选择是否开展抗扰度测试', trigger: 'change' }],
evaluationChekDept: [{ required: true, message: '请输入预测评估审单位', trigger: 'blur' }],
baseShortCircuitCapacity: [{ required: true, message: '请输入基准短路容量', trigger: 'blur' }],
minShortCircuitCapacity: [{ required: true, message: '请输入系统最小短路容量', trigger: 'blur' }],
pccEquipmentCapacity: [{ required: true, message: '请输入PCC供电设备容量', trigger: 'blur' }],
userAgreementCapacity: [{ required: true, message: '请输入用户用电协议容量', trigger: 'blur' }],
nonlinearLoadType: [{ required: true, message: '请输入非线性负荷类型', trigger: 'blur' }],
substationMainWiringDiagram: [{ required: true, message: '请上传用户接入变电站主接线示意图', trigger: 'change' }],
sensitiveDevices: [{ required: true, message: '请上传主要敏感设备清单', trigger: 'change' }],
antiInterferenceReport: [{ required: true, message: '请上传抗扰度测试报告', trigger: 'change' }],
powerQualityReport: [{ required: true, message: '请上传背景电能质量测试报告', trigger: 'change' }],
feasibilityReport: [{ required: true, message: '请上传可研报告', trigger: 'blur' }],
preliminaryDesignDescription: [{ required: true, message: '请上传项目初步设计说明书', trigger: 'blur' }],
predictionEvaluationReport: [{ required: true, message: '请上传预测评估报告', trigger: 'blur' }],
predictionEvaluationReviewOpinions: [{ required: true, message: '请上传预测评估评审意见报告', trigger: 'blur' }],
additionalAttachments: [{ required: false, message: '请上传其他附件', trigger: 'blur' }]
})
watch(
() => form.value,
@@ -1137,8 +904,63 @@ watch(
deep: true
}
)
const open = () => {
const open = async (row: any) => {
title.value = row.title
dialogFormVisible.value = true
if (row.row) {
await getById({ id: row.row.id }).then(res => {
// form.value.userType = res.data.userType
if (res.data.userReportProjectPO != null) {
// userType 0 1
form.value = { ...res.data, ...res.data.userReportProjectPO }
fileRaw(res.data, 'userReportProjectPO')
} else if (res.data.userReportSubstationPO != null) {
// userType 2 3 4 5
form.value = { ...res.data, ...res.data.userReportSubstationPO }
fileRaw(res.data, 'userReportSubstationPO')
} else if (res.data.userReportSensitivePO != null) {
// userType6
form.value = { ...res.data, ...res.data.userReportSensitivePO }
fileRaw(res.data, 'userReportSensitivePO')
}
form.value.orgId = adminInfo.$state.deptName
})
}
}
// 处理上传文件回显
const fileRaw = (row: any, key: string) => {
let list = [
'feasibilityReport',
'preliminaryDesignDescription',
'predictionEvaluationReport',
'predictionEvaluationReviewOpinions',
'additionalAttachments',
'substationMainWiringDiagram',
'sensitiveDevices',
'antiInterferenceReport',
'powerQualityReport'
]
for (let k of list) {
if (row[key][k]) {
form.value[k] = [
{
name: row[key][k].split('/')[2]
}
]
}
}
feasibilityReport.value = row[key].feasibilityReport
preliminaryDesignDescription.value = row[key].preliminaryDesignDescription
predictionEvaluationReport.value = row[key].predictionEvaluationReport
predictionEvaluationReviewOpinions.value = row[key].predictionEvaluationReviewOpinions
additionalAttachments.value = row[key].additionalAttachments
substationMainWiringDiagram.value = row[key].substationMainWiringDiagram
sensitiveDevices.value = row[key].sensitiveDevices
antiInterferenceReport.value = row[key].antiInterferenceReport
powerQualityReport.value = row.powerQualityReport
}
const close = () => {
//重置表单内容
@@ -1167,7 +989,7 @@ const uploadFileName = val => {
uploadName.value = val
}
//移除文件上传
const removeFile = (file: any,uploadFiles:any) => {
const removeFile = (file: any, uploadFiles: any) => {
console.log(file, uploadFiles)
}
// 可研报告数组
@@ -1189,6 +1011,7 @@ const antiInterferenceReport = ref('')
//背景电能质量测试报告:
const powerQualityReport = ref('')
const choose = (e: any) => {
// console.log('🚀 ~ choose ~ e:', e)
uploadFile(e.raw, '/supervision/').then(res => {
//可研报告
if (uploadName.value == 'feasibilityReport') {
@@ -1235,7 +1058,7 @@ const disabledDate = time => {
}
//提交
const confirmForm = () => {
ruleFormRef.value.validate(valid => {
ruleFormRef.value.validate((valid: any) => {
if (valid) {
//整理上传文件的数据
// userType==0,1
@@ -1395,17 +1218,21 @@ const confirmForm = () => {
}
}
}
submitFormData(confirmFormData).then(res => {
if (res.code == 'A0000') {
ElMessage({
message: '新增成功',
type: 'success'
})
ruleFormRef.value.resetFields()
resetForm()
close()
}
})
if (title.value == '用户档案录入') {
submitFormData(confirmFormData).then(res => {
if (res.code == 'A0000') {
ElMessage({
message: '新增成功',
type: 'success'
})
ruleFormRef.value.resetFields()
resetForm()
close()
}
})
} else {
console.log(confirmFormData)
}
} else {
console.log('表单验证失败')
return false