冀北项目添加表格导出功能 技术监督添加下载模版上传功能
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<TableHeader datePicker nextFlag theCurrentTime ref='TableHeaderRef'>
|
||||
<TableHeader datePicker nextFlag theCurrentTime showTimeAll showExport ref='TableHeaderRef'>
|
||||
<template #select>
|
||||
<el-form-item label='项目名称'>
|
||||
<el-input v-model='tableStore.table.params.projectName' placeholder='请输入项目名称' clearable maxlength="32"
|
||||
show-word-limit></el-input>
|
||||
<el-input v-model='tableStore.table.params.projectName' placeholder='请输入项目名称'></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label='所在地市'>
|
||||
<el-select v-model='tableStore.table.params.city' clearable placeholder='请选择所在地市'>
|
||||
<el-option v-for='item in areaOptionList' :key='item.id' :label='item.name' :value='item.name'></el-option>
|
||||
<el-option
|
||||
v-for='item in areaOptionList'
|
||||
:key='item.id'
|
||||
:label='item.name'
|
||||
:value='item.name'
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
@@ -16,39 +20,51 @@
|
||||
<!-- <el-button icon='el-icon-Download' type='primary'>导出</el-button> -->
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref='tableRef' />
|
||||
<Table ref='tableRef'/>
|
||||
</div>
|
||||
|
||||
<el-dialog title='干扰源用户详细信息' v-if='dialogVisible' v-model='dialogVisible' width='65%' :append-to-body='true'
|
||||
:close-on-click-modal='false' draggable>
|
||||
<el-dialog
|
||||
title='干扰源用户详细信息'
|
||||
v-if='dialogVisible'
|
||||
v-model='dialogVisible'
|
||||
width='65%'
|
||||
:append-to-body='true'
|
||||
:close-on-click-modal='false'
|
||||
draggable
|
||||
>
|
||||
<BpmUserReportDetail :id='interId' ref='detailsRef'></BpmUserReportDetail>
|
||||
</el-dialog>
|
||||
<!-- 查看详情 detail 新增/修改 create-->
|
||||
<addForm ref='addForms' @onSubmit='tableStore.index()' :update='update' :normalizedControl='true' openType='create'>
|
||||
</addForm>
|
||||
<addForm
|
||||
ref='addForms'
|
||||
@onSubmit='tableStore.index()'
|
||||
:update='update'
|
||||
:normalizedControl='true'
|
||||
openType='create'
|
||||
></addForm>
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
defineOptions({
|
||||
name: 'supervision/interferenceUserTable'
|
||||
})
|
||||
|
||||
import { ref, onMounted, provide, watch } from 'vue'
|
||||
import {ref, onMounted, provide, watch} 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 {useDictData} from '@/stores/dictData'
|
||||
import addForm from '@/views/pqs/supervise/interfere/components/undocumented/addForm.vue'
|
||||
import { getUserReportById, getUserReportByFangAnId } from '@/api/supervision-boot/interfere'
|
||||
import {getUserReportById, getUserReportByFangAnId} from '@/api/supervision-boot/interfere'
|
||||
import BpmUserReportDetail from '../../components/undocumented/detail.vue'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { userReportRenewalCancel } from '@/api/process-boot/generalTest'
|
||||
import {useAdminInfo} from '@/stores/adminInfo'
|
||||
import {ElMessage, ElMessageBox} from 'element-plus'
|
||||
import {userReportRenewalCancel} from '@/api/process-boot/generalTest'
|
||||
|
||||
const dictData = useDictData()
|
||||
const flag = ref(false)
|
||||
const areaOptionList = dictData
|
||||
.getBasicData('jibei_area')
|
||||
.filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
.getBasicData('jibei_area')
|
||||
.filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
const statusSelect = dictData.statusSelect()
|
||||
//获取登陆用户姓名和部门
|
||||
const adminInfo = useAdminInfo()
|
||||
@@ -57,31 +73,30 @@ const jb_dky = ref(false)
|
||||
const update = ref(false)
|
||||
const addForms = ref()
|
||||
jb_pl.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_pl'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_pl'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
jb_dky.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_dky'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_dky'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
|
||||
const { push, options, currentRoute } = useRouter()
|
||||
const {push, options, currentRoute} = useRouter()
|
||||
const TableHeaderRef = ref()
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/userReport/getNormalUserPage',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
filename:'常态化干扰源用户管理',
|
||||
column: [
|
||||
{
|
||||
title: '序号', width: 80, formatter: (row: any) => {
|
||||
{title: '序号', width: 80,formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'city', title: '所在地市', minWidth: 80 },
|
||||
}},
|
||||
{field: 'city', title: '所在地市', minWidth: 80},
|
||||
{
|
||||
field: 'substation',
|
||||
title: '厂站名称',
|
||||
@@ -91,7 +106,7 @@ const tableStore = new TableStore({
|
||||
return row.cellValue
|
||||
}
|
||||
},
|
||||
{ field: 'projectName', title: '项目名称', minWidth: 170 },
|
||||
{field: 'projectName', title: '项目名称', minWidth: 170},
|
||||
{
|
||||
field: 'userType',
|
||||
title: '用户性质',
|
||||
@@ -101,7 +116,7 @@ const tableStore = new TableStore({
|
||||
return getUserTypeName(userType)
|
||||
}
|
||||
},
|
||||
{ field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||
{field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130},
|
||||
{
|
||||
field: 'userStatus',
|
||||
title: '用户状态',
|
||||
@@ -200,8 +215,8 @@ const tableStore = new TableStore({
|
||||
render: 'basicButton',
|
||||
showDisabled: row => {
|
||||
return (
|
||||
row.createBy != adminInfo.$state.id ||
|
||||
!(row.status == 0 || row.status == 2 || row.status == null)
|
||||
row.createBy != adminInfo.$state.id ||
|
||||
!(row.status == 0 || row.status == 2 || row.status == null)
|
||||
)
|
||||
},
|
||||
disabled: row => {
|
||||
@@ -227,7 +242,7 @@ const tableStore = new TableStore({
|
||||
return row.createBy != adminInfo.$state.id || !(row.status == 3 || row.status == 4)
|
||||
},
|
||||
click: row => {
|
||||
addForms.value.open({ title: '重新发起', row: row })
|
||||
addForms.value.open({title: '重新发起', row: row})
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -290,7 +305,24 @@ const tableStore = new TableStore({
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
|
||||
tableStore.table.params.relationUserName = tableStore.table.params.userName
|
||||
}
|
||||
},
|
||||
exportProcessingData: () => {
|
||||
tableStore.table.allData = tableStore.table.allData.filter(item => {
|
||||
item.userStatus =
|
||||
item.userStatus == 0 ? '可研' : item.userStatus == 1 ? '建设' : item.userStatus == 2 ? '运行' : '退运'
|
||||
item.status =
|
||||
item.status == 0
|
||||
? '待提交审批'
|
||||
: item.status == 1
|
||||
? '审批中'
|
||||
: item.status == 2
|
||||
? '审批通过'
|
||||
: item.status == 3
|
||||
? '审批不通过'
|
||||
: '已取消'
|
||||
return item
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
tableStore.table.params.city = ''
|
||||
@@ -324,7 +356,7 @@ const handleAudit = (instanceId: string, historyInstanceId: string) => {
|
||||
/**取消流程操作*/
|
||||
const cancelLeave = async (row: any) => {
|
||||
// 二次确认
|
||||
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
const {value} = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputType: 'textarea',
|
||||
@@ -353,10 +385,10 @@ const toFangAn = (row: any, typeNo: number) => {
|
||||
if (res.data.userType == '0' || res.data.userType == '1') {
|
||||
needGovernance.value = res.data.userReportProjectPO?.needGovernance
|
||||
} else if (
|
||||
res.data.userType == '2' ||
|
||||
res.data.userType == '3' ||
|
||||
res.data.userType == '4' ||
|
||||
res.data.userType == '5'
|
||||
res.data.userType == '2' ||
|
||||
res.data.userType == '3' ||
|
||||
res.data.userType == '4' ||
|
||||
res.data.userType == '5'
|
||||
) {
|
||||
needGovernance.value = res.data.userReportSubstationPO?.needGovernance
|
||||
} else if (res.data.userType == '6') {
|
||||
@@ -383,10 +415,10 @@ const toFangAnById = (id: string, typeNo: number) => {
|
||||
userId = res.data.userReportProjectPO?.id
|
||||
needGovernance.value = res.data.userReportProjectPO?.needGovernance
|
||||
} else if (
|
||||
res.data.userType == '2' ||
|
||||
res.data.userType == '3' ||
|
||||
res.data.userType == '4' ||
|
||||
res.data.userType == '5'
|
||||
res.data.userType == '2' ||
|
||||
res.data.userType == '3' ||
|
||||
res.data.userType == '4' ||
|
||||
res.data.userType == '5'
|
||||
) {
|
||||
userId = res.data.userReportSubstationPO?.id
|
||||
needGovernance.value = res.data.userReportSubstationPO?.needGovernance
|
||||
@@ -433,16 +465,16 @@ const getUserTypeName = (userType: any) => {
|
||||
return '新建电网工程'
|
||||
}
|
||||
watch(
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
)
|
||||
|
||||
//初始进来时如果有id就直接打开重新发起
|
||||
@@ -477,7 +509,7 @@ watch(() => props.id, async (newValue, oldValue) => {
|
||||
})
|
||||
}
|
||||
|
||||
}, { immediate: true })
|
||||
}, {immediate: true})
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
{{ detailData.evaluationConclusion }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="detailData.userType == '4' || detailData.userType == '5'
|
||||
? '非线性设备类型: '
|
||||
: '非线性负荷类型:'
|
||||
? '非线性设备类型: '
|
||||
: '非线性负荷类型:'
|
||||
" v-if="
|
||||
detailData.userType == '2' ||
|
||||
detailData.userType == '3' ||
|
||||
@@ -286,72 +286,94 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions :column="1" border style="flex: 1" title="变更后">
|
||||
<el-descriptions-item label="填报人">
|
||||
<el-descriptions-item label="填报人" :label-class-name="changeTheField?.reporter ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.reporter ? 'my-content' : ''">
|
||||
{{ detailData1.reporter }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="填报日期">
|
||||
<el-descriptions-item label="填报日期" :label-class-name="changeTheField?.reportDate ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.reportDate ? 'my-content' : ''">
|
||||
{{ formatDate(detailData1.reportDate, 'YYYY-MM-DD') }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="填报部门">
|
||||
<el-descriptions-item label="填报部门" :label-class-name="changeTheField?.orgName ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.orgName ? 'my-content' : ''">
|
||||
{{ detailData1.orgName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="工程预期投产日期">
|
||||
<el-descriptions-item label="工程预期投产日期"
|
||||
:label-class-name="changeTheField?.expectedProductionDate ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.expectedProductionDate ? 'my-content' : ''">
|
||||
{{ formatDate(detailData1.expectedProductionDate, 'YYYY-MM-DD') }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户性质">
|
||||
<el-descriptions-item label="用户性质" :label-class-name="changeTheField?.userType ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.userType ? 'my-content' : ''">
|
||||
{{
|
||||
userTypeList.find(item => {
|
||||
return item.value == detailData1.userType
|
||||
})?.label
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="所在地市">
|
||||
<el-descriptions-item label="所在地市" :label-class-name="changeTheField?.city ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.city ? 'my-content' : ''">
|
||||
{{ detailData1.city }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="归口管理部门">
|
||||
<el-descriptions-item label="归口管理部门"
|
||||
:label-class-name="changeTheField?.responsibleDepartment ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.responsibleDepartment ? 'my-content' : ''">
|
||||
{{ detailData1.responsibleDepartment }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户状态">
|
||||
<el-descriptions-item label="用户状态" :label-class-name="changeTheField?.userStatus ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.userStatus ? 'my-content' : ''">
|
||||
{{
|
||||
userStateList.find(item => {
|
||||
return item.value == detailData1.userStatus
|
||||
})?.label
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="变电站">
|
||||
<el-descriptions-item label="变电站" :label-class-name="changeTheField?.substation ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.substation ? 'my-content' : ''">
|
||||
{{ detailData1.substation }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="工程名">
|
||||
<el-descriptions-item label="工程名" :label-class-name="changeTheField?.projectName ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.projectName ? 'my-content' : ''">
|
||||
{{ detailData1.projectName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电压等级">
|
||||
<el-descriptions-item label="电压等级" :label-class-name="changeTheField?.voltageLevel ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.voltageLevel ? 'my-content' : ''">
|
||||
{{
|
||||
voltageLevelList.find(item => {
|
||||
return item.id == detailData1.voltageLevel
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="非线性终端类型" v-if="detailData1.userType == 0 || detailData1.userType == 1">
|
||||
<el-descriptions-item label="非线性终端类型" v-if="detailData1.userType == 0 || detailData1.userType == 1"
|
||||
:label-class-name="changeTheField?.nonlinearDeviceType ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.nonlinearDeviceType ? 'my-content' : ''">
|
||||
{{ proviteData1.nonlinearDeviceType ? proviteData1.nonlinearDeviceType : '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预测评估单位">
|
||||
<el-descriptions-item label="预测评估单位"
|
||||
:label-class-name="changeTheField?.evaluationDept ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.evaluationDept ? 'my-content' : ''">
|
||||
{{ detailData1.evaluationDept }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预测评估结论" :span="2">
|
||||
<el-descriptions-item label="预测评估结论" :span="2"
|
||||
:label-class-name="changeTheField?.evaluationConclusion ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.evaluationConclusion ? 'my-content' : ''">
|
||||
{{ detailData1.evaluationConclusion }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="detailData1.userType == '4' || detailData1.userType == '5'
|
||||
? '非线性设备类型: '
|
||||
: '非线性负荷类型:'
|
||||
? '非线性设备类型: '
|
||||
: '非线性负荷类型:'
|
||||
" v-if="
|
||||
detailData1.userType == '2' ||
|
||||
detailData1.userType == '3' ||
|
||||
detailData1.userType == '4' ||
|
||||
detailData1.userType == '5'
|
||||
">
|
||||
" :label-class-name="changeTheField?.nonlinearLoadType ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.nonlinearLoadType ? 'my-content' : ''">
|
||||
{{ proviteData1.nonlinearLoadType }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否需要治理">
|
||||
<el-descriptions-item label="是否需要治理"
|
||||
:label-class-name="changeTheField?.needGovernance ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.needGovernance ? 'my-content' : ''">
|
||||
<span v-if="detailData1.userType == 0 || detailData1.userType == 1">
|
||||
{{ proviteData1.needGovernance == 0 ? '否' : '是' }}
|
||||
</span>
|
||||
@@ -365,7 +387,9 @@
|
||||
</span>
|
||||
<span v-if="detailData1.userType == 6">{{ proviteData1.needGovernance == 0 ? '否' : '是' }}</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开展背景测试">
|
||||
<el-descriptions-item label="是否开展背景测试"
|
||||
:label-class-name="changeTheField?.backgroundTestPerformed ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.backgroundTestPerformed ? 'my-content' : ''">
|
||||
<span v-if="detailData1.userType == 0 || detailData1.userType == 1">
|
||||
{{ proviteData1.backgroundTestPerformed == 0 ? '否' : '是' }}
|
||||
</span>
|
||||
@@ -381,12 +405,16 @@
|
||||
{{ proviteData1.backgroundTestPerformed == 0 ? '否' : '是' }}
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开展抗扰度测试" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="是否开展抗扰度测试" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.antiInterferenceTest ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.antiInterferenceTest ? 'my-content' : ''">
|
||||
<span>
|
||||
{{ proviteData1.antiInterferenceTest == 0 ? '否' : '是' }}
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户协议容量(MVA)" v-if="detailData1.userType == 0 || detailData1.userType == 1">
|
||||
<el-descriptions-item label="用户协议容量(MVA)" v-if="detailData1.userType == 0 || detailData1.userType == 1"
|
||||
:label-class-name="changeTheField?.agreementCapacity ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.agreementCapacity ? 'my-content' : ''">
|
||||
{{ proviteData1.agreementCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="PCC供电设备容量(MVA)" v-if="
|
||||
@@ -394,7 +422,8 @@
|
||||
detailData1.userType == '3' ||
|
||||
detailData1.userType == '4' ||
|
||||
detailData1.userType == '5'
|
||||
">
|
||||
" :label-class-name="changeTheField?.pccEquipmentCapacity ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.pccEquipmentCapacity ? 'my-content' : ''">
|
||||
{{ proviteData1.pccEquipmentCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="基准短路容量(MVA)" v-if="
|
||||
@@ -402,7 +431,8 @@
|
||||
detailData1.userType == '3' ||
|
||||
detailData1.userType == '4' ||
|
||||
detailData1.userType == '5'
|
||||
">
|
||||
" :label-class-name="changeTheField?.baseShortCircuitCapacity ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.baseShortCircuitCapacity ? 'my-content' : ''">
|
||||
{{ proviteData1.baseShortCircuitCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="系统最小短路容量(MVA)" v-if="
|
||||
@@ -410,7 +440,8 @@
|
||||
detailData1.userType == '3' ||
|
||||
detailData1.userType == '4' ||
|
||||
detailData1.userType == '5'
|
||||
">
|
||||
" :label-class-name="changeTheField?.minShortCircuitCapacity ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.minShortCircuitCapacity ? 'my-content' : ''">
|
||||
{{ proviteData1?.minShortCircuitCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户用电协议容量(MVA)" v-if="
|
||||
@@ -418,61 +449,84 @@
|
||||
detailData1.userType == '3' ||
|
||||
detailData1.userType == '4' ||
|
||||
detailData1.userType == '5'
|
||||
">
|
||||
" :label-class-name="changeTheField?.userAgreementCapacity ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.userAgreementCapacity ? 'my-content' : ''">
|
||||
{{ proviteData1?.userAgreementCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="PCC点" v-if="detailData1.userType != 0 && detailData1.userType != 1">
|
||||
<el-descriptions-item label="PCC点" v-if="detailData1.userType != 0 && detailData1.userType != 1"
|
||||
:label-class-name="changeTheField?.pccPoint ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.pccPoint ? 'my-content' : ''">
|
||||
{{ proviteData1?.pccPoint }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="评估类型" v-if="detailData1.userType != 0 && detailData1.userType != 1">
|
||||
<el-descriptions-item label="评估类型" v-if="detailData1.userType != 0 && detailData1.userType != 1"
|
||||
:label-class-name="changeTheField?.evaluationType ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.evaluationType ? 'my-content' : ''">
|
||||
{{
|
||||
evaluationTypeList.find(item => {
|
||||
return item.id == proviteData1?.evaluationType
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预测评估评审单位" v-if="detailData1.userType != 0 && detailData1.userType != 1">
|
||||
<el-descriptions-item label="预测评估评审单位" v-if="detailData1.userType != 0 && detailData1.userType != 1"
|
||||
:label-class-name="changeTheField?.evaluationChekDept ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.evaluationChekDept ? 'my-content' : ''">
|
||||
{{ proviteData1?.evaluationChekDept }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="行业" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="行业" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.industry ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.industry ? 'my-content' : ''">
|
||||
{{
|
||||
industryList.find(item => {
|
||||
return item.id == proviteData1.industry
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="敏感终端名称" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="敏感终端名称" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.deviceName ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.deviceName ? 'my-content' : ''">
|
||||
{{ proviteData1.deviceName }}
|
||||
</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="供电电源数量" v-if="detailData1.userType == 6">-->
|
||||
<!-- {{ proviteData1.powerSupplyCount }}-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<el-descriptions-item label="供电电源情况" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="供电电源情况" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.powerSupplyInfo ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.powerSupplyInfo ? 'my-content' : ''">
|
||||
{{
|
||||
powerSupplyInfoOptionList.find(item => {
|
||||
return item.id == proviteData1.powerSupplyInfo
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="供电电源" :span="2" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="供电电源" :span="2" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.powerSupply ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.powerSupply ? 'my-content' : ''">
|
||||
{{ proviteData1.powerSupply }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="负荷级别" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="负荷级别" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.loadLevel ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.loadLevel ? 'my-content' : ''">
|
||||
{{
|
||||
loadLevelOptionList.find(item => {
|
||||
return item.id == proviteData1.loadLevel
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="敏感电能质量指标" v-if="detailData1.userType == 6">
|
||||
<el-descriptions-item label="敏感电能质量指标" v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.energyQualityIndex ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.energyQualityIndex ? 'my-content' : ''">
|
||||
{{
|
||||
energyQualityIndexList.find(item => {
|
||||
return item.id == proviteData1.energyQualityIndex
|
||||
})?.name
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="可研报告">
|
||||
<span v-if="detailData1.userType == 0 || detailData1.userType == 1">
|
||||
<el-descriptions-item label="可研报告"
|
||||
:label-class-name="changeTheField?.feasibilityReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.feasibilityReport ? 'my-content' : ''">
|
||||
<span v-if="detailData1.userType == 0 || detailData1.userType == 1"
|
||||
:label-class-name="changeTheField?.feasibilityReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.feasibilityReport ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.feasibilityReport?.name">
|
||||
<View @click="openFile(proviteData1?.feasibilityReport?.name)" />
|
||||
</el-icon>
|
||||
@@ -493,7 +547,9 @@
|
||||
{{ proviteData1.feasibilityReport?.name }}
|
||||
</a>
|
||||
</span>
|
||||
<span v-if="detailData1.userType == 6">
|
||||
<span v-if="detailData1.userType == 6"
|
||||
:label-class-name="changeTheField?.feasibilityReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.feasibilityReport ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.feasibilityReport?.name">
|
||||
<View @click="openFile(proviteData1?.feasibilityReport?.name)" />
|
||||
</el-icon>
|
||||
@@ -502,7 +558,9 @@
|
||||
</a>
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="项目初步设计说明书">
|
||||
<el-descriptions-item label="项目初步设计说明书"
|
||||
:label-class-name="changeTheField?.preliminaryDesignDescription ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.preliminaryDesignDescription ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.preliminaryDesignDescription?.name">
|
||||
<View @click="openFile(proviteData1?.preliminaryDesignDescription?.name)" />
|
||||
</el-icon>
|
||||
@@ -511,7 +569,9 @@
|
||||
{{ proviteData1?.preliminaryDesignDescription?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预测评估报告">
|
||||
<el-descriptions-item label="预测评估报告"
|
||||
:label-class-name="changeTheField?.predictionEvaluationReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.predictionEvaluationReport ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.predictionEvaluationReport?.name">
|
||||
<View @click="openFile(proviteData1?.predictionEvaluationReport?.name)" />
|
||||
</el-icon>
|
||||
@@ -519,7 +579,9 @@
|
||||
{{ proviteData1?.predictionEvaluationReport?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预测评估评审意见报告">
|
||||
<el-descriptions-item label="预测评估评审意见报告"
|
||||
:label-class-name="changeTheField?.predictionEvaluationReviewOpinions ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.predictionEvaluationReviewOpinions ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.predictionEvaluationReviewOpinions?.name">
|
||||
<View @click="openFile(proviteData1?.predictionEvaluationReviewOpinions?.name)" />
|
||||
</el-icon>
|
||||
@@ -527,7 +589,9 @@
|
||||
{{ proviteData1?.predictionEvaluationReviewOpinions?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户接入变电站主接线示意图" v-if="detailData.userType != 0 && detailData.userType != 1">
|
||||
<el-descriptions-item label="用户接入变电站主接线示意图" v-if="detailData.userType != 0 && detailData.userType != 1"
|
||||
:label-class-name="changeTheField?.substationMainWiringDiagram ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.substationMainWiringDiagram ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.substationMainWiringDiagram?.name">
|
||||
<View @click="openFile(proviteData1?.substationMainWiringDiagram?.name)" />
|
||||
</el-icon>
|
||||
@@ -535,7 +599,9 @@
|
||||
{{ proviteData1?.substationMainWiringDiagram?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="主要敏感终端清单" v-if="detailData.userType == 6">
|
||||
<el-descriptions-item label="主要敏感终端清单" v-if="detailData.userType == 6"
|
||||
:label-class-name="changeTheField?.sensitiveDevices ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.sensitiveDevices ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.sensitiveDevices?.name">
|
||||
<View @click="openFile(proviteData1?.sensitiveDevices?.name)" />
|
||||
</el-icon>
|
||||
@@ -543,7 +609,9 @@
|
||||
{{ proviteData1?.sensitiveDevices?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="抗扰度测试报告" v-if="detailData.userType == 6">
|
||||
<el-descriptions-item label="抗扰度测试报告" v-if="detailData.userType == 6"
|
||||
:label-class-name="changeTheField?.antiInterferenceReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.antiInterferenceReport ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.antiInterferenceReport?.name">
|
||||
<View @click="openFile(proviteData1?.antiInterferenceReport?.name)" />
|
||||
</el-icon>
|
||||
@@ -551,7 +619,9 @@
|
||||
{{ proviteData1?.antiInterferenceReport?.name }}
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="背景电能质量测试报告" v-if="detailData.userType == 6">
|
||||
<el-descriptions-item label="背景电能质量测试报告" v-if="detailData.userType == 6"
|
||||
:label-class-name="changeTheField?.powerQualityReport ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.powerQualityReport ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.powerQualityReport?.name">
|
||||
<View @click="openFile(proviteData1?.powerQualityReport?.name)" />
|
||||
</el-icon>
|
||||
@@ -560,7 +630,9 @@
|
||||
</a>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="其他附件"
|
||||
v-if="proviteData1?.additionalAttachments && proviteData1?.additionalAttachments?.url">
|
||||
v-if="proviteData1?.additionalAttachments && proviteData1?.additionalAttachments?.url"
|
||||
:label-class-name="changeTheField?.additionalAttachments ? 'my-content' : ''"
|
||||
:class-name="changeTheField?.additionalAttachments ? 'my-content' : ''">
|
||||
<el-icon class="elView" v-if="proviteData1?.additionalAttachments?.name">
|
||||
<View @click="openFile(proviteData1?.additionalAttachments?.name)" />
|
||||
</el-icon>
|
||||
@@ -652,6 +724,7 @@ const userStateList = reactive([
|
||||
value: '3'
|
||||
}
|
||||
])
|
||||
|
||||
const dictData = useDictData()
|
||||
//字典获取所在地市
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
@@ -667,23 +740,80 @@ const evaluationTypeList = dictData.getBasicData('Evaluation_Type')
|
||||
const evaluationDeptList = dictData.getBasicData('evaluation_dept')
|
||||
const loadLevelOptionList = dictData.getBasicData('load_level')
|
||||
const powerSupplyInfoOptionList = dictData.getBasicData('supply_condition')
|
||||
const changeTheField: any = ref({})
|
||||
/** 获得数据 */
|
||||
const getInfo = async () => {
|
||||
detailLoading.value = true
|
||||
let obj1: any = {}
|
||||
let obj2: any = {}
|
||||
try {
|
||||
await getUserReportUpdateById(props.id || queryId).then(res => {
|
||||
detailData1.value = res.data.userReportMessageJson
|
||||
obj1 = JSON.parse(JSON.stringify(res.data.userReportMessageJson))
|
||||
detailData1.value = JSON.parse(JSON.stringify(res.data.userReportMessageJson))
|
||||
getProviteData1()
|
||||
})
|
||||
|
||||
await getUserReportById(props.id || queryId).then(res => {
|
||||
detailData.value = res.data
|
||||
obj2 = JSON.parse(JSON.stringify(res.data))
|
||||
detailData.value = JSON.parse(JSON.stringify(res.data))
|
||||
getProviteData()
|
||||
})
|
||||
} finally {
|
||||
detailLoading.value = false
|
||||
|
||||
changeTheField.value = compareObjects({
|
||||
...obj1, ...obj1.userReportProjectPO, ...obj1.userReportSensitivePO, ...obj1.userReportSubstationPO
|
||||
|
||||
}, { ...obj2, ...obj2.userReportProjectPO, ...obj2.userReportSensitivePO, ...obj2.userReportSubstationPO })
|
||||
|
||||
}
|
||||
}
|
||||
const compareObjects = (obj1: any, obj2: any) => {
|
||||
|
||||
const differences: any = {};
|
||||
|
||||
for (const key in obj1) {
|
||||
if (obj1.hasOwnProperty(key)) {
|
||||
if (obj1[key] !== obj2[key]) {
|
||||
differences[key] = { obj1: obj1[key], obj2: obj2[key] };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const key in obj2) {
|
||||
if (obj2.hasOwnProperty(key) && !obj1.hasOwnProperty(key)) {
|
||||
differences[key] = { obj1: undefined, obj2: obj2[key] };
|
||||
}
|
||||
}
|
||||
|
||||
return differences;
|
||||
}
|
||||
// const compareObjects = (obj1: any, obj2: any) => {
|
||||
// const differences: any = {};
|
||||
|
||||
// function findDifferences(o1, o2, path = '') {
|
||||
// for (const key in o1) {
|
||||
// if (o1.hasOwnProperty(key)) {
|
||||
// const newPath = path ? `${path}.${key}` : key;
|
||||
// if (typeof o1[key] === 'object' && o1[key] !== null && typeof o2[key] === 'object' && o2[key] !== null) {
|
||||
// findDifferences(o1[key], o2[key], newPath);
|
||||
// } else if (o1[key] !== o2[key]) {
|
||||
// differences[newPath] = { obj1: o1[key], obj2: o2[key] };
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// for (const key in o2) {
|
||||
// if (o2.hasOwnProperty(key) && !o1.hasOwnProperty(key)) {
|
||||
// const newPath = path ? `${path}.${key}` : key;
|
||||
// differences[newPath] = { obj1: undefined, obj2: o2[key] };
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// findDifferences(obj1, obj2);
|
||||
// return differences;
|
||||
// }
|
||||
const proviteData = ref()
|
||||
const proviteData1 = ref()
|
||||
|
||||
@@ -1001,3 +1131,8 @@ onMounted(() => {
|
||||
margin-right: 10px;
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
:deep(.my-content) {
|
||||
background: var(--el-color-success-light-7) !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -16,26 +16,37 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<template #operation>
|
||||
<el-button icon='' type='primary' @click='toGoNet()'>{{ titleButton }}</el-button>
|
||||
|
||||
<el-button style='margin-left: 50px' :icon='Back' @click='go(-1)'>返回</el-button>
|
||||
</template>
|
||||
</TableHeader> -->
|
||||
</TableHeader> -->
|
||||
<div class="header_btn">
|
||||
<el-button v-if="bussType == 0 && !(jb_pl || jb_dky)" icon="" type="primary" @click="toGoNet()">
|
||||
{{ titleButton }}
|
||||
</el-button>
|
||||
<el-button v-if="bussType == 1 && needGovernance != '0' && !(jb_pl || jb_dky)" icon="" type="primary"
|
||||
@click="toGoNet()">
|
||||
<el-button
|
||||
v-if="bussType == 1 && needGovernance != '0' && !(jb_pl || jb_dky)"
|
||||
icon=""
|
||||
type="primary"
|
||||
@click="toGoNet()"
|
||||
>
|
||||
{{ titleButton }}
|
||||
</el-button>
|
||||
<el-button style="margin-left: 50px" :icon="Back" @click="go(-1)">返回</el-button>
|
||||
</div>
|
||||
<Table ref="tableRef" />
|
||||
<Table ref="tableRef"/>
|
||||
|
||||
<addForm v-if="dialogVisible" ref="addForms" :id="bussId" :bussType="bussType" :title="titleButton1"
|
||||
openType="detail" @onSubmit="tableStore.index()"></addForm>
|
||||
<addForm
|
||||
v-if="dialogVisible"
|
||||
ref="addForms"
|
||||
:id="bussId"
|
||||
:bussType="bussType"
|
||||
:title="titleButton1"
|
||||
openType="detail"
|
||||
@onSubmit="tableStore.index()"
|
||||
></addForm>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -44,20 +55,20 @@ defineOptions({
|
||||
name: 'ProgramReview'
|
||||
})
|
||||
|
||||
import { ref, onMounted, provide, nextTick, onUnmounted } from 'vue'
|
||||
import {ref, onMounted, provide, nextTick, onUnmounted} from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import { cancel, userReportGoNetById } from '@/api/supervision-boot/interfere/index'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import {cancel, userReportGoNetById} from '@/api/supervision-boot/interfere/index'
|
||||
import {useDictData} from '@/stores/dictData'
|
||||
import addForm from './addForm.vue'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
import { Back } from '@element-plus/icons-vue'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
import {useRouter, useRoute} from 'vue-router'
|
||||
import {Back} from '@element-plus/icons-vue'
|
||||
import {useAdminInfo} from '@/stores/adminInfo'
|
||||
|
||||
const { go, currentRoute, push } = useRouter()
|
||||
const { query } = useRoute() // 查询参数
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ElMessageBox } from 'element-plus/es'
|
||||
const {go, currentRoute, push} = useRouter()
|
||||
const {query} = useRoute() // 查询参数
|
||||
import {ElMessage} from 'element-plus'
|
||||
import {ElMessageBox} from 'element-plus/es'
|
||||
|
||||
const needGovernance = query.needGovernance as unknown as string // 从 URL 传递过来的 是否需要治理
|
||||
const dictData = useDictData()
|
||||
@@ -66,28 +77,26 @@ const adminInfo = useAdminInfo()
|
||||
const jb_pl = ref(false)
|
||||
const jb_dky = ref(false)
|
||||
jb_pl.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_pl'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_pl'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
jb_dky.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_dky'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_dky'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/userReportNormal/userReportGoNetPage',
|
||||
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
title: '序号', width: 80, formatter: (row: any) => {
|
||||
{title: '序号', width: 80,formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'projectName', title: '用户名称', minWidth: 170 },
|
||||
}},
|
||||
{field: 'projectName', title: '用户名称', minWidth: 170},
|
||||
{
|
||||
field: 'userType',
|
||||
title: '用户性质',
|
||||
@@ -97,8 +106,8 @@ const tableStore = new TableStore({
|
||||
return getUserTypeName(userType)
|
||||
}
|
||||
},
|
||||
{ field: 'city', title: '所在地市', minWidth: 80 },
|
||||
{ field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||
{field: 'city', title: '所在地市', minWidth: 80},
|
||||
{field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130},
|
||||
{
|
||||
field: 'userStatus',
|
||||
title: '用户状态',
|
||||
@@ -117,7 +126,7 @@ const tableStore = new TableStore({
|
||||
3: '退运'
|
||||
}
|
||||
},
|
||||
{ field: 'substation', title: '厂站名称', minWidth: 100 },
|
||||
{field: 'substation', title: '厂站名称', minWidth: 100},
|
||||
{
|
||||
field: 'status',
|
||||
title: '流程状态',
|
||||
@@ -146,7 +155,7 @@ const tableStore = new TableStore({
|
||||
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name
|
||||
}
|
||||
},
|
||||
{ field: 'createTime', title: '创建时间', minWidth: 100 },
|
||||
{field: 'createTime', title: '创建时间', minWidth: 100},
|
||||
{
|
||||
title: '操作',
|
||||
minWidth: 180,
|
||||
@@ -254,7 +263,7 @@ onMounted(async () => {
|
||||
document.addEventListener('visibilitychange', handleVisibilityChange)
|
||||
if (query.fangAnId) {
|
||||
//根据id查询待编辑的数据
|
||||
await userReportGoNetById({ id: query.fangAnId }).then(res => {
|
||||
await userReportGoNetById({id: query.fangAnId}).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
dialogVisible.value = true
|
||||
titleButton1.value = '重新发起'
|
||||
@@ -274,7 +283,7 @@ onUnmounted(() => {
|
||||
/**取消流程操作*/
|
||||
const cancelLeave = async (row: any) => {
|
||||
// 二次确认
|
||||
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
const {value} = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputType: 'textarea',
|
||||
|
||||
@@ -1,307 +1,303 @@
|
||||
<template>
|
||||
<el-dialog v-model='dialogFormVisible' :title='title' width='65%' :append-to-body='true' :before-close='close'
|
||||
:close-on-click-modal='false' draggable>
|
||||
<el-dialog v-model="dialogFormVisible" :title="title" width="65%" :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' :rules='rules' :scroll-to-error='true'
|
||||
ref='ruleFormRef' label-width='auto'>
|
||||
<el-form-item for='-' label='填报人:' prop='reporter'>
|
||||
<el-input v-model.trim='form.reporter' autocomplete='off' :disabled='true' placeholder='请输入填报人' />
|
||||
<el-form :model="form" class="form-two" :validate-on-rule-change="false" :rules="rules" :scroll-to-error="true"
|
||||
ref="ruleFormRef" label-width="auto">
|
||||
<el-form-item for="-" label="填报人:" prop="reporter">
|
||||
<el-input v-model="form.reporter" autocomplete="off" :disabled="true" placeholder="请输入填报人" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='填报日期:' prop='reportDate'>
|
||||
<el-date-picker :disabled='true' style='width: 100%' v-model='form.reportDate' type='date'
|
||||
placeholder='请选择填报日期' />
|
||||
<el-form-item for="-" label="填报日期:" prop="reportDate">
|
||||
<el-date-picker :disabled="true" style="width: 100%" v-model="form.reportDate" type="date"
|
||||
placeholder="请选择填报日期" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='填报部门:' prop='orgId'>
|
||||
<el-input v-model.trim='form.orgId' :disabled='true' autocomplete='off' />
|
||||
<el-form-item for="-" label="填报部门:" prop="orgId">
|
||||
<el-input v-model="form.orgId" :disabled="true" autocomplete="off" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='工程预期投产日期:' prop='expectedProductionDate'>
|
||||
<el-date-picker style='width: 100%' v-model='form.expectedProductionDate' type='date'
|
||||
format='YYYY-MM-DD' value-format='YYYY-MM-DD' :disabled-date='disabledDate'
|
||||
placeholder='请选择工程预期投产日期' />
|
||||
<el-form-item for="-" label="工程预期投产日期:" prop="expectedProductionDate">
|
||||
<el-date-picker style="width: 100%" v-model="form.expectedProductionDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" :disabled-date="disabledDate"
|
||||
placeholder="请选择工程预期投产日期" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='用户性质:' prop='userType'>
|
||||
<el-form-item for="-" label="用户性质:" prop="userType">
|
||||
<!-- :disabled="resendId != '' && title != '编辑'" -->
|
||||
<el-select v-model='form.userType' placeholder='请选择用户性质'>
|
||||
<el-option v-for='(item, index) in userTypeList' :label='item.label' :value='item.value'
|
||||
:key='index' />
|
||||
<el-select v-model="form.userType" placeholder="请选择用户性质">
|
||||
<el-option v-for="(item, index) in userTypeList" :label="item.label" :value="item.value"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='所在地市:' prop='city'>
|
||||
<el-select v-model='form.city' clearable placeholder='请选择所在地市'>
|
||||
<el-option v-for='item in areaOptionList' :key='item.id' :label='item.name'
|
||||
:value='item.name'></el-option>
|
||||
<el-form-item for="-" label="所在地市:" prop="city">
|
||||
<el-select v-model="form.city" clearable placeholder="请选择所在地市">
|
||||
<el-option v-for="item in areaOptionList" :key="item.id" :label="item.name"
|
||||
:value="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='归口管理部门:' prop='responsibleDepartment'>
|
||||
<el-input v-model.trim='form.responsibleDepartment' autocomplete='off' placeholder='请输入归口管理部门'
|
||||
maxlength='32' show-word-limit />
|
||||
<el-form-item for="-" label="归口管理部门:" prop="responsibleDepartment">
|
||||
<el-input v-model="form.responsibleDepartment" autocomplete="off" placeholder="请输入归口管理部门" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='项目名称:' prop='projectName'>
|
||||
<el-input v-model.trim='form.projectName' autocomplete='off' placeholder='请输入项目名称' maxlength='64'
|
||||
show-word-limit />
|
||||
<el-form-item for="-" label="项目名称:" prop="projectName">
|
||||
<el-input v-model="form.projectName" autocomplete="off" placeholder="请输入项目名称" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='用户状态:' prop='userStatus'>
|
||||
<el-select v-model='form.userStatus' placeholder='请选择用户状态'>
|
||||
<el-option v-for='(item, index) in userStateList' :label='item.label' :value='item.value'
|
||||
:disabled='item.disabled' :key='index' />
|
||||
<el-form-item for="-" label="用户状态:" prop="userStatus">
|
||||
<el-select v-model="form.userStatus" placeholder="请选择用户状态">
|
||||
<el-option v-for="(item, index) in userStateList" :label="item.label" :value="item.value"
|
||||
:disabled="item.disabled" :key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='厂站名称:' prop='substation'>
|
||||
<el-input v-model.trim='form.substation' autocomplete='off' placeholder='请输入厂站名称' maxlength='64'
|
||||
show-word-limit />
|
||||
<el-form-item for="-" label="厂站名称:" prop="substation">
|
||||
<el-input v-model="form.substation" autocomplete="off" placeholder="请输入厂站名称" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '0' || form.userType == '1'" label='用户协议容量:'
|
||||
prop='agreementCapacity'>
|
||||
<el-input v-model.trim='form.agreementCapacity' oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
<el-form-item for="-" v-if="form.userType == '0' || form.userType == '1'" label="用户协议容量:"
|
||||
prop="agreementCapacity">
|
||||
<el-input v-model="form.agreementCapacity" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" autocomplete='off' placeholder='请输入用户协议容量' maxlength="6"
|
||||
show-word-limit>
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" autocomplete="off" placeholder="请输入用户协议容量">
|
||||
<template #append>MVA</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '0' || form.userType == '1'" label='非线性终端类型:'
|
||||
prop='nonlinearDeviceType'>
|
||||
<el-tree-select accordion ref='treeRef' :default-expand-all='false' show-checkbox check-strictly
|
||||
:highlight-current='true' readonly node-key='id' :props='defaultProps'
|
||||
v-model='form.nonlinearDeviceType' :data='nonlinearDeviceTypeList' :render-after-expand='false' />
|
||||
<el-form-item for="-" v-if="form.userType == '0' || form.userType == '1'" label="非线性终端类型:"
|
||||
prop="nonlinearDeviceType">
|
||||
<el-tree-select accordion ref="treeRef" :default-expand-all="false" show-checkbox check-strictly
|
||||
:highlight-current="true" readonly node-key="id" :props="defaultProps"
|
||||
v-model="form.nonlinearDeviceType" :data="nonlinearDeviceTypeList" :render-after-expand="false" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='电压等级:' prop='voltageLevel'>
|
||||
<el-select v-model='form.voltageLevel' placeholder='请选择电压等级' node-key='id'>
|
||||
<el-option v-for='(item, index) in voltageLevelList' :label='item.name' :value='item.id'
|
||||
:key='index' />
|
||||
<el-form-item for="-" label="电压等级:" prop="voltageLevel">
|
||||
<el-select v-model="form.voltageLevel" placeholder="请选择电压等级" node-key="id">
|
||||
<el-option v-for="(item, index) in voltageLevelList" :label="item.name" :value="item.id"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='预测评估单位:' prop='evaluationDept'>
|
||||
<el-select v-model='form.evaluationDept' allow-create filterable placeholder='请选择预测评估单位'>
|
||||
<el-option v-for='(item, index) in evaluationDeptList' :label='item.name' :value='item.name'
|
||||
:key='index' />
|
||||
<el-form-item for="-" label="预测评估单位:" prop="evaluationDept">
|
||||
<el-select v-model="form.evaluationDept" allow-create filterable placeholder="请选择预测评估单位">
|
||||
<el-option v-for="(item, index) in evaluationDeptList" :label="item.name" :value="item.name"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='是否需要治理:' prop='needGovernance'>
|
||||
<el-radio-group v-model='form.needGovernance'>
|
||||
<el-radio :value='1'>是</el-radio>
|
||||
<el-radio :value='0'>否</el-radio>
|
||||
<el-form-item for="-" label="是否需要治理:" prop="needGovernance">
|
||||
<el-radio-group v-model="form.needGovernance">
|
||||
<el-radio :value="1">是</el-radio>
|
||||
<el-radio :value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='是否开展背景测试:' prop='backgroundTestPerformed'>
|
||||
<el-radio-group v-model='form.backgroundTestPerformed'>
|
||||
<el-radio :value='1'>是</el-radio>
|
||||
<el-radio :value='0'>否</el-radio>
|
||||
<el-form-item for="-" label="是否开展背景测试:" prop="backgroundTestPerformed">
|
||||
<el-radio-group v-model="form.backgroundTestPerformed">
|
||||
<el-radio :value="1">是</el-radio>
|
||||
<el-radio :value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label='关联终端' prop='devId' v-if="props.openType != 'create'">
|
||||
<el-select v-model='form.devId' filterable placeholder='请选择关联终端' @change='changeDevId'>
|
||||
<el-option v-for='(item, index) in devIdList' :label='item.devName' :value='item.devId'
|
||||
:key='index' />
|
||||
<el-form-item label="关联终端" prop="devId" v-if="props.openType != 'create'">
|
||||
<el-select v-model="form.devId" filterable placeholder="请选择关联终端" @change="changeDevId">
|
||||
<el-option v-for="(item, index) in devIdList" :label="item.devName" :value="item.devId"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label='关联监测点' prop='lineId' v-if="props.openType != 'create'">
|
||||
<el-select v-model='form.lineId' placeholder='请选择关联监测点'>
|
||||
<el-option v-for='(item, index) in lineIdList' :label='item.lineName' :value='item.lineId'
|
||||
:key='index' />
|
||||
<el-form-item label="关联监测点" prop="lineId" v-if="props.openType != 'create'">
|
||||
<el-select v-model="form.lineId" placeholder="请选择关联监测点">
|
||||
<el-option v-for="(item, index) in lineIdList" :label="item.lineName" :value="item.lineId"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item for='-' v-if="form.userType != '0' && form.userType != '1'" label='评估类型:'
|
||||
prop='evaluationType'>
|
||||
<el-select v-model='form.evaluationType' placeholder='请选择评估类型'>
|
||||
<el-option v-for='(item, index) in evaluationTypeList' :key='index' :label='item.name'
|
||||
:value='item.id' />
|
||||
<el-form-item for="-" v-if="form.userType != '0' && form.userType != '1'" label="评估类型:"
|
||||
prop="evaluationType">
|
||||
<el-select v-model="form.evaluationType" placeholder="请选择评估类型">
|
||||
<el-option v-for="(item, index) in evaluationTypeList" :key="index" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType != '0' && form.userType != '1'" label='PCC点:' prop='pccPoint'>
|
||||
<el-input v-model.trim='form.pccPoint' autocomplete='off' placeholder='请输入PCC点' />
|
||||
<el-form-item for="-" v-if="form.userType != '0' && form.userType != '1'" label="PCC点:" prop="pccPoint">
|
||||
<el-input v-model="form.pccPoint" autocomplete="off" placeholder="请输入PCC点" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-'
|
||||
<el-form-item for="-"
|
||||
v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'"
|
||||
label='基准短路容量:' prop='baseShortCircuitCapacity'>
|
||||
<el-input v-model.trim='form.baseShortCircuitCapacity' oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
label="基准短路容量:" prop="baseShortCircuitCapacity">
|
||||
<el-input v-model="form.baseShortCircuitCapacity" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入基准短路容量'>
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准短路容量">
|
||||
<template #append>MVA</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for='-'
|
||||
<el-form-item for="-"
|
||||
v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'"
|
||||
label='系统最小短路容量:' prop='minShortCircuitCapacity'>
|
||||
<el-input v-model.trim='form.minShortCircuitCapacity' oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
label="系统最小短路容量:" prop="minShortCircuitCapacity">
|
||||
<el-input v-model="form.minShortCircuitCapacity" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" autocomplete='off' placeholder='请选择系统最小短路容量'>
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" autocomplete="off" placeholder="请选择系统最小短路容量">
|
||||
<template #append>MVA</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for='-'
|
||||
<el-form-item for="-"
|
||||
v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'"
|
||||
label='PCC供电设备容量:' prop='pccEquipmentCapacity'>
|
||||
<el-input v-model.trim='form.pccEquipmentCapacity' oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
label="PCC供电设备容量:" prop="pccEquipmentCapacity">
|
||||
<el-input v-model="form.pccEquipmentCapacity" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入PCC供电设备容量'>
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入PCC供电设备容量">
|
||||
<template #append>MVA</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for='-'
|
||||
<el-form-item for="-"
|
||||
v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'"
|
||||
label='用户用电协议容量:' prop='userAgreementCapacity'>
|
||||
<el-input v-model.trim='form.userAgreementCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
label="用户用电协议容量:" prop="userAgreementCapacity">
|
||||
<el-input v-model="form.userAgreementCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入用户用电协议容量'>
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入用户用电协议容量">
|
||||
<template #append>MVA</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6'" label='行业:' prop='industry'>
|
||||
<el-select v-model='form.industry' placeholder='请选择行业'>
|
||||
<el-option v-for='(item, index) in industryList' :label='item.name' :value='item.id' :key='index' />
|
||||
<el-form-item for="-" v-if="form.userType == '6'" label="行业:" prop="industry">
|
||||
<el-select v-model="form.industry" placeholder="请选择行业">
|
||||
<el-option v-for="(item, index) in industryList" :label="item.name" :value="item.id" :key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6'" label='敏感终端名称:' prop='deviceName'>
|
||||
<el-input v-model.trim='form.deviceName' autocomplete='off' placeholder='请输入敏感终端名称' />
|
||||
<el-form-item for="-" v-if="form.userType == '6'" label="敏感终端名称:" prop="deviceName">
|
||||
<el-input v-model="form.deviceName" autocomplete="off" placeholder="请输入敏感终端名称" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6'" label='供电电源数量:' prop='powerSupplyCount'>
|
||||
<el-input-number style='width: 100%' v-model='form.powerSupplyCount' :min='0' placeholder='请输入供电电源数量' />
|
||||
<el-form-item for="-" v-if="form.userType == '6'" label="供电电源数量:" prop="powerSupplyCount">
|
||||
<el-input-number style="width: 100%" v-model="form.powerSupplyCount" :min="0" placeholder="请输入供电电源数量" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6'" label='敏感电能质量指标:' prop='energyQualityIndex'>
|
||||
<el-select v-model='form.energyQualityIndex' multiple collapse-tags collapse-tags-tooltip
|
||||
placeholder='请选择敏感电能质量指标'>
|
||||
<el-option v-for='(item, index) in energyQualityIndexList' :label='item.name' :value='item.id'
|
||||
:key='index' />
|
||||
<el-form-item for="-" v-if="form.userType == '6'" label="敏感电能质量指标:" prop="energyQualityIndex">
|
||||
<el-select v-model="form.energyQualityIndex" multiple collapse-tags collapse-tags-tooltip
|
||||
placeholder="请选择敏感电能质量指标">
|
||||
<el-option v-for="(item, index) in energyQualityIndexList" :label="item.name" :value="item.id"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-'
|
||||
<el-form-item for="-"
|
||||
v-if="form.userType == '2' || form.userType == '3' || form.userType == '4' || form.userType == '5'"
|
||||
:label="form.userType == '4' || form.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'"
|
||||
prop='nonlinearLoadType'>
|
||||
<el-tree-select accordion ref='treeRef' :default-expand-all='false' show-checkbox check-strictly
|
||||
:highlight-current='true' readonly node-key='id' :props='defaultProps' filterable
|
||||
v-model='form.nonlinearLoadType' :data='nonlinearDeviceTypeList' :render-after-expand='false'
|
||||
placeholder='请选择' />
|
||||
prop="nonlinearLoadType">
|
||||
<el-tree-select accordion ref="treeRef" :default-expand-all="false" show-checkbox check-strictly
|
||||
:highlight-current="true" readonly node-key="id" :props="defaultProps" filterable
|
||||
v-model="form.nonlinearLoadType" :data="nonlinearDeviceTypeList" :render-after-expand="false"
|
||||
placeholder="请选择" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6'" label='是否开展抗扰度测试:' prop='antiInterferenceTest'>
|
||||
<el-radio-group v-model='form.antiInterferenceTest'>
|
||||
<el-radio value='1'>是</el-radio>
|
||||
<el-radio value='0'>否</el-radio>
|
||||
<el-form-item for="-" v-if="form.userType == '6'" label="是否开展抗扰度测试:" prop="antiInterferenceTest">
|
||||
<el-radio-group v-model="form.antiInterferenceTest">
|
||||
<el-radio value="1">是</el-radio>
|
||||
<el-radio value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6' && isInterferencemanagement" label='负荷级别:'
|
||||
prop='loadLevel'>
|
||||
<el-select v-model='form.loadLevel' collapse-tags collapse-tags-tooltip placeholder='请选择负荷级别'>
|
||||
<el-option v-for='(item, index) in loadLevelOptionList' :label='item.name' :value='item.id'
|
||||
:key='index' />
|
||||
<el-form-item for="-" v-if="form.userType == '6' && isInterferencemanagement" label="负荷级别:"
|
||||
prop="loadLevel">
|
||||
<el-select v-model="form.loadLevel" collapse-tags collapse-tags-tooltip placeholder="请选择负荷级别">
|
||||
<el-option v-for="(item, index) in loadLevelOptionList" :label="item.name" :value="item.id"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType == '6' && isInterferencemanagement" label='供电电源情况:'
|
||||
prop='powerSupplyInfo'>
|
||||
<el-select v-model='form.powerSupplyInfo' collapse-tags collapse-tags-tooltip placeholder='请选择供电电源情况'>
|
||||
<el-option v-for='(item, index) in powerSupplyInfoOptionList' :label='item.name' :value='item.id'
|
||||
:key='index' />
|
||||
<el-form-item for="-" v-if="form.userType == '6' && isInterferencemanagement" label="供电电源情况:"
|
||||
prop="powerSupplyInfo">
|
||||
<el-select v-model="form.powerSupplyInfo" collapse-tags collapse-tags-tooltip placeholder="请选择供电电源情况">
|
||||
<el-option v-for="(item, index) in powerSupplyInfoOptionList" :label="item.name" :value="item.id"
|
||||
:key="index" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' v-if="form.userType != '0' && form.userType != '1'" label='预测评估评审单位:'
|
||||
prop='evaluationChekDept'>
|
||||
<el-input v-model.trim='form.evaluationChekDept' autocomplete='off' placeholder='请输入预测评估评审单位' />
|
||||
<el-form-item for="-" v-if="form.userType != '0' && form.userType != '1'" label="预测评估评审单位:"
|
||||
prop="evaluationChekDept">
|
||||
<el-input v-model="form.evaluationChekDept" autocomplete="off" placeholder="请输入预测评估评审单位" />
|
||||
</el-form-item>
|
||||
<el-form-item for='-' label='预测评估结论:' prop='evaluationConclusion' style='width: 100%'>
|
||||
<el-input type='textarea' v-model.trim='form.evaluationConclusion' autocomplete='off'
|
||||
placeholder='请输入预测评估结论' maxlength='300' show-word-limit />
|
||||
<el-form-item for="-" label="预测评估结论:" prop="evaluationConclusion" style="width: 100%">
|
||||
<el-input type="textarea" v-model="form.evaluationConclusion" autocomplete="off"
|
||||
placeholder="请输入预测评估结论" />
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='可研报告:' prop='feasibilityReport'>
|
||||
<el-upload v-model:file-list='form.feasibilityReport' ref='uploadRef' action='' :accept='acceptType'
|
||||
:limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="可研报告:" prop="feasibilityReport">
|
||||
<el-upload v-model:file-list="form.feasibilityReport" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('feasibilityReport')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='项目初步设计说明书:' prop='preliminaryDesignDescription'>
|
||||
<el-upload v-model:file-list='form.preliminaryDesignDescription' ref='uploadRef' action=''
|
||||
:accept='acceptType' :limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="项目初步设计说明书:" prop="preliminaryDesignDescription">
|
||||
<el-upload v-model:file-list="form.preliminaryDesignDescription" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('preliminaryDesignDescription')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='预测评估报告:' prop='predictionEvaluationReport'>
|
||||
<el-upload v-model:file-list='form.predictionEvaluationReport' ref='uploadRef' action=''
|
||||
:accept='acceptType' :limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="预测评估报告:" prop="predictionEvaluationReport">
|
||||
<el-upload v-model:file-list="form.predictionEvaluationReport" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('predictionEvaluationReport')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='预测评估评审意见报告:' prop='predictionEvaluationReviewOpinions'>
|
||||
<el-upload v-model:file-list='form.predictionEvaluationReviewOpinions' ref='uploadRef' action=''
|
||||
:accept='acceptType' :limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="预测评估评审意见报告:" prop="predictionEvaluationReviewOpinions">
|
||||
<el-upload v-model:file-list="form.predictionEvaluationReviewOpinions" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('predictionEvaluationReviewOpinions')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='其他附件:' prop='additionalAttachments'>
|
||||
<el-upload v-model:file-list='form.additionalAttachments' ref='uploadRef' action='' :accept='acceptType'
|
||||
:limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="其他附件:" prop="additionalAttachments">
|
||||
<el-upload v-model:file-list="form.additionalAttachments" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('additionalAttachments')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for='-' class='uploadFile' v-if="form.userType != '0' && form.userType != '1'"
|
||||
label='用户接入变电站主接线示意图:' prop='substationMainWiringDiagram'>
|
||||
<el-upload v-model:file-list='form.substationMainWiringDiagram' ref='uploadRef' action=''
|
||||
:accept='acceptType' :limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item for="-" class="uploadFile" v-if="form.userType != '0' && form.userType != '1'"
|
||||
label="用户接入变电站主接线示意图:" prop="substationMainWiringDiagram">
|
||||
<el-upload v-model:file-list="form.substationMainWiringDiagram" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('substationMainWiringDiagram')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' label='主要敏感终端清单:' v-if="form.userType == '6'"
|
||||
prop='sensitiveDevices'>
|
||||
<el-upload v-model:file-list='form.sensitiveDevices' ref='uploadRef' action='' :accept='acceptType'
|
||||
:limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" label="主要敏感终端清单:" v-if="form.userType == '6'"
|
||||
prop="sensitiveDevices">
|
||||
<el-upload v-model:file-list="form.sensitiveDevices" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('sensitiveDevices')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' v-if="form.userType == '6'" label='抗扰度测试报告:'
|
||||
prop='antiInterferenceReport'>
|
||||
<el-upload v-model:file-list='form.antiInterferenceReport' ref='uploadRef' action=''
|
||||
:accept='acceptType' :limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" v-if="form.userType == '6'" label="抗扰度测试报告:"
|
||||
prop="antiInterferenceReport">
|
||||
<el-upload v-model:file-list="form.antiInterferenceReport" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('antiInterferenceReport')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item class='uploadFile' for='-' v-if="form.userType == '6'" label='背景电能质量测试报告:'
|
||||
prop='powerQualityReport'>
|
||||
<el-upload v-model:file-list='form.powerQualityReport' ref='uploadRef' action='' :accept='acceptType'
|
||||
:limit='1' :on-change='choose' :auto-upload='false' :on-remove='removeFile'
|
||||
<el-form-item class="uploadFile" for="-" v-if="form.userType == '6'" label="背景电能质量测试报告:"
|
||||
prop="powerQualityReport">
|
||||
<el-upload v-model:file-list="form.powerQualityReport" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-change="choose" :auto-upload="false" :on-remove="removeFile"
|
||||
:on-progress="uploadFileName('powerQualityReport')">
|
||||
<template #trigger>
|
||||
<el-button type='primary'>上传文件</el-button>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<addUpload ref='addUploadRef' v-if="props.openType == 'sourcesOfInterference'" />
|
||||
<addUpload ref="addUploadRef" v-if="props.openType == 'sourcesOfInterference'" />
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class='dialog-footer'>
|
||||
<el-button @click='close()'>取消</el-button>
|
||||
<el-button type='primary' @click='confirmForm(true)' :loading='loading'>保存</el-button>
|
||||
<el-button type='primary' v-if='props.submissionControl' @click='confirmForm(false)' :loading='loading'>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)" :loading="loading">保存</el-button>
|
||||
<el-button type="primary" v-if="props.submissionControl" @click="confirmForm(false)" :loading="loading">
|
||||
提交审批
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang='ts' setup>
|
||||
<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'
|
||||
@@ -322,7 +318,6 @@ import {
|
||||
import { getUserReportUpdateById } from '@/api/supervision-boot/userReport/form'
|
||||
import addUpload from './addUpload.vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
const route = useRoute()
|
||||
const isInterferencemanagement: any = ref(false)
|
||||
if (route.path.includes('interferencemanagement')) {
|
||||
@@ -623,8 +618,7 @@ const subForm: any = ref({
|
||||
substationMainWiringDiagram: [] //用户接入变电站主接线示意图地址
|
||||
}
|
||||
})
|
||||
// 特殊字符正则表达式
|
||||
const specialCharRegex = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/
|
||||
|
||||
//定义校验规则
|
||||
const rules = ref({
|
||||
reporter: [{ required: true, message: '请输入填报人', trigger: 'blur' }],
|
||||
@@ -633,58 +627,16 @@ const rules = ref({
|
||||
expectedProductionDate: [{ required: true, message: '请选择工程预期投产日期', trigger: 'change' }],
|
||||
userType: [{ required: true, message: '清选择用户性质', trigger: 'change' }],
|
||||
city: [{ required: true, message: '请选择所在地市', trigger: 'change' }],
|
||||
responsibleDepartment: [{ required: true, message: '请输入归口管理部门', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (specialCharRegex.test(value)) {
|
||||
callback(new Error('输入包含不允许的特殊字符'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}],
|
||||
responsibleDepartment: [{ required: true, message: '请输入归口管理部门', trigger: 'blur' }],
|
||||
userStatus: [{ required: true, message: '请选择用户状态', trigger: 'change' }],
|
||||
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (specialCharRegex.test(value)) {
|
||||
callback(new Error('输入包含不允许的特殊字符'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}],
|
||||
substation: [{ required: true, message: '请输入厂站名称', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (specialCharRegex.test(value)) {
|
||||
callback(new Error('输入包含不允许的特殊字符'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}],
|
||||
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' },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (specialCharRegex.test(value)) {
|
||||
callback(new Error('输入包含不允许的特殊字符'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}],
|
||||
evaluationConclusion: [{ required: true, message: '请输入预测评估结论', trigger: 'blur' }],
|
||||
devId: [{ required: true, message: '请选择关联终端', trigger: 'change' }],
|
||||
lineId: [{ required: true, message: '请选择关联监测点', trigger: 'change' }],
|
||||
agreementCapacity: [
|
||||
{ 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' }],
|
||||
@@ -832,8 +784,6 @@ watch(
|
||||
deep: true
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
const resendId = ref('')
|
||||
const status = ref('')
|
||||
const open = async (row: any) => {
|
||||
@@ -869,7 +819,6 @@ const open = async (row: any) => {
|
||||
})
|
||||
}, 10)
|
||||
}
|
||||
|
||||
async function handleResponse(data: any) {
|
||||
// userType logic is commented out; if needed, implement accordingly
|
||||
if (data.userReportProjectPO) {
|
||||
@@ -935,8 +884,7 @@ const close = () => {
|
||||
emits('onSubmit')
|
||||
resetForm()
|
||||
}
|
||||
onMounted(() => {
|
||||
})
|
||||
onMounted(() => { })
|
||||
|
||||
// 上传报告
|
||||
const uploadRef = ref()
|
||||
@@ -1259,8 +1207,8 @@ const confirmForm = async (flag: boolean) => {
|
||||
resetForm()
|
||||
close()
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
loading.value = false
|
||||
})
|
||||
} else {
|
||||
confirmFormData.id = resendId.value
|
||||
if (controFlag.value) confirmFormData.dataType = 1
|
||||
@@ -1278,8 +1226,8 @@ const confirmForm = async (flag: boolean) => {
|
||||
resetForm()
|
||||
close()
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
loading.value = false
|
||||
})
|
||||
} else {
|
||||
await resend(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
@@ -1290,8 +1238,8 @@ const confirmForm = async (flag: boolean) => {
|
||||
resetForm()
|
||||
close()
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
} else {
|
||||
await updateFormData(confirmFormData).then(res => {
|
||||
@@ -1304,8 +1252,8 @@ const confirmForm = async (flag: boolean) => {
|
||||
resetForm()
|
||||
close()
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -1332,7 +1280,7 @@ const setcontroFlag = () => {
|
||||
}
|
||||
defineExpose({ open, filterUsers, setcontroFlag })
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
<style lang="scss" scoped>
|
||||
.el-form {}
|
||||
|
||||
.form-label-left-align {
|
||||
|
||||
@@ -62,11 +62,11 @@
|
||||
detailData.userType == '4' ||
|
||||
detailData.userType == '5'
|
||||
">
|
||||
{{ proviteData.nonlinearLoadType }}
|
||||
{{ proviteData?.nonlinearLoadType || '' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否需要治理">
|
||||
<span v-if="detailData.userType == 0 || detailData.userType == 1">
|
||||
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
|
||||
{{ proviteData?.needGovernance == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
<span v-if="
|
||||
detailData.userType == 2 ||
|
||||
@@ -74,13 +74,13 @@
|
||||
detailData.userType == 4 ||
|
||||
detailData.userType == 5
|
||||
">
|
||||
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
|
||||
{{ proviteData?.needGovernance == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
<span v-if="detailData.userType == 6">{{ proviteData.needGovernance == 0 ? '否' : '是' }}</span>
|
||||
<span v-if="detailData.userType == 6">{{ proviteData?.needGovernance == 1 ? '是' : '否' }}</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开展背景测试">
|
||||
<span v-if="detailData.userType == 0 || detailData.userType == 1">
|
||||
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
|
||||
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
<span v-if="
|
||||
detailData.userType == 2 ||
|
||||
@@ -88,10 +88,10 @@
|
||||
detailData.userType == 4 ||
|
||||
detailData.userType == 5
|
||||
">
|
||||
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
|
||||
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
<span v-if="detailData.userType == 6">
|
||||
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
|
||||
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
@@ -109,11 +109,11 @@
|
||||
|
||||
<el-descriptions-item label="是否开展抗扰度测试" v-if="detailData.userType == 6">
|
||||
<span>
|
||||
{{ proviteData.antiInterferenceTest == 0 ? '否' : '是' }}
|
||||
{{ proviteData.antiInterferenceTest == 1 ? '是' : '否' }}
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="用户协议容量(MVA)" v-if="detailData.userType == 0 || detailData.userType == 1">
|
||||
{{ proviteData.agreementCapacity }}
|
||||
{{ proviteData?.agreementCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="PCC供电设备容量(MVA)" v-if="
|
||||
detailData.userType == '2' ||
|
||||
@@ -121,7 +121,7 @@
|
||||
detailData.userType == '4' ||
|
||||
detailData.userType == '5'
|
||||
">
|
||||
{{ proviteData.pccEquipmentCapacity }}
|
||||
{{ proviteData?.pccEquipmentCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="基准短路容量(MVA)" v-if="
|
||||
detailData.userType == '2' ||
|
||||
@@ -129,7 +129,7 @@
|
||||
detailData.userType == '4' ||
|
||||
detailData.userType == '5'
|
||||
">
|
||||
{{ proviteData.baseShortCircuitCapacity }}
|
||||
{{ proviteData?.baseShortCircuitCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="系统最小短路容量(MVA)" v-if="
|
||||
detailData.userType == '2' ||
|
||||
@@ -202,8 +202,8 @@
|
||||
<el-icon class="elView" v-if="proviteData?.feasibilityReport?.name">
|
||||
<View @click="openFile(proviteData?.feasibilityReport?.name)" />
|
||||
</el-icon>
|
||||
<a target="_blank" :href="proviteData.feasibilityReport?.url" rel="nofollow">
|
||||
{{ proviteData.feasibilityReport?.name }}
|
||||
<a target="_blank" :href="proviteData?.feasibilityReport?.url" rel="nofollow">
|
||||
{{ proviteData?.feasibilityReport?.name }}
|
||||
</a>
|
||||
</span>
|
||||
<span v-if="
|
||||
@@ -215,16 +215,16 @@
|
||||
<el-icon class="elView" v-if="proviteData?.feasibilityReport?.name">
|
||||
<View @click="openFile(proviteData?.feasibilityReport?.name)" />
|
||||
</el-icon>
|
||||
<a target="_blank" :href="proviteData.feasibilityReport?.url">
|
||||
{{ proviteData.feasibilityReport?.name }}
|
||||
<a target="_blank" :href="proviteData?.feasibilityReport?.url">
|
||||
{{ proviteData?.feasibilityReport?.name }}
|
||||
</a>
|
||||
</span>
|
||||
<span v-if="detailData.userType == 6">
|
||||
<el-icon class="elView" v-if="proviteData?.feasibilityReport?.name">
|
||||
<View @click="openFile(proviteData?.feasibilityReport?.name)" />
|
||||
</el-icon>
|
||||
<a target="_blank" :href="proviteData.feasibilityReport?.url">
|
||||
{{ proviteData.feasibilityReport?.name }}
|
||||
<a target="_blank" :href="proviteData?.feasibilityReport?.url">
|
||||
{{ proviteData?.feasibilityReport?.name }}
|
||||
</a>
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
@@ -573,7 +573,6 @@ const preview = (val: any, url: any) => {
|
||||
}
|
||||
//预测评估报告
|
||||
if (val == 'predictionEvaluationReport') {
|
||||
console.log(url, '9999999')
|
||||
predictionEvaluationReportRef?.value.open(url)
|
||||
}
|
||||
//预测评估评审意见报告
|
||||
@@ -626,59 +625,66 @@ const getProviteData = async () => {
|
||||
) {
|
||||
proviteData.value = detailData.value.userReportSubstationPO
|
||||
//查询非线性负荷类型
|
||||
await getDictTreeById(proviteData.value.nonlinearLoadType).then(res => {
|
||||
proviteData.value.nonlinearLoadType = res.data?.name
|
||||
})
|
||||
|
||||
|
||||
if (proviteData.value?.nonlinearLoadType != undefined) {
|
||||
await getDictTreeById(proviteData.value.nonlinearLoadType).then(res => {
|
||||
proviteData.value.nonlinearLoadType = res.data?.name
|
||||
})
|
||||
}
|
||||
|
||||
} else {
|
||||
proviteData.value = detailData.value.userReportSensitivePO
|
||||
}
|
||||
//可研报告
|
||||
if (proviteData.value.feasibilityReport) {
|
||||
if (proviteData.value?.feasibilityReport != undefined && proviteData.value?.feasibilityReport.length>7) {
|
||||
|
||||
await getFileNamePath(proviteData.value.feasibilityReport, 'feasibilityReport')
|
||||
}
|
||||
//项目初步设计说明书
|
||||
if (proviteData.value.preliminaryDesignDescription) {
|
||||
if (proviteData.value?.preliminaryDesignDescription != undefined && proviteData.value?.preliminaryDesignDescription.length>7) {
|
||||
await getFileNamePath(proviteData.value.preliminaryDesignDescription, 'preliminaryDesignDescription')
|
||||
}
|
||||
//预测评估报告
|
||||
if (proviteData.value.predictionEvaluationReport) {
|
||||
if (proviteData.value?.predictionEvaluationReport != undefined && proviteData.value?.predictionEvaluationReport.length>7) {
|
||||
await getFileNamePath(proviteData.value.predictionEvaluationReport, 'predictionEvaluationReport')
|
||||
}
|
||||
|
||||
//预测评估评审意见报告
|
||||
if (proviteData.value.predictionEvaluationReviewOpinions) {
|
||||
if (proviteData.value?.predictionEvaluationReviewOpinions != undefined && proviteData.value?.predictionEvaluationReviewOpinions.length>7) {
|
||||
|
||||
await getFileNamePath(
|
||||
proviteData.value.predictionEvaluationReviewOpinions,
|
||||
'predictionEvaluationReviewOpinions'
|
||||
)
|
||||
}
|
||||
//用户接入变电站主接线示意图
|
||||
if (proviteData.value.substationMainWiringDiagram) {
|
||||
if (proviteData.value?.substationMainWiringDiagram != undefined && proviteData.value?.substationMainWiringDiagram.length>7) {
|
||||
await getFileNamePath(proviteData.value.substationMainWiringDiagram, 'substationMainWiringDiagram')
|
||||
}
|
||||
|
||||
//主要敏感终端清单
|
||||
if (proviteData.value.sensitiveDevices) {
|
||||
if (proviteData.value?.sensitiveDevices != undefined && proviteData.value?.sensitiveDevices.length>7) {
|
||||
await getFileNamePath(proviteData.value.sensitiveDevices, 'sensitiveDevices')
|
||||
}
|
||||
|
||||
//抗扰度测试报告
|
||||
if (proviteData.value.antiInterferenceReport) {
|
||||
if (proviteData.value?.antiInterferenceReport != undefined && proviteData.value?.antiInterferenceReport.length>7) {
|
||||
await getFileNamePath(proviteData.value.antiInterferenceReport, 'antiInterferenceReport')
|
||||
}
|
||||
|
||||
//背景电能质量测试报告
|
||||
if (proviteData.value.powerQualityReport) {
|
||||
if (proviteData.value?.powerQualityReport != undefined && proviteData.value?.powerQualityReport.length>7) {
|
||||
await getFileNamePath(proviteData.value.powerQualityReport, 'powerQualityReport')
|
||||
}
|
||||
|
||||
//其他附件
|
||||
if (proviteData.value.additionalAttachments) {
|
||||
if (proviteData.value?.additionalAttachments != undefined && proviteData.value?.additionalAttachments.length>7) {
|
||||
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
|
||||
}
|
||||
|
||||
// 入网评估报告
|
||||
if (detailData.value.netInReport.length > 0) {
|
||||
if ( detailData.value.netInReport.length > 0 ) {
|
||||
netInReportList.value = []
|
||||
detailData.value.netInReport.forEach((item: any) => {
|
||||
if (item != null) {
|
||||
|
||||
@@ -1,37 +1,47 @@
|
||||
<template>
|
||||
<TableHeader datePicker nextFlag theCurrentTime ref='TableHeaderRef'>
|
||||
<template #select>
|
||||
<el-form-item label='项目名称'>
|
||||
<el-input v-model='tableStore.table.params.projectName' placeholder='请输入项目名称' clearable maxlength="32" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label='所在地市'>
|
||||
<el-select v-model='tableStore.table.params.city' clearable placeholder='请选择所在地市'>
|
||||
<el-option v-for='item in areaOptionList' :key='item.id' :label='item.name' :value='item.name'></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<TableHeader datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
|
||||
<template #select>
|
||||
<el-form-item label="项目名称">
|
||||
<el-input v-model="tableStore.table.params.projectName" placeholder="请输入项目名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在地市">
|
||||
<el-select v-model="tableStore.table.params.city" clearable placeholder="请选择所在地市">
|
||||
<el-option
|
||||
v-for="item in areaOptionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label='流程状态'>
|
||||
<el-select v-model='tableStore.table.params.status' clearable placeholder='请选择流程状态'>
|
||||
<el-option v-for='item in statusSelect' :key='item.id' :label='item.name' :value='item.id'></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<!-- <el-button icon="el-icon-Plus" type="primary" @click="addList">新增</el-button> -->
|
||||
<el-button icon='el-icon-Plus' type='primary' @click='addFormModel'>新增</el-button>
|
||||
<el-button icon='el-icon-Delete' type='primary' @click='deleteEven'>删除</el-button>
|
||||
<!-- <el-button icon="el-icon-Download" @click="exportEvent" type="primary">导出</el-button> -->
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref='tableRef' :checkbox-config='checkboxConfig' />
|
||||
<!-- 新增 -->
|
||||
<Add ref='addRef' @onSubmit='tableStore.index()' />
|
||||
<!-- 上传 -->
|
||||
<Audit ref='AuditRef' @onSubmit='tableStore.index()' />
|
||||
<!-- 查看详情 detail 新增/修改 create-->
|
||||
<addForm ref='addForms' @onSubmit='tableStore.index()'></addForm>
|
||||
<el-form-item label="流程状态">
|
||||
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
|
||||
<el-option
|
||||
v-for="item in statusSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<!-- <el-button icon="el-icon-Plus" type="primary" @click="addList">新增</el-button> -->
|
||||
<el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button>
|
||||
<el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button>
|
||||
<!-- <el-button icon="el-icon-Download" @click="exportEvent" type="primary">导出</el-button> -->
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" :checkbox-config="checkboxConfig" />
|
||||
<!-- 新增 -->
|
||||
<Add ref="addRef" @onSubmit="tableStore.index()" />
|
||||
<!-- 上传 -->
|
||||
<Audit ref="AuditRef" @onSubmit="tableStore.index()" />
|
||||
<!-- 查看详情 detail 新增/修改 create-->
|
||||
<addForm ref="addForms" @onSubmit="tableStore.index()"></addForm>
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, provide, watch, reactive } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
@@ -53,8 +63,8 @@ const { push, options, currentRoute } = useRouter()
|
||||
const TableHeaderRef = ref()
|
||||
const tableRef = ref()
|
||||
const areaOptionList = dictData
|
||||
.getBasicData('jibei_area')
|
||||
.filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
.getBasicData('jibei_area')
|
||||
.filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
const statusSelect = dictData.statusSelect()
|
||||
const addRef = ref()
|
||||
const AuditRef = ref()
|
||||
@@ -63,169 +73,191 @@ const show: any = ref(false)
|
||||
const fileList = ref([])
|
||||
const flag = ref(false)
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/userReport/getUserReport',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
width: '60',
|
||||
type: 'checkbox'
|
||||
},
|
||||
{ title: '序号', width: 80,formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
} },
|
||||
// { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||
{
|
||||
field: 'city',
|
||||
title: '所在地市',
|
||||
minWidth: 80
|
||||
// formatter: (obj: any) => {
|
||||
// return areaOptionList.filter(item => item.id == obj.row.city)[0]?.name
|
||||
// }
|
||||
},
|
||||
{
|
||||
field: 'substation',
|
||||
title: '厂站名称',
|
||||
minWidth: 100,
|
||||
formatter: (row: any) => {
|
||||
row.cellValue = row.cellValue ? row.cellValue : '/'
|
||||
return row.cellValue
|
||||
}
|
||||
},
|
||||
{ field: 'projectName', title: '项目名称', minWidth: 170 },
|
||||
{
|
||||
field: 'userType',
|
||||
title: '用户性质',
|
||||
minWidth: 150,
|
||||
formatter: (obj: any) => {
|
||||
const userType = obj.row.userType
|
||||
return getUserTypeName(userType)
|
||||
}
|
||||
},
|
||||
{ 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: 'status',
|
||||
title: '流程状态',
|
||||
minWidth: 100,
|
||||
render: 'tag',
|
||||
custom: {
|
||||
0: 'warning',
|
||||
1: 'primary',
|
||||
2: 'success',
|
||||
3: 'danger',
|
||||
4: 'warning'
|
||||
},
|
||||
replaceValue: {
|
||||
0: '待提交审批',
|
||||
1: '审批中',
|
||||
2: '审批通过',
|
||||
3: '审批不通过',
|
||||
4: '已取消'
|
||||
}
|
||||
},
|
||||
{ field: 'createTime', title: '开始时间', minWidth: 170 },
|
||||
{
|
||||
field: 'createBy',
|
||||
title: '填报人',
|
||||
minWidth: 80,
|
||||
formatter: (row: any) => {
|
||||
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
minWidth: 150,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
buttons: [
|
||||
url: '/supervision-boot/userReport/getUserReport',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
filename:'未建档用户档案录入管理',
|
||||
column: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '流程详情',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return !row.processInstanceId
|
||||
},
|
||||
click: row => {
|
||||
flag.value = true
|
||||
handleAudit(row.processInstanceId, row.historyInstanceId)
|
||||
}
|
||||
width: '60',
|
||||
type: 'checkbox'
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '编辑',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
showDisabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || !(row.status == 0)
|
||||
},
|
||||
disabled: row => {
|
||||
return !(row.status == 0)
|
||||
},
|
||||
click: row => {
|
||||
addForms.value.open({
|
||||
title: '编辑',
|
||||
row: row
|
||||
})
|
||||
}
|
||||
title: '序号',
|
||||
width: 80,
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
// { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||
{
|
||||
field: 'city',
|
||||
title: '所在地市',
|
||||
minWidth: 80
|
||||
// formatter: (obj: any) => {
|
||||
// return areaOptionList.filter(item => item.id == obj.row.city)[0]?.name
|
||||
// }
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '重新发起',
|
||||
type: 'warning',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || !(row.status == 3 || row.status == 4)
|
||||
},
|
||||
click: row => {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: row
|
||||
})
|
||||
}
|
||||
field: 'substation',
|
||||
title: '厂站名称',
|
||||
minWidth: 100,
|
||||
formatter: (row: any) => {
|
||||
row.cellValue = row.cellValue ? row.cellValue : '/'
|
||||
return row.cellValue
|
||||
}
|
||||
},
|
||||
{ field: 'projectName', title: '项目名称', minWidth: 170 },
|
||||
{
|
||||
field: 'userType',
|
||||
title: '用户性质',
|
||||
minWidth: 150,
|
||||
formatter: (obj: any) => {
|
||||
const userType = obj.row.userType
|
||||
return getUserTypeName(userType)
|
||||
}
|
||||
},
|
||||
{ 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: '退运'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'cancel',
|
||||
title: '取消',
|
||||
type: 'danger',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || row.status != 1
|
||||
},
|
||||
click: row => {
|
||||
cancelLeave(row)
|
||||
}
|
||||
field: 'status',
|
||||
title: '流程状态',
|
||||
minWidth: 100,
|
||||
render: 'tag',
|
||||
custom: {
|
||||
0: 'warning',
|
||||
1: 'primary',
|
||||
2: 'success',
|
||||
3: 'danger',
|
||||
4: 'warning'
|
||||
},
|
||||
replaceValue: {
|
||||
0: '待提交审批',
|
||||
1: '审批中',
|
||||
2: '审批通过',
|
||||
3: '审批不通过',
|
||||
4: '已取消'
|
||||
}
|
||||
},
|
||||
{ field: 'createTime', title: '开始时间', minWidth: 170 },
|
||||
{
|
||||
field: 'createBy',
|
||||
title: '填报人',
|
||||
minWidth: 80,
|
||||
formatter: (row: any) => {
|
||||
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
minWidth: 150,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '流程详情',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return !row.processInstanceId
|
||||
},
|
||||
click: row => {
|
||||
flag.value = true
|
||||
handleAudit(row.processInstanceId, row.historyInstanceId)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '编辑',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
showDisabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || !(row.status == 0)
|
||||
},
|
||||
disabled: row => {
|
||||
return !(row.status == 0)
|
||||
},
|
||||
click: row => {
|
||||
addForms.value.open({
|
||||
title: '编辑',
|
||||
row: row
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '重新发起',
|
||||
type: 'warning',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || !(row.status == 3 || row.status == 4)
|
||||
},
|
||||
click: row => {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: row
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'cancel',
|
||||
title: '取消',
|
||||
type: 'danger',
|
||||
icon: 'el-icon-Open',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return row.createBy != adminInfo.$state.id || row.status != 1
|
||||
},
|
||||
click: row => {
|
||||
cancelLeave(row)
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
],
|
||||
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
|
||||
tableStore.table.params.relationUserName = tableStore.table.params.userName
|
||||
}
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
|
||||
tableStore.table.params.relationUserName = tableStore.table.params.userName
|
||||
},
|
||||
exportProcessingData: () => {
|
||||
tableStore.table.allData = tableStore.table.allData.filter(item => {
|
||||
item.userStatus =
|
||||
item.userStatus == 0 ? '可研' : item.userStatus == 1 ? '建设' : item.userStatus == 2 ? '运行' : '退运'
|
||||
item.status =
|
||||
item.status == 0
|
||||
? '待提交审批'
|
||||
: item.status == 1
|
||||
? '审批中'
|
||||
: item.status == 2
|
||||
? '审批通过'
|
||||
: item.status == 3
|
||||
? '审批不通过'
|
||||
: '已取消'
|
||||
return item
|
||||
})
|
||||
}
|
||||
})
|
||||
tableStore.table.params.city = ''
|
||||
tableStore.table.params.projectName = ''
|
||||
@@ -238,167 +270,162 @@ tableStore.table.params.status = ''
|
||||
provide('tableStore', tableStore)
|
||||
// 新增
|
||||
const addList = () => {
|
||||
addRef.value.open()
|
||||
addRef.value.open()
|
||||
}
|
||||
// 禁止点击
|
||||
const checkboxConfig = reactive({
|
||||
checkMethod: ({ row }) => {
|
||||
return adminInfo.roleCode.includes('delete_info')
|
||||
? true
|
||||
: row.createBy == adminInfo.$state.id && row.status == 0
|
||||
}
|
||||
checkMethod: ({ row }) => {
|
||||
return adminInfo.roleCode.includes('delete_info')
|
||||
? true
|
||||
: row.createBy == adminInfo.$state.id && row.status == 0
|
||||
}
|
||||
})
|
||||
const deleteEven = () => {
|
||||
if (tableStore.table.selection.length == 0) {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
if (tableStore.table.selection.length == 0) {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
} else {
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const addForms = ref()
|
||||
const addFormModel = () => {
|
||||
show.value = true
|
||||
setTimeout(() => {
|
||||
addForms.value.open({
|
||||
title: '用户档案录入'
|
||||
})
|
||||
}, 0)
|
||||
show.value = true
|
||||
setTimeout(() => {
|
||||
addForms.value.open({
|
||||
title: '用户档案录入'
|
||||
})
|
||||
}, 0)
|
||||
}
|
||||
|
||||
// 导出
|
||||
const exportEvent = () => {
|
||||
let form = JSON.parse(JSON.stringify(tableStore.table.params))
|
||||
form.pageNum = 1
|
||||
form.pageSize = tableStore.table.total
|
||||
getLoadTypeUserList(form).then(res => {
|
||||
tableRef.value.getRef().exportData({
|
||||
filename: '未建档非线性用户', // 文件名字
|
||||
sheetName: 'Sheet1',
|
||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||
useStyle: true,
|
||||
data: res.data.records, // 数据源 // 过滤那个字段导出
|
||||
columnFilterMethod: function (column: any) {
|
||||
return !(column.$columnIndex === 0)
|
||||
}
|
||||
let form = JSON.parse(JSON.stringify(tableStore.table.params))
|
||||
form.pageNum = 1
|
||||
form.pageSize = tableStore.table.total
|
||||
getLoadTypeUserList(form).then(res => {
|
||||
tableRef.value.getRef().exportData({
|
||||
filename: '未建档非线性用户', // 文件名字
|
||||
sheetName: 'Sheet1',
|
||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||
useStyle: true,
|
||||
data: res.data.records, // 数据源 // 过滤那个字段导出
|
||||
columnFilterMethod: function (column: any) {
|
||||
return !(column.$columnIndex === 0)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
/**取消流程操作*/
|
||||
const cancelLeave = async (row: any) => {
|
||||
// 二次确认
|
||||
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputType: 'textarea',
|
||||
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
|
||||
inputErrorMessage: '取消原因不能为空'
|
||||
})
|
||||
// 发起取消
|
||||
let data = {
|
||||
id: row.id,
|
||||
processInstanceId: row.processInstanceId,
|
||||
reason: value
|
||||
}
|
||||
await cancelFormData(data)
|
||||
ElMessage.success('取消成功')
|
||||
// 加载数据
|
||||
tableStore.index()
|
||||
// 二次确认
|
||||
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputType: 'textarea',
|
||||
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
|
||||
inputErrorMessage: '取消原因不能为空'
|
||||
})
|
||||
// 发起取消
|
||||
let data = {
|
||||
id: row.id,
|
||||
processInstanceId: row.processInstanceId,
|
||||
reason: value
|
||||
}
|
||||
await cancelFormData(data)
|
||||
ElMessage.success('取消成功')
|
||||
// 加载数据
|
||||
tableStore.index()
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
tableStore.index()
|
||||
})
|
||||
watch(
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
)
|
||||
|
||||
/** 处理审批按钮 */
|
||||
const handleAudit = (instanceId: any, historyInstanceId: any) => {
|
||||
push({
|
||||
name: 'BpmProcessInstanceDetail',
|
||||
state: {
|
||||
id: instanceId,
|
||||
historyInstanceId
|
||||
}
|
||||
})
|
||||
push({
|
||||
name: 'BpmProcessInstanceDetail',
|
||||
state: {
|
||||
id: instanceId,
|
||||
historyInstanceId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**获取用户性质*/
|
||||
const getUserTypeName = (userType: any) => {
|
||||
if (userType === 0) {
|
||||
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 '新建电网工程'
|
||||
}
|
||||
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 '新建电网工程'
|
||||
}
|
||||
|
||||
|
||||
const props = defineProps({ id: { type: String, default: 'null' } })
|
||||
watch(() => props.id, async (newValue, oldValue) => {
|
||||
if (newValue === 'null') return // 直接返回,避免后续逻辑执行
|
||||
const fullId = newValue.split('@')[0]
|
||||
let nowTime = Date.now()
|
||||
const routeTime = Number(newValue.split('@')[1])
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms,则不执行
|
||||
await getUserReportById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
|
||||
watch(
|
||||
() => props.id,
|
||||
async (newValue, oldValue) => {
|
||||
if (newValue === 'null') return // 直接返回,避免后续逻辑执行
|
||||
const fullId = newValue.split('@')[0]
|
||||
let nowTime = Date.now()
|
||||
const routeTime = Number(newValue.split('@')[1])
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms,则不执行
|
||||
await getUserReportById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
</script>
|
||||
|
||||
<style scoped lang='scss'></style>
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
Reference in New Issue
Block a user