干扰源常态化管理页面

This commit is contained in:
cdf
2024-05-21 10:56:32 +08:00
parent 01cd8e2fb8
commit f2c90cd134
8 changed files with 59 additions and 173 deletions

View File

@@ -126,13 +126,6 @@ export const adminBaseRoute = {
meta: { meta: {
title: pageTitle('router.programReview') title: pageTitle('router.programReview')
} }
},{
path: 'projectTreatInter',
component: () => import('@/views/pqs/supervise/interfere/components/normalizationManager/projectTreat.vue'),
name: 'projectTreat',
meta: {
title: pageTitle('router.projectTreat')
}
}, },
// { // {
// path: 'manager/model/edit', // path: 'manager/model/edit',

View File

@@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
v-model='dialogFormVisible' v-model='dialogFormVisible'
title='入网评估报告' :title=titleButton
width='70%' width='70%'
:append-to-body='true' :append-to-body='true'
@@ -164,7 +164,7 @@
<el-divider content-position="left">入网评估报告</el-divider> <el-divider content-position="left">{{ titleButton }}</el-divider>
<el-row style='margin-top: 25px'> <el-row style='margin-top: 25px'>
<el-col :span='12'> <el-col :span='12'>
<el-form-item label='填报人:' prop='reporter'> <el-form-item label='填报人:' prop='reporter'>
@@ -199,7 +199,7 @@
<el-row> <el-row>
<el-col :span='12' class='required_position'> <el-col :span='12' class='required_position'>
<span class='required_icon'>*</span> <span class='required_icon'>*</span>
<el-form-item label='预测评估报告:' prop='goToNetReport'> <el-form-item :label="bussType == 0?'入网设计方案审查报告':'治理工程验收报告'" prop='goToNetReport'>
<el-upload <el-upload
v-model:file-list='form.goToNetReport' v-model:file-list='form.goToNetReport'
ref='uploadRef' ref='uploadRef'
@@ -228,7 +228,7 @@
</template> </template>
<script lang='ts' setup> <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 type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
import { genFileId, ElMessage } from 'element-plus' import { genFileId, ElMessage } from 'element-plus'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
@@ -246,6 +246,12 @@ const props = defineProps({
}, },
id: { id: {
type: String type: String
},
bussType:{
type: Number
},
titleButton:{
type: String
} }
}) })
const emits = defineEmits(['onSubmit']) const emits = defineEmits(['onSubmit'])
@@ -431,13 +437,29 @@ const choose = (e: any) => {
//提交 //提交
const confirmForm = () => { const confirmForm = () => {
if(goToNetReport.value ==null ||goToNetReport.value ==''){
return ElMessage({
message: '请上传报告',
type: 'warning'
})
return;
}
let data = { let data = {
type: 0, type: props.bussType,
userReportId: props.id, userReportId: props.id,
reportUrl: goToNetReport.value reportUrl: goToNetReport.value
} }
submitGoNet(data).then(res => { submitGoNet(data).then((res:any) => {
close() if(res.code==='A0000'){
return ElMessage({
message: '新建流程成功',
type: 'success'
})
close()
getInfo()
}
}) })
} }
defineExpose({ open }) defineExpose({ open })

View File

@@ -260,8 +260,10 @@
</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-item>
</el-descriptions> </el-descriptions>
<el-divider content-position="left">入网评估方案申请</el-divider> <el-divider content-position="left">{{ applyTitle+"填报信息" }}</el-divider>
<el-descriptions :column='2' border> <el-descriptions :column='2' border>
<el-descriptions-item label='填报人'> <el-descriptions-item label='填报人'>
{{ detailData.reporter }} {{ detailData.reporter }}
@@ -272,12 +274,9 @@
<el-descriptions-item label='填报部门'> <el-descriptions-item label='填报部门'>
{{ detailData.orgName }} {{ detailData.orgName }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label='入网方案报告'> <el-descriptions-item :label="applyTitle+'报告'">
<span> <el-icon><Link /></el-icon>
<el-icon><Link /></el-icon> <a :href='proviteData?.otherReport.url'>啊啊啊啊</a>
<a :href='proviteData.feasibilityReport.url'>{{ proviteData.feasibilityReport.name }}</a>
</span>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
@@ -299,7 +298,8 @@ defineOptions({ name: 'BpmUserReportDetail' })
const { query } = useRoute() // 查询参数 const { query } = useRoute() // 查询参数
const props = defineProps({ const props = defineProps({
id: propTypes.string.def(undefined) id: propTypes.string.def(undefined),
applyTitle: propTypes.string.def(undefined)
}) })
const detailLoading = ref(false) // 表单的加载中 const detailLoading = ref(false) // 表单的加载中
const detailData = ref<any>({}) // 详情数据 const detailData = ref<any>({}) // 详情数据
@@ -374,6 +374,7 @@ const getInfo = async () => {
userReportGoNetById({id:props.id}).then(r => { userReportGoNetById({id:props.id}).then(r => {
getUserReportById(r.data.userReportId).then(res => { getUserReportById(r.data.userReportId).then(res => {
detailData.value = res.data detailData.value = res.data
detailData.value.otherReport = r.data.otherReport
getProviteData() getProviteData()
}) })
}) })
@@ -406,6 +407,7 @@ const getProviteData = async () => {
} else { } else {
proviteData.value = detailData.value.userReportSensitivePO proviteData.value = detailData.value.userReportSensitivePO
} }
proviteData.value.otherReport = detailData.value.otherReport
console.log(proviteData.value, '++++++++++++proviteData.evaluationType') console.log(proviteData.value, '++++++++++++proviteData.evaluationType')
//可研报告 //可研报告
if (proviteData.value.feasibilityReport) { if (proviteData.value.feasibilityReport) {
@@ -449,7 +451,11 @@ const getProviteData = async () => {
//其他附件 //其他附件
if (proviteData.value.additionalAttachments) { if (proviteData.value.additionalAttachments) {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments') await getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
if (proviteData.value.otherReport) {
await getFileNamePath(proviteData.value.otherReport, 'otherReport')
} }
} }
//根据文件名请求 //根据文件名请求
@@ -523,6 +529,14 @@ const getFileNamePath = async (val: any, pathName: any) => {
url: res.data.url url: res.data.url
} }
} }
//其他附件
else if (pathName == 'otherReport' && proviteData.value.otherReport) {
proviteData.value.otherReport = {
name: res.data.fileName,
url: res.data.url
}
}
} }
}) })
} }

View File

@@ -6,7 +6,7 @@
<el-input v-model='tableStore.table.params.searchValue' clearable></el-input> <el-input v-model='tableStore.table.params.searchValue' clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label='所属地市'> <el-form-item label='所属地市'>
<el-select v-model='tableStore.table.params.loadType' clearable placeholder='请选择所属地市'> <el-select v-model='tableStore.table.params.city' clearable placeholder='请选择所属地市'>
<el-option <el-option
v-for='item in areaOptionList' v-for='item in areaOptionList'
:key='item.id' :key='item.id'
@@ -109,7 +109,7 @@ const tableStore = new TableStore({
buttons: [ buttons: [
{ {
name: 'productSetting', name: 'productSetting',
title: '入网方案审查', title: '入网设计方案审查',
type: 'primary', type: 'primary',
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',
@@ -119,7 +119,7 @@ const tableStore = new TableStore({
}, },
{ {
name: 'productSetting', name: 'productSetting',
title: '治理工程审查', title: '治理工程验收',
type: 'primary', type: 'primary',
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',

View File

@@ -25,7 +25,7 @@
<Table ref='tableRef' /> <Table ref='tableRef' />
<addForm v-if='dialogVisible' ref='addForms' :id='bussId' openType = 'detail'></addForm> <addForm v-if='dialogVisible' ref='addForms' :id='bussId' :bussType='bussType' :title='titleButton' openType = 'detail' ></addForm>
</div> </div>
</template> </template>
@@ -140,9 +140,9 @@ bussType.value =Number(currentRoute.value.query.type)
const titleButton = ref() const titleButton = ref()
if(bussType.value === 0){ if(bussType.value === 0){
titleButton.value='入网评估方案' titleButton.value='入网设计方案审查'
}else{ }else{
titleButton.value='治理工程' titleButton.value='治理工程验收'
} }
provide('tableStore', tableStore) provide('tableStore', tableStore)

View File

@@ -1,142 +0,0 @@
<template>
<div>
<TableHeader ref='TableHeaderRef'>
<template #select>
<el-form-item label='工程名称'>
<el-input v-model='tableStore.table.params.searchValue' clearable></el-input>
</el-form-item>
<el-form-item label='所属地市'>
<el-select v-model='tableStore.table.params.loadType' clearable placeholder='请选择所属地市'>
<el-option
v-for='item in areaOptionList'
:key='item.id'
:label='item.name'
:value='item.id'
></el-option>
</el-select>
</el-form-item>
</template>
<template #operation>
<el-button icon='' type='primary'>新增治理方案</el-button>
<el-button style='margin-left: 50px' :icon='Back' @click='go(-1)'>返回</el-button>
</template>
</TableHeader>
<Table ref='tableRef' />
</div>
</template>
<script setup lang='ts'>
defineOptions({
name: 'projectTreat'
})
import { ref, onMounted, provide, nextTick } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { useDictData } from '@/stores/dictData'
import { useRouter } from 'vue-router'
import { Back } from '@element-plus/icons-vue'
const { go } = useRouter()
const dictData = useDictData()
const areaOptionList = dictData.getBasicData('jibei_area')
const TableHeaderRef = ref()
const tableStore = new TableStore({
url: '/supervision-boot/userReport/getInterferenceUserPage',
method: 'POST',
column: [
{ title: '序号', type: 'seq', width: 80 },
{ field: 'projectName', title: '工程名称', minWidth: 170 },
{
field: 'userType',
title: '用户性质',
minWidth: 150,
formatter: (obj: any) => {
const userType = obj.row.userType
return getUserTypeName(userType)
}
},
{ field: 'city', title: '所属地市', minWidth: 80 },
{ field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
{
field: 'userStatus',
title: '用户状态',
minWidth: 100,
render: 'tag',
custom: {
0: 'primary',
1: 'primary',
2: 'success',
3: 'warning'
},
replaceValue: {
0: '可研',
1: '建设',
2: '运行',
3: '退运'
}
},
{ field: 'substation', title: '变电站', minWidth: 100 },
{
title: '操作',
minWidth: 180,
fixed: 'right',
render: 'buttons',
buttons: [
]
}
],
beforeSearchFun: () => {
tableStore.table.params.city = tableStore.table.params.deptIndex
}
})
tableStore.table.params.loadType = ''
tableStore.table.params.userName = ''
tableStore.table.params.relationUserName = ''
tableStore.table.params.aisFileUpload = ''
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
/**获取用户性质*/
const getUserTypeName = (userType: any) => {
if (userType === 0) {
return '新建电网工程'
}
if (userType === 1) {
return '扩建电网工程'
}
if (userType === 2) {
return '新建非线性负荷用户'
}
if (userType === 3) {
return '扩建非线性负荷用户'
}
if (userType === 4) {
return '新建新能源发电站'
}
if (userType === 5) {
return '扩建新能源发电站'
}
if (userType === 6) {
return '敏感及重要用户'
}
return '新建电网工程'
}
</script>

View File

@@ -147,7 +147,6 @@ const addForms = ref()
const addFormModel = () => { const addFormModel = () => {
show.value=true show.value=true
setTimeout(() => { setTimeout(() => {
addForms.value.open() addForms.value.open()
}, 0); }, 0);

View File

@@ -118,7 +118,7 @@
</el-col> </el-col>
<!-- 情况二:业务表单 --> <!-- 情况二:业务表单 -->
<div v-if='processInstance?.processDefinition?.formType === 20'> <div v-if='processInstance?.processDefinition?.formType === 20'>
<BusinessFormComponent :id='processInstance.businessKey' /> <BusinessFormComponent :id='processInstance.businessKey' :applyTitle='processInstance.name' />
</div> </div>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>