干扰源常态化管理页面
This commit is contained in:
@@ -14,3 +14,21 @@ export const submitFormData = (data: any) => {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const submitGoNet = (data: any) => {
|
||||||
|
return createAxios({
|
||||||
|
url: '/supervision-boot/userReportNormal/addUserReportNormal',
|
||||||
|
method: 'POST',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const userReportGoNetById = (data: any) => {
|
||||||
|
return createAxios({
|
||||||
|
url: '/supervision-boot/userReportNormal/userReportGoNetById',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,3 +27,6 @@ export const getUserReportById = (id: any) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,506 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-model='dialogFormVisible'
|
||||||
|
title='入网评估报告'
|
||||||
|
width='70%'
|
||||||
|
|
||||||
|
:append-to-body='true'
|
||||||
|
:before-close='close'
|
||||||
|
:close-on-click-modal='false'
|
||||||
|
draggable
|
||||||
|
>
|
||||||
|
<!-- 用户档案录入 新建1 -->
|
||||||
|
<el-form
|
||||||
|
:model='form'
|
||||||
|
class='“form-two”'
|
||||||
|
:validate-on-rule-change='false'
|
||||||
|
:scroll-to-error='true'
|
||||||
|
ref='ruleFormRef'
|
||||||
|
label-width='120px'
|
||||||
|
>
|
||||||
|
<el-divider content-position="left">干扰源用户基本信息</el-divider>
|
||||||
|
<el-row style='margin-top: 25px'>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='用户性质:' prop='userType'>
|
||||||
|
<el-select v-model='form.userType' placeholder='请选择用户性质' :disabled="openType == 'detail'">
|
||||||
|
<el-option
|
||||||
|
v-for='(item, index) in userTypeList'
|
||||||
|
:label='item.label'
|
||||||
|
:value='item.value'
|
||||||
|
:key='index'
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='所属地市:' prop='city'>
|
||||||
|
<el-select
|
||||||
|
v-model='form.city'
|
||||||
|
clearable
|
||||||
|
placeholder='请选择所属地市'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for='item in areaOptionList'
|
||||||
|
:key='item.id'
|
||||||
|
:label='item.name'
|
||||||
|
:value='item.name'
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='归口管理部门:' prop='responsibleDepartment'>
|
||||||
|
<el-input
|
||||||
|
v-model='form.responsibleDepartment'
|
||||||
|
autocomplete='off'
|
||||||
|
placeholder='请输入归口管理部门'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='工程名称:' prop='projectName'>
|
||||||
|
<el-input
|
||||||
|
v-model='form.projectName'
|
||||||
|
autocomplete='off'
|
||||||
|
placeholder='请输入工程名称'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='用户状态:' prop='userStatus'>
|
||||||
|
<el-select
|
||||||
|
v-model='form.userStatus'
|
||||||
|
placeholder='请选择用户状态'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for='(item, index) in userStateList'
|
||||||
|
:label='item.label'
|
||||||
|
:value='item.value'
|
||||||
|
:disabled="item.label != '可研'"
|
||||||
|
:key='index'
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='变电站:' prop='substation'>
|
||||||
|
<el-input
|
||||||
|
v-model='form.substation'
|
||||||
|
autocomplete='off'
|
||||||
|
placeholder='请输入变电站'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row v-if="form.userType == '0' || form.userType == '1'">
|
||||||
|
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='电压等级:' prop='voltageLevel'>
|
||||||
|
<el-select
|
||||||
|
v-model='form.voltageLevel'
|
||||||
|
placeholder='请选择电压等级'
|
||||||
|
node-key='id'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for='(item, index) in voltageLevelList'
|
||||||
|
:label='item.name'
|
||||||
|
:value='item.id'
|
||||||
|
:key='index'
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='预测评估单位:' prop='evaluationDept'>
|
||||||
|
<el-select
|
||||||
|
v-model='form.evaluationDept'
|
||||||
|
placeholder='请选择预测评估单位'
|
||||||
|
:disabled="openType == 'detail'"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for='(item, index) in evaluationDeptList'
|
||||||
|
:label='item.name'
|
||||||
|
:value='item.name'
|
||||||
|
:key='index'
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<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>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item
|
||||||
|
label='是否开展背景测试:'
|
||||||
|
|
||||||
|
prop='backgroundTestPerformed'
|
||||||
|
class='label_over_warp'
|
||||||
|
>
|
||||||
|
<el-radio-group v-model='form.backgroundTestPerformed' :disabled="openType == 'detail'">
|
||||||
|
<el-radio :value='1'>是</el-radio>
|
||||||
|
<el-radio :value='0'>否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<el-divider content-position="left">入网评估报告</el-divider>
|
||||||
|
<el-row style='margin-top: 25px'>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='填报人:' prop='reporter'>
|
||||||
|
<el-input
|
||||||
|
v-model='form.reporter'
|
||||||
|
autocomplete='off'
|
||||||
|
:disabled='true'
|
||||||
|
place-holder='请输入填报人'
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='填报日期:' prop='reportDate'>
|
||||||
|
<el-date-picker
|
||||||
|
:disabled='true'
|
||||||
|
style='width: 100%'
|
||||||
|
v-model='form.reportDate'
|
||||||
|
type='date'
|
||||||
|
placeholder='请选择填报日期'
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12'>
|
||||||
|
<el-form-item label='填报部门:' prop='orgId'>
|
||||||
|
<el-input v-model='form.orgId' :disabled='true' autocomplete='off' />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span='12' class='required_position'>
|
||||||
|
<span class='required_icon'>*</span>
|
||||||
|
<el-form-item label='预测评估报告:' prop='goToNetReport'>
|
||||||
|
<el-upload
|
||||||
|
v-model:file-list='form.goToNetReport'
|
||||||
|
ref='uploadRef'
|
||||||
|
action=''
|
||||||
|
accept='.doc,.docx,.xlsx,.xls,.pdf'
|
||||||
|
:limit='1'
|
||||||
|
:on-exceed='handleExceed'
|
||||||
|
:on-change='choose'
|
||||||
|
:auto-upload='false'
|
||||||
|
>
|
||||||
|
<template #trigger>
|
||||||
|
<el-button type='primary'>上传文件</el-button>
|
||||||
|
</template>
|
||||||
|
</el-upload>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<div class='dialog-footer'>
|
||||||
|
<el-button @click='close()'>取消</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 { 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 { getDictTreeById, queryByAllCode } from '@/api/system-boot/dictTree'
|
||||||
|
import { uploadFile } from '@/api/system-boot/file'
|
||||||
|
import { submitFormData, submitGoNet, userReportGoNetById } from '@/api/supervision-boot/interfere/index'
|
||||||
|
import { getUserReportById } from '@/api/supervision-boot/userReport/form'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
openType: {
|
||||||
|
type: String,
|
||||||
|
default: 'create'
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const emits = defineEmits(['onSubmit'])
|
||||||
|
const dictData = useDictData()
|
||||||
|
const dialogFormVisible = ref(false)
|
||||||
|
|
||||||
|
const form: any = ref({})
|
||||||
|
const ruleFormRef: any = ref(null)
|
||||||
|
//字典获取所属地市
|
||||||
|
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||||
|
//字典获取敏感电能质量指标
|
||||||
|
const energyQualityIndexList = dictData.getBasicData('Indicator_Type')
|
||||||
|
//字典获取行业类型
|
||||||
|
const industryList = dictData.getBasicData('industry_type_jb')
|
||||||
|
//字典电压等级
|
||||||
|
const voltageLevelList = dictData.getBasicData('Dev_Voltage_Stand')
|
||||||
|
//字典评估类型
|
||||||
|
const evaluationTypeList = dictData.getBasicData('Evaluation_Type')
|
||||||
|
//字典预测评估单位
|
||||||
|
const evaluationDeptList = dictData.getBasicData('evaluation_dept')
|
||||||
|
|
||||||
|
//用户性质数组
|
||||||
|
const userTypeList = reactive([
|
||||||
|
{
|
||||||
|
label: '新建电网工程',
|
||||||
|
value: 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '扩建电网工程',
|
||||||
|
value: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '新建非线性负荷用户',
|
||||||
|
value: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '扩建非线性负荷用户',
|
||||||
|
value: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '新建新能源发电站',
|
||||||
|
value: 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '扩建新能源发电站',
|
||||||
|
value: 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '敏感及重要用户',
|
||||||
|
value: 6
|
||||||
|
}
|
||||||
|
])
|
||||||
|
//用户状态数组
|
||||||
|
const userStateList = reactive([
|
||||||
|
{
|
||||||
|
label: '可研',
|
||||||
|
value: 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '建设',
|
||||||
|
value: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '运行',
|
||||||
|
value: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '退运',
|
||||||
|
value: 3
|
||||||
|
}
|
||||||
|
])
|
||||||
|
//获取非线性设备类型树形下拉
|
||||||
|
const defaultProps = {
|
||||||
|
children: 'children',
|
||||||
|
label: 'name',
|
||||||
|
key: 'id'
|
||||||
|
}
|
||||||
|
const nonlinearDeviceTypeList: any = ref('')
|
||||||
|
//获取登陆用户姓名和部门
|
||||||
|
const adminInfo = useAdminInfo()
|
||||||
|
const resetForm = () => {
|
||||||
|
form.value = {
|
||||||
|
reporter: '', //填报人 1
|
||||||
|
reportDate: new Date(), //填报日期 1
|
||||||
|
orgId: '', //填报部门 1
|
||||||
|
expectedProductionDate: '', //工程预期投产日期 1
|
||||||
|
userType: 0, //用户性质 1
|
||||||
|
city: areaOptionList[0].name, //所属地市 1
|
||||||
|
responsibleDepartment: '', //归口管理部门 1
|
||||||
|
userStatus: userStateList[0].value, //用户状态 1
|
||||||
|
projectName: '', //工程名称 1
|
||||||
|
substation: '', //变电站 1
|
||||||
|
voltageLevel: voltageLevelList[0].id, //电压等级 1
|
||||||
|
evaluationDept: evaluationDeptList[0].name, //预测评估单位 1
|
||||||
|
evaluationConclusion: '', //预测评估结论 1
|
||||||
|
backgroundTestPerformed: 0, //是否开展背景测试 1
|
||||||
|
feasibilityReport: [], // 可研报告告地址 1
|
||||||
|
preliminaryDesignDescription: [], //项目初步设计说明书告地址 1
|
||||||
|
predictionEvaluationReport: [], //预测评估报告地址 1
|
||||||
|
predictionEvaluationReviewOpinions: [], //预测评估评审意见报告地址 1
|
||||||
|
additionalAttachments: [], //其他附件告地址 1
|
||||||
|
state: '', //数据状态
|
||||||
|
pccPoint: '', //PCC点 1
|
||||||
|
evaluationType: evaluationTypeList[0].id, //评估类型 1
|
||||||
|
evaluationChekDept: '', //预测评估审单位 1
|
||||||
|
substationMainWiringDiagram: [], //用户接入变电站主接线示意图地址 1
|
||||||
|
powerQualityReport: [], //背景电能质量测试报告 1
|
||||||
|
minShortCircuitCapacity: '', //系统最小短路容量(MVA) 1
|
||||||
|
userAgreementCapacity: '', //用户用电协议容量(MVA) 1
|
||||||
|
needGovernance: 0, //是否需要治理 1
|
||||||
|
agreementCapacity: '', //用户协议容量 1
|
||||||
|
nonlinearDeviceType: '', //非线性设备类型 1
|
||||||
|
nonlinearLoadType: '', //非线性负荷类型 1
|
||||||
|
pccEquipmentCapacity: '', // PCC供电设备容量(MVA) 1
|
||||||
|
baseShortCircuitCapacity: '', //基准短路容量(MVA)1
|
||||||
|
industry: industryList[0].id, //行业 1
|
||||||
|
deviceName: '', //敏感装置名称 1
|
||||||
|
powerSupplyCount: 0, //供电电源数量 1
|
||||||
|
energyQualityIndex: energyQualityIndexList[0].id, //敏感电能质量指标 1
|
||||||
|
antiInterferenceTest: 0, //是否开展抗扰度测试 1
|
||||||
|
sensitiveDevices: [], //主要敏感设备清单 1
|
||||||
|
antiInterferenceReport: [] //抗扰度测试报告 1
|
||||||
|
}
|
||||||
|
form.value.reporter = adminInfo.$state.name
|
||||||
|
form.value.orgId = adminInfo.$state.deptName
|
||||||
|
}
|
||||||
|
//初始化数据
|
||||||
|
resetForm()
|
||||||
|
|
||||||
|
const detailLoading = ref(false) // 表单的加载中
|
||||||
|
const getInfo = async () => {
|
||||||
|
detailLoading.value = true
|
||||||
|
try {
|
||||||
|
await getUserReportById(props.id).then(res => {
|
||||||
|
form.value = res.data
|
||||||
|
form.value.reporter = adminInfo.$state.name
|
||||||
|
form.value.orgId = adminInfo.$state.deptName
|
||||||
|
form.value.reportDate = new Date()
|
||||||
|
})
|
||||||
|
} finally {
|
||||||
|
detailLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const treeRef = ref()
|
||||||
|
|
||||||
|
|
||||||
|
const open = () => {
|
||||||
|
dialogFormVisible.value = true
|
||||||
|
|
||||||
|
}
|
||||||
|
const close = () => {
|
||||||
|
//重置表单内容
|
||||||
|
dialogFormVisible.value = false
|
||||||
|
resetForm()
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
getInfo()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 上传报告
|
||||||
|
const uploadRef = ref()
|
||||||
|
const handleExceed: UploadProps['onExceed'] = files => {
|
||||||
|
uploadRef.value!.clearFiles()
|
||||||
|
const file = files[0] as UploadRawFile
|
||||||
|
file.uid = genFileId()
|
||||||
|
uploadRef.value!.handleStart(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 可研报告数组
|
||||||
|
const goToNetReport = ref('')
|
||||||
|
|
||||||
|
const choose = (e: any) => {
|
||||||
|
uploadFile(e.raw, '/supervision/').then(res => {
|
||||||
|
//可研报告
|
||||||
|
goToNetReport.value = res.data.name
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//提交
|
||||||
|
const confirmForm = () => {
|
||||||
|
let data = {
|
||||||
|
type: 0,
|
||||||
|
userReportId: props.id,
|
||||||
|
reportUrl: goToNetReport.value
|
||||||
|
}
|
||||||
|
submitGoNet(data).then(res => {
|
||||||
|
close()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
defineExpose({ open })
|
||||||
|
</script>
|
||||||
|
<style lang='scss' scoped>
|
||||||
|
|
||||||
|
|
||||||
|
/* 调整标签的换行行为 */
|
||||||
|
.label_over_warp::v-deep .el-form-item__label {
|
||||||
|
white-space: pre-line !important;
|
||||||
|
line-height: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item {
|
||||||
|
padding: 0 20px;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-form-item__label {
|
||||||
|
justify-content: flex-start !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-label-left-align {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-input__wrapper {
|
||||||
|
// border: 2px solid red;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-input-number .el-input__inner {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree__empty-text {
|
||||||
|
width: 200px !important;
|
||||||
|
margin-left: 150px !important;
|
||||||
|
top: 20% !important;
|
||||||
|
left: 50% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .required_position {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.required_icon {
|
||||||
|
position: absolute;
|
||||||
|
// left: 20px;
|
||||||
|
margin-top: 8px;
|
||||||
|
color: #f56c6c;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.required_text {
|
||||||
|
// padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item__label {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-upload-list__item-file-name) {
|
||||||
|
width: 250px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,15 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class='default-main'>
|
<div class='default-main'>
|
||||||
|
<el-divider style='' content-position="left">干扰源用户信息</el-divider>
|
||||||
<el-descriptions :column='2' border>
|
<el-descriptions :column='2' border>
|
||||||
<el-descriptions-item label='填报人'>
|
|
||||||
{{ detailData.reporter }}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label='填报日期'>
|
|
||||||
{{ formatDate(detailData.reportDate, 'YYYY-MM-DD') }}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label='填报部门'>
|
|
||||||
{{ detailData.orgName }}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label='工程预期投产日期'>
|
<el-descriptions-item label='工程预期投产日期'>
|
||||||
{{ formatDate(detailData.expectedProductionDate, 'YYYY-MM-DD') }}
|
{{ formatDate(detailData.expectedProductionDate, 'YYYY-MM-DD') }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@@ -187,11 +180,7 @@
|
|||||||
})?.name
|
})?.name
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label='可研报告'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <el-descriptions-item label='可研报告'>
|
|
||||||
<span v-if='detailData.userType == 0 || detailData.userType == 1'>
|
<span v-if='detailData.userType == 0 || detailData.userType == 1'>
|
||||||
<el-icon><Link /></el-icon>
|
<el-icon><Link /></el-icon>
|
||||||
<a :href='proviteData.feasibilityReport.url'>{{ proviteData.feasibilityReport.name }}</a>
|
<a :href='proviteData.feasibilityReport.url'>{{ proviteData.feasibilityReport.name }}</a>
|
||||||
@@ -270,28 +259,27 @@
|
|||||||
<Link />
|
<Link />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
<a :href='proviteData?.additionalAttachments.url'>{{ proviteData?.additionalAttachments.name }}</a>
|
<a :href='proviteData?.additionalAttachments.url'>{{ proviteData?.additionalAttachments.name }}</a>
|
||||||
</el-descriptions-item>-->
|
|
||||||
</el-descriptions>
|
|
||||||
|
|
||||||
<el-descriptions :column='2' border>
|
|
||||||
<el-descriptions-item label='入网预测评估报告'>
|
|
||||||
<el-upload
|
|
||||||
ref="uploadRef"
|
|
||||||
class="upload-demo"
|
|
||||||
:auto-upload="false">
|
|
||||||
<template #trigger>
|
|
||||||
<el-button type="primary">选择附件</el-button>
|
|
||||||
</template>
|
|
||||||
<!-- <template #tip>-->
|
|
||||||
<!-- <div class="el-upload__tip">-->
|
|
||||||
<!-- jpg/png files with a size less than 500kb-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </template>-->
|
|
||||||
</el-upload>
|
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
<el-divider content-position="left">入网评估方案申请</el-divider>
|
||||||
|
<el-descriptions :column='2' border>
|
||||||
|
<el-descriptions-item label='填报人'>
|
||||||
|
{{ detailData.reporter }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label='填报日期'>
|
||||||
|
{{ formatDate(detailData.reportDate, 'YYYY-MM-DD') }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label='填报部门'>
|
||||||
|
{{ detailData.orgName }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label='入网方案报告'>
|
||||||
|
<span>
|
||||||
|
<el-icon><Link /></el-icon>
|
||||||
|
<a :href='proviteData.feasibilityReport.url'>{{ proviteData.feasibilityReport.name }}</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang='ts' setup>
|
<script lang='ts' setup>
|
||||||
@@ -303,8 +291,8 @@ import { getUserReportById } from '@/api/supervision-boot/userReport/form'
|
|||||||
import { getDictTreeById } from '@/api/system-boot/dictTree'
|
import { getDictTreeById } from '@/api/system-boot/dictTree'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import { getFileNameAndFilePath } from '@/api/system-boot/file'
|
import { getFileNameAndFilePath } from '@/api/system-boot/file'
|
||||||
import type { UploadInstance } from 'element-plus'
|
|
||||||
import { Link } from '@element-plus/icons-vue'
|
import { Link } from '@element-plus/icons-vue'
|
||||||
|
import { userReportGoNetById } from '@/api/supervision-boot/interfere'
|
||||||
|
|
||||||
defineOptions({ name: 'BpmUserReportDetail' })
|
defineOptions({ name: 'BpmUserReportDetail' })
|
||||||
|
|
||||||
@@ -383,10 +371,12 @@ const evaluationDeptList = dictData.getBasicData('evaluation_dept')
|
|||||||
const getInfo = async () => {
|
const getInfo = async () => {
|
||||||
detailLoading.value = true
|
detailLoading.value = true
|
||||||
try {
|
try {
|
||||||
await getUserReportById(props.id || queryId).then(res => {
|
userReportGoNetById({id:props.id}).then(r => {
|
||||||
|
getUserReportById(r.data.userReportId).then(res => {
|
||||||
detailData.value = res.data
|
detailData.value = res.data
|
||||||
getProviteData()
|
getProviteData()
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} finally {
|
} finally {
|
||||||
detailLoading.value = false
|
detailLoading.value = false
|
||||||
}
|
}
|
||||||
@@ -538,16 +528,6 @@ const getFileNamePath = async (val: any, pathName: any) => {
|
|||||||
}
|
}
|
||||||
defineExpose({ open: getInfo }) // 提供 open 方法,用于打开弹窗
|
defineExpose({ open: getInfo }) // 提供 open 方法,用于打开弹窗
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const uploadRef = ref<UploadInstance>()
|
|
||||||
|
|
||||||
const submitUpload = () => {
|
|
||||||
uploadRef.value!.submit()
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getInfo()
|
getInfo()
|
||||||
@@ -564,4 +544,5 @@ onMounted(() => {
|
|||||||
position: absolute !important;
|
position: absolute !important;
|
||||||
top: 20px !important;
|
top: 20px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -23,11 +23,9 @@
|
|||||||
<Table ref='tableRef' />
|
<Table ref='tableRef' />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Dialog title='干扰源用户详细信息' v-model='dialogVisible' width='85%'>
|
<el-dialog title='干扰源用户详细信息' v-model='dialogVisible' width='85%'>
|
||||||
|
|
||||||
<BpmUserReportDetail :id='interId' style='max-height: 600px'></BpmUserReportDetail>
|
<BpmUserReportDetail :id='interId' style='max-height: 600px'></BpmUserReportDetail>
|
||||||
</Dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@@ -40,7 +38,6 @@ import TableStore from '@/utils/tableStore'
|
|||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import Dialog from '@/components/Dialog/src/Dialog.vue'
|
|
||||||
|
|
||||||
import BpmUserReportDetail from '../../components/undocumented/detail.vue'
|
import BpmUserReportDetail from '../../components/undocumented/detail.vue'
|
||||||
|
|
||||||
@@ -86,7 +83,8 @@ const tableStore = new TableStore({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: 'substation', title: '变电站', minWidth: 100 },
|
{ field: 'substation', title: '变电站', minWidth: 100 },
|
||||||
{ title: '详细信息',
|
{
|
||||||
|
title: '详细信息',
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
buttons: [
|
buttons: [
|
||||||
@@ -99,7 +97,7 @@ const tableStore = new TableStore({
|
|||||||
click: row => {
|
click: row => {
|
||||||
open(row.id)
|
open(row.id)
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -116,7 +114,7 @@ const tableStore = new TableStore({
|
|||||||
icon: 'el-icon-EditPen',
|
icon: 'el-icon-EditPen',
|
||||||
render: 'basicButton',
|
render: 'basicButton',
|
||||||
click: row => {
|
click: row => {
|
||||||
toFangAn(row.id,1)
|
toFangAn(row.id, 0)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -126,7 +124,7 @@ const tableStore = new TableStore({
|
|||||||
icon: 'el-icon-EditPen',
|
icon: 'el-icon-EditPen',
|
||||||
render: 'basicButton',
|
render: 'basicButton',
|
||||||
click: row => {
|
click: row => {
|
||||||
toFangAn(row.id,2)
|
toFangAn(row.id, 1)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -158,27 +156,18 @@ const open = async (id: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 方案审查 */
|
/** 方案审查 */
|
||||||
const toFangAn = (id: any,type:Number) => {
|
const toFangAn = (id: any, typeNo: number) => {
|
||||||
if(type == 1){
|
|
||||||
push({
|
push({
|
||||||
name: 'ProgramReview',
|
name: 'ProgramReview',
|
||||||
query: {
|
query: {
|
||||||
id: id
|
id: id,
|
||||||
|
type: typeNo
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else{
|
|
||||||
push({
|
|
||||||
name: 'projectTreat',
|
|
||||||
query: {
|
|
||||||
id: id
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**获取用户性质*/
|
/**获取用户性质*/
|
||||||
const getUserTypeName = (userType: any) => {
|
const getUserTypeName = (userType: any) => {
|
||||||
if (userType === 0) {
|
if (userType === 0) {
|
||||||
|
|||||||
@@ -17,46 +17,40 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template #operation>
|
<template #operation>
|
||||||
<el-button icon='' type='primary' @click='goNet()'>新增入网设计方案审查</el-button>
|
<el-button icon='' type='primary' @click='toGoNet()'>{{ titleButton }}</el-button>
|
||||||
|
|
||||||
<el-button style='margin-left: 50px' :icon='Back' @click='go(-1)'>返回</el-button>
|
<el-button style='margin-left: 50px' :icon='Back' @click='go(-1)'>返回</el-button>
|
||||||
</template>
|
</template>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<Table ref='tableRef' />
|
<Table ref='tableRef' />
|
||||||
|
|
||||||
|
|
||||||
|
<addForm v-if='dialogVisible' ref='addForms' :id='bussId' openType = 'detail'></addForm>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <el-dialog title='干扰源用户入网方案审查' v-model='dialogVisible' width='70%'>
|
|
||||||
<BpmUserReportDetail :id='interId' style='max-height: 600px'></BpmUserReportDetail>
|
|
||||||
</el-dialog>-->
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
|
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'ProgramReview'
|
name: 'ProgramReview'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
import { ref, onMounted, provide, nextTick } from 'vue'
|
import { ref, onMounted, provide, nextTick } from 'vue'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
|
import addForm from './addForm.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { Back } from '@element-plus/icons-vue'
|
import { Back } from '@element-plus/icons-vue'
|
||||||
import BpmUserReportDetail from '@/views/pqs/supervise/interfere/components/normalizationManager/detail.vue'
|
const { go,currentRoute,push } = useRouter()
|
||||||
const {go} = useRouter()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||||
|
|
||||||
|
|
||||||
const TableHeaderRef = ref()
|
const TableHeaderRef = ref()
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/supervision-boot/userReport/getInterferenceUserPage',
|
url: '/supervision-boot/userReportNormal/userReportGoNetPage',
|
||||||
|
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
column: [
|
column: [
|
||||||
@@ -92,39 +86,89 @@ const tableStore = new TableStore({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: 'substation', title: '变电站', minWidth: 100 },
|
{ field: 'substation', title: '变电站', minWidth: 100 },
|
||||||
|
{
|
||||||
|
field: 'status',
|
||||||
|
title: '审核状态',
|
||||||
|
minWidth: 100,
|
||||||
|
render: 'tag',
|
||||||
|
custom: {
|
||||||
|
1: 'primary',
|
||||||
|
2: 'success',
|
||||||
|
3: 'danger',
|
||||||
|
4: 'warning'
|
||||||
|
},
|
||||||
|
replaceValue: {
|
||||||
|
1: '审批中',
|
||||||
|
2: '审批通过',
|
||||||
|
3: '审批不通过',
|
||||||
|
4: '已取消'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'createTime', title: '创建时间', minWidth: 100 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
minWidth: 180,
|
minWidth: 180,
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
buttons: [
|
buttons: [
|
||||||
|
{
|
||||||
|
name: 'productSetting',
|
||||||
|
title: '流程详情',
|
||||||
|
type: 'primary',
|
||||||
|
icon: 'el-icon-EditPen',
|
||||||
|
render: 'basicButton',
|
||||||
|
click: row => {
|
||||||
|
handleAudit(row.processInstanceId)
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
beforeSearchFun: () => {
|
beforeSearchFun: () => {
|
||||||
tableStore.table.params.city = tableStore.table.params.deptIndex
|
tableStore.table.params.userReportId = bussId.value
|
||||||
|
tableStore.table.params.type = bussType.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
|
const bussId = ref()
|
||||||
|
bussId.value =currentRoute.value.query.id
|
||||||
|
|
||||||
|
const bussType = ref()
|
||||||
|
bussType.value =Number(currentRoute.value.query.type)
|
||||||
|
|
||||||
|
const titleButton = ref()
|
||||||
|
if(bussType.value === 0){
|
||||||
|
titleButton.value='入网评估方案'
|
||||||
|
}else{
|
||||||
|
titleButton.value='治理工程'
|
||||||
|
}
|
||||||
|
|
||||||
provide('tableStore', tableStore)
|
provide('tableStore', tableStore)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
//interId.value = currentRoute.value.query.id
|
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
/** 方案审查 */
|
|
||||||
const goNet = () => {
|
/** 处理审批按钮 */
|
||||||
dialogVisible.value = true
|
const handleAudit = (instanceId: any) => {
|
||||||
|
push({
|
||||||
|
name: 'BpmProcessInstanceDetail',
|
||||||
|
query: {
|
||||||
|
id: instanceId
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const addForms = ref()
|
||||||
|
const toGoNet=() => {
|
||||||
|
dialogVisible.value = true
|
||||||
|
setTimeout(() => {
|
||||||
|
addForms.value.open()
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**获取用户性质*/
|
/**获取用户性质*/
|
||||||
const getUserTypeName = (userType: any) => {
|
const getUserTypeName = (userType: any) => {
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ const { go } = useRouter()
|
|||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||||
|
|
||||||
const { push } = useRouter()
|
|
||||||
const TableHeaderRef = ref()
|
const TableHeaderRef = ref()
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/supervision-boot/userReport/getInterferenceUserPage',
|
url: '/supervision-boot/userReport/getInterferenceUserPage',
|
||||||
|
|||||||
@@ -320,6 +320,7 @@ const getProcessInstance = async () => {
|
|||||||
fApi.value?.disabled(true)
|
fApi.value?.disabled(true)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// 注意:data.processDefinition.formCustomViewPath 是组件的全路径,例如说:/crm/contract/detail/index.vue
|
// 注意:data.processDefinition.formCustomViewPath 是组件的全路径,例如说:/crm/contract/detail/index.vue
|
||||||
BusinessFormComponent.value = registerComponent(data.processDefinition.formCustomViewPath)
|
BusinessFormComponent.value = registerComponent(data.processDefinition.formCustomViewPath)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user