技术监督计划-列表&新增

This commit is contained in:
zhujiyan
2024-05-20 20:32:53 +08:00
parent 9caf77155f
commit bd3dac3b89
3 changed files with 243 additions and 194 deletions

View File

@@ -0,0 +1,31 @@
import createAxios from '@/utils/request'
import { SUPERVISION_BOOT } from '@/utils/constantRequest'
const MAPPING_PATH = SUPERVISION_BOOT + '/deVReport'
/**
* 提交终端信息表单数据
*/
export const addPlanFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/superPlan/addPlan',
method: 'POST',
data: data
})
}
/**
* 根据id获取终端录入的详细数据
*/
export const getPlanDetailsById = (obj: any) => {
let form = new FormData()
form.append('id', obj.id)
return createAxios({
url:MAPPING_PATH + '/queryDeviceDetail',
method: 'POST',
data:form
})
}

View File

@@ -21,14 +21,14 @@
>
<el-row>
<el-col :span="12">
<el-form-item label="计划名称:" prop="planName">
<el-input v-model="form.planName" autocomplete="off" place-holder="请输入计划名称" />
<el-form-item label="计划名称:" prop="workPlanName">
<el-input v-model="form.workPlanName" autocomplete="off" place-holder="请输入计划名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监督单位:" prop="planUnit">
<el-select v-model="form.planUnit" clearable style="width: 100%" placeholder="请选择监督单位">
<el-form-item label="监督单位:" prop="supvOrgId">
<el-select v-model="form.supvOrgId" clearable style="width: 100%" placeholder="请选择监督单位">
<el-option
v-for="item in areaOptionList"
:key="item.id"
@@ -41,14 +41,14 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="计划编制单位:" prop="planDept">
<el-input v-model="form.planDept" autocomplete="off" />
<el-form-item label="计划编制单位:" prop="planOrgId">
<el-input v-model="form.planOrgId" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监督类型:" prop="planType">
<el-select v-model="form.planType" clearable style="width: 100%" placeholder="请选择监督类型">
<el-form-item label="监督类型:" prop="supvType">
<el-select v-model="form.supvType" clearable style="width: 100%" placeholder="请选择监督类型">
<el-option
v-for="item in areaOptionList"
:key="item.id"
@@ -61,8 +61,8 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监督阶段:" prop="planStep">
<el-select v-model="form.planStep" clearable style="width: 100%" placeholder="请选择监督阶段">
<el-form-item label="监督阶段:" prop="supvStage">
<el-select v-model="form.supvStage" clearable style="width: 100%" placeholder="请选择监督阶段">
<el-option
v-for="item in areaOptionList"
:key="item.id"
@@ -74,13 +74,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="计划监督时间:" prop="planSupervise">
<el-form-item label="计划监督时间:" prop="planSupvDate">
<el-date-picker
style="width: 100%"
v-model="form.planSuperviseTime"
type="month"
format="YYYY-MM"
value-format="YYYY-MM"
v-model="form.planSupvDate"
type="datetime"
format="YYYY-MM-DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
placeholder="请选择计划监督时间"
/>
</el-form-item>
@@ -88,13 +88,12 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监督对象类型:">
<el-form-item label="监督对象类型:" prop="supvObjType">
<el-select
v-model="form.superviseObjType"
v-model="form.supvObjType"
clearable
style="width: 100%"
placeholder="请选择监督对象类型"
@change="findSubstationVoltageLevel"
>
<el-option
v-for="item in powerCompanyList"
@@ -106,20 +105,16 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监督对象名称:">
<el-input
v-model="form.superviseObjName"
autocomplete="off"
place-holder="请输入监督对象名称"
/>
<el-form-item label="监督对象名称:" prop="supvObjName">
<el-input v-model="form.supvObjName" autocomplete="off" place-holder="请输入监督对象名称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监督对象电压等级:" prop="superviseObjName" class="label_over_warp">
<el-form-item label="监督对象电压等级:" prop="supvObjName" class="label_over_warp">
<el-select
v-model="form.superviseObjVoltageLevel"
v-model="form.objVoltageLevel"
clearable
style="width: 100%"
placeholder="请选择监督对象电压等级"
@@ -135,15 +130,15 @@
</el-col>
<el-col :span="12">
<el-form-item label="监督对象属性:">
<el-form-item label="监督对象属性:" prop="objType">
<el-select
v-model="form.superviseObjAttribute"
v-model="form.objType"
clearable
style="width: 100%"
placeholder="请选择监督对象属性"
>
<el-option
v-for="item in voltageLevelList"
v-for="item in objTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
@@ -154,19 +149,15 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监督对象属性名称:" class="label_over_warp">
<el-input
v-model="form.superviseObjAttributeName"
autocomplete="off"
place-holder="请输入监督对象属性名称"
/>
<el-form-item label="监督对象属性名称:" prop="objTypeName">
<el-input v-model="form.objTypeName" autocomplete="off" place-holder="请输入监督对象属性名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监督对象协议容量(MVA)" class="label_over_warp">
<el-form-item label="监督对象协议容量(MVA)" prop="objCapacity" class="label_over_warp">
<el-input
v-model="form.superviseObjCapacity"
v-model="form.objCapacity"
autocomplete="off"
place-holder="请输入监督对象监督对象协议容量"
/>
@@ -175,9 +166,9 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监督对象关联电站:" class="label_over_warp">
<el-form-item label="监督对象关联电站:" prop="substationName" class="label_over_warp">
<el-input
v-model="form.superviseObjStation"
v-model="form.substationName"
autocomplete="off"
place-holder="请输入监督对象关联电站"
/>
@@ -185,9 +176,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="监督对象关联电站电压等级:" class="label_over_warp">
<el-form-item
label="监督对象关联电站电压等级:"
prop="substationVoltageLevel"
class="label_over_warp"
>
<el-select
v-model="form.superviseObjStationVoltageLevel"
v-model="form.substationVoltageLevel"
clearable
style="width: 100%"
placeholder="请选择监督对象关联电站电压等级"
@@ -204,9 +199,9 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="实施状态:" prop="implementStatus">
<el-form-item label="实施状态:" prop="effectStatus">
<el-select
v-model="form.implementStatus"
v-model="form.effectStatus"
clearable
style="width: 100%"
placeholder="请选择实施状态"
@@ -226,7 +221,7 @@
<el-form-item label="开始实施时间:">
<el-date-picker
style="width: 100%"
v-model="form.implementBeginTime"
v-model="form.effectStartTime"
type="datetime"
format="YYYY-MM-DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
@@ -241,7 +236,7 @@
<el-form-item label="结束实施时间:">
<el-date-picker
style="width: 100%"
v-model="form.implementEndTime"
v-model="form.effectEndTime"
type="datetime"
format="YYYY-MM-DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
@@ -255,7 +250,7 @@
<el-form-item label="报告出具时间:">
<el-date-picker
style="width: 100%"
v-model="form.reportTime"
v-model="form.reportIssueTime"
type="datetime"
format="YYYY-MM-DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
@@ -270,7 +265,7 @@
<el-form-item label="电能质量问题发生时间:" class="label_over_warp">
<el-date-picker
style="width: 100%"
v-model="form.problemTime"
v-model="form.problemOcTime"
type="datetime"
format="YYYY-MM-DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
@@ -283,7 +278,7 @@
<span class="required_icon_white">*</span>
<el-form-item label="实施人员:">
<el-select
v-model="form.implementUser"
v-model="form.effectUserId"
clearable
style="width: 100%"
placeholder="请选择实施人员"
@@ -301,7 +296,7 @@
<el-row>
<el-col :span="12" class="required_position">
<span class="required_icon_white">*</span>
<el-form-item label="计划状态:" class="label_over_warp">
<el-form-item label="计划状态:">
<el-select v-model="form.planStatus" clearable style="width: 100%" placeholder="请选择计划状态">
<el-option
v-for="item in frontEndMachineList"
@@ -316,11 +311,11 @@
<el-col :span="12" class="required_position">
<span class="required_icon_white">*</span>
<el-form-item label="其他要求:">
<el-input v-model="form.other" autocomplete="off" place-holder="请输入其他要求" />
<el-input v-model="form.otherRemark" autocomplete="off" place-holder="请输入其他要求" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="false">
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item label="盖章报告:" prop="informationSecurityTestReport">
@@ -363,8 +358,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="false">
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item label="计划变更材料:" prop="acceptanceInspectionReport">
@@ -408,7 +402,7 @@
</el-col>
</el-row>
<el-row>
<el-row v-if="false">
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item label="告预警单反馈材料:" prop="factoryInspectionReport" class="label_over_warp">
@@ -470,7 +464,7 @@ import type { ComponentSize, FormInstance, FormRules } from 'element-plus'
import { queryByAllCode } from '@/api/system-boot/dictTree'
import { useAdminInfo } from '@/stores/adminInfo'
import { uploadFile } from '@/api/system-boot/file'
import { addTerminalFormData, getSubstationVoltageLevel } from '@/api/supervision-boot/terminal/index'
import { addPlanFormData } from '@/api/supervision-boot/plan/index'
import { getAreaList } from '@/api/common'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
@@ -487,37 +481,48 @@ const manufacturerList = dictData.getBasicData('Dev_Manufacturers')
const frontEndMachineList = dictData.getBasicData('Front_Type')
//字典获取电压等级
const voltageLevelList = dictData.getBasicData('Dev_Voltage_Stand')
//
const objTypeList = [
{
id: '1',
name: '在运站'
},
{
id: '2',
name: '新(改、扩)建站'
}
]
const resetForm = () => {
form.value = {
planName: '', //计划名称
planUnit:'', //监督单位
planDept: '', //计划编制单位
planType: '', //监督类型
planStep: areaOptionList[0].id, //监督阶段
planSuperviseTime: '', //计划监督时间
superviseObjType: areaOptionList[0].id, //监督对象类型
superviseObjName: '', //监督对象名称
superviseObjVoltageLevel: voltageLevelList[0].id, // 监督对象电压等级
superviseObjAttribute: '', //监督对象属性
superviseObjAttributeName: '', //监督对象属性名称
superviseObjCapacity: '', //监督对象协议容量
superviseObjStation: '', //监督对象关联电站
superviseObjStationVoltageLevel: voltageLevelList[0].id, // 监督对象关联电站电压等级
implementStatus: '0', //实施状态
implementBeginTime: '', //开始实施时间
implementEndTime: '', //结束实施时间
reportTime: '', //报告出具时间
problemTime: '', //电能质量问题发生时间
implementUser: '', //实施人员
workPlanName: '', //计划名称
supvOrgId: '', //监督单位
planOrgId: '', //计划编制单位
supvType: '', //监督类型
supvStage: areaOptionList[0].id, //监督阶段
planSupvDate: '', //计划监督时间
supvObjType: areaOptionList[0].id, //监督对象类型
supvObjName: '', //监督对象名称
objVoltageLevel: voltageLevelList[0].id, // 监督对象电压等级
objType: '', //监督对象属性
objTypeName: '', //监督对象属性名称
objCapacity: '', //监督对象协议容量
substationName: '', //监督对象关联电站
substationVoltageLevel: voltageLevelList[0].id, // 监督对象关联电站电压等级
effectStatus: '0', //实施状态
effectStartTime: '', //开始实施时间
effectEndTime: '', //结束实施时间
reportIssueTime: '', //报告出具时间
problemOcTime: '', //电能质量问题发生时间
effectUserId: '', //实施人员
planStatus: '', //计划状态
other: '', //其他要求
sealReport: '', //盖章报告
evidenceMaterials:'', //佐证材料
planChangeMaterials: '', //计划变更材料
alarmMaterials:'', //告预警单材料
alarmFeedbackMaterials: '', //告预警单反馈材料
assessReport:'' //评估报告
otherRemark: '', //其他要求
planUserId: '' //计划编制人,挡墙登陆用户
// sealReport: '', //盖章报告
// evidenceMaterials:'', //佐证材料
// planChangeMaterials: '', //计划变更材料
// alarmMaterials:'', //告预警单材料
// alarmFeedbackMaterials: '', //告预警单反馈材料
// assessReport:'' //评估报告
}
}
//初始化数据
@@ -526,57 +531,105 @@ resetForm()
//定义校验规则
const rules = ref({
//基础信息
planName: [
workPlanName: [
{
required: true,
message: '请输入计划名称',
trigger: 'blur'
}
],
planUnit: [
supvOrgId: [
{
required: true,
message: '请选择监督单位',
trigger: 'change'
}
],
planDept: [
planOrgId: [
{
required: true,
message: '请选择计划编制单位',
trigger: 'change'
}
],
planType: [
supvType: [
{
required: true,
message: '请选择监督类型',
trigger: 'change'
}
],
planStep: [
supvStage: [
{
required: true,
message: '请选择监督阶段',
trigger: 'change'
}
],
planSuperviseTime: [
planSupvDate: [
{
required: true,
message: '请选择计划监督时间',
trigger: 'change'
}
],
superviseObjVoltageLevel: [
supvObjType: [
{
required: true,
message: '请选择监督对象类型',
trigger: 'change'
}
],
supvObjName: [
{
required: true,
message: '请输入监督对象名称',
trigger: 'blur'
}
],
objVoltageLevel: [
{
required: true,
message: '请选择监督对象电压等级',
trigger: 'change'
}
],
implementStatus: [
objType: [
{
required: true,
message: '请选择监督对象属性',
trigger: 'change'
}
],
objTypeName: [
{
required: false,
message: '请输入监督对象属性名称',
trigger: 'blur'
}
],
objCapacity: [
{
required: true,
message: '请输入监督对象监督对象协议容量',
trigger: 'blur'
}
],
substationName: [
{
required: true,
message: '请输入监督对象关联电站',
trigger: 'blur'
}
],
substationVoltageLevel: [
{
required: true,
message: '请选择监督对象关联电站电压等级',
trigger: 'change'
}
],
effectStatus: [
{
required: true,
message: '请选择实施状态',
@@ -665,61 +718,64 @@ const choose = (e: any) => {
const disabledDate = time => {
return time.getTime() < Date.now() - 8.64e7 // 8.64e7 毫秒数代表一天
}
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
//提交
const confirmForm = () => {
// 提交终端信息
ruleFormRef.value.validate(valid => {
if (valid) {
form.value.planUserId = adminInfo.$state.id
let confirmFormData = JSON.parse(JSON.stringify(form.value))
//1.判断是否上传
if (!sealReport.value) {
return ElMessage({
message: '请上传盖章报告',
type: 'warning'
})
}
if (!evidenceMaterials.value) {
return ElMessage({
message: '请上传佐证材料',
type: 'warning'
})
}
if (!planChangeMaterials.value) {
return ElMessage({
message: '请上传计划变更材料',
type: 'warning'
})
}
if (!alarmMaterials.value) {
return ElMessage({
message: '请上传告预警单材料',
type: 'warning'
})
}
if (!alarmFeedbackMaterials.value) {
return ElMessage({
message: '请上传告预警单反馈材料',
type: 'warning'
})
}
if (!assessReport.value) {
return ElMessage({
message: '请上传评估报告',
type: 'warning'
})
}
// if (!sealReport.value) {
// return ElMessage({
// message: '请上传盖章报告',
// type: 'warning'
// })
// }
// if (!evidenceMaterials.value) {
// return ElMessage({
// message: '请上传佐证材料',
// type: 'warning'
// })
// }
// if (!planChangeMaterials.value) {
// return ElMessage({
// message: '请上传计划变更材料',
// type: 'warning'
// })
// }
// if (!alarmMaterials.value) {
// return ElMessage({
// message: '请上传告预警单材料',
// type: 'warning'
// })
// }
// if (!alarmFeedbackMaterials.value) {
// return ElMessage({
// message: '请上传告预警单反馈材料',
// type: 'warning'
// })
// }
// if (!assessReport.value) {
// return ElMessage({
// message: '请上传评估报告',
// type: 'warning'
// })
// }
//提交终端信息
confirmFormData = {
...confirmFormData,
sealReport: sealReport?.value, //盖章报告
evidenceMaterials: evidenceMaterials.value, //佐证材料
planChangeMaterials: planChangeMaterials.value, //计划变更材料
alarmMaterials: alarmMaterials.value, //告预警单材料
alarmFeedbackMaterials: alarmFeedbackMaterials.value, //告预警单反馈材料
assessReport: assessReport.value //评估报告
}
addTerminalFormData(confirmFormData).then(res => {
// confirmFormData = {
// ...confirmFormData,
// sealReport: sealReport?.value, //盖章报告
// evidenceMaterials: evidenceMaterials.value, //佐证材料
// planChangeMaterials: planChangeMaterials.value, //计划变更材料
// alarmMaterials: alarmMaterials.value, //告预警单材料
// alarmFeedbackMaterials: alarmFeedbackMaterials.value, //告预警单反馈材料
// assessReport: assessReport.value //评估报告
// }
addPlanFormData(confirmFormData).then(res => {
ruleFormRef.value.resetFields()
resetForm()
close()

View File

@@ -45,76 +45,38 @@ const ruleFormRef = ref()
const show: any = ref(false)
const fileList = ref([])
const tableStore = new TableStore({
url: '/supervision-boot/deVReport/list',
url: '/supervision-boot/superPlan/pagePlan',
publicHeight: 65,
method: 'POST',
column: [
{ title: '序号', type: 'seq', width: 80 },
{ field: 'orgName', title: '所属省份' , minWidth: 170 },
{ field: 'orgName', title: '所属地市' , minWidth: 170 },
{ field: 'orgName', title: '所属县区' , minWidth: 170 },
{ field: 'orgName', title: '监督单位' , minWidth: 170 },
{ field: 'orgName', title: '计划名称' , minWidth: 170 },
{ field: 'reportDate', title: '计划监督时间', minWidth: 170},
{ field: 'orgName', title: '监督类型' , minWidth: 170 },
{ field: 'orgName', title: '监督阶段' , minWidth: 170 },
{ field: 'orgName', title: '监督对象类型' , minWidth: 170 },
{ field: 'reporter', title: '填报人', minWidth: 80 },
{
field: 'status',
title: '审核状态',
minWidth: 100,
render: 'tag',
custom: {
1: 'primary',
2: 'success',
3: 'danger',
4: 'warning'
},
replaceValue: {
1: '审批中',
2: '审批通过',
3: '审批不通过',
4: '已取消'
}
},
{ field: 'monitoringTerminalName', title: '设备名称', minWidth: 170 },
{ field: 'substation', title: '所属变电站', minWidth: 170 },
{ field: 'province', title: '所属省份' , minWidth: 170 },
{ field: 'city', title: '所属地市' , minWidth: 170 },
{ field: 'county', title: '所属县区' , minWidth: 170 },
{ field: 'supvOrgId', title: '监督单位' , minWidth: 170 },
{ field: 'workPlanName', title: '计划名称' , minWidth: 170 },
{ field: 'planSupvDate', title: '计划监督时间', minWidth: 170},
{ field: 'supvType', title: '监督类型' , minWidth: 170 },
{ field: 'supvStage', title: '监督阶段' , minWidth: 170 },
{ field: 'supvObjType', title: '监督对象类型' , minWidth: 170 },
// {
// field: 'userType',
// title: '用户性质',
// minWidth: 150,
// formatter: (obj: any) => {
// const userType = obj.row.userType
// return getUserTypeName(userType)
// }
// },
// { field: 'informationSecurityTestReport', title: '信息安全检测报告', minWidth: 170 },
// { field: 'otherAttachments', title: '其他附件', minWidth: 170 },
// { field: 'orgName', title: '填报部门名称'},
// { field: 'performanceTestReport', title: '性能检测报告', minWidth: 170 },
// {
// field: 'userStatus',
// title: '用户状态',
// field: 'status',
// title: '审核状态',
// minWidth: 100,
// render: 'tag',
// custom: {
// 0: 'primary',
// 1: 'primary',
// 2: 'success',
// 3: 'warning'
// 3: 'danger',
// 4: 'warning'
// },
// replaceValue: {
// 0: '可研',
// 1: '建设',
// 2: '运行',
// 3: '退运'
// 1: '审批中',
// 2: '审批通过',
// 3: '审批不通过',
// 4: '已取消'
// }
// },
// { field: 'substation', title: '变电站', minWidth: 100 },
// { field: 'createTime', title: '开始时间', minWidth: 170 },
{
title: '操作',
minWidth: 150,