修改 电能质量问题管理页面
This commit is contained in:
@@ -395,7 +395,8 @@ const setTime = (flag = 0, e = 0) => {
|
||||
let dd = window.XEUtils.toDateString(new Date().getTime() - e * 3600 * 1000 * 24, 'dd')
|
||||
|
||||
let data = ''
|
||||
if (dd < 4 || dd == 0) {
|
||||
|
||||
if ((dd < 4 || dd == 0) && interval.value != 4) {
|
||||
data = window.XEUtils.toDateString(new Date().getTime() - (e + dd) * 3600 * 1000 * 24, 'yyyy-MM-dd')
|
||||
} else {
|
||||
data = window.XEUtils.toDateString(new Date().getTime() - e * 3600 * 1000 * 24, 'yyyy-MM-dd')
|
||||
|
||||
@@ -180,3 +180,8 @@
|
||||
.el-step__title {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
|
||||
background-color: var(--el-checkbox-checked-bg-color);
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,10 @@
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="首端电压模型参数" name="4">
|
||||
<vxe-table height="auto" v-bind="defaultAttribute" :data="voltageList">
|
||||
<vxe-column field="name" title="项别模型参数"></vxe-column>
|
||||
<!-- <vxe-column field="name" title="项别模型参数"></vxe-column> -->
|
||||
<vxe-colgroup field="group0" title="模型参数">
|
||||
<vxe-column field="name" width="180" title="项别"></vxe-column>
|
||||
</vxe-colgroup>
|
||||
<vxe-column field="c" title="C"></vxe-column>
|
||||
<vxe-column field="a" title="a"></vxe-column>
|
||||
<vxe-column field="b" title="b"></vxe-column>
|
||||
@@ -504,22 +507,21 @@ const choose = (e: any) => {
|
||||
})
|
||||
}
|
||||
const handleNodeClick = (data: any, node: any) => {
|
||||
lineList.value = {}
|
||||
dotList.value = data
|
||||
if (flag.value) {
|
||||
lineList.value = {}
|
||||
dotList.value = data
|
||||
|
||||
if (data.level == 6) {
|
||||
getLineDetailData({ id: data.id }).then((res: any) => {
|
||||
lineList.value = res.data
|
||||
})
|
||||
if (data.level == 6) {
|
||||
getLineDetailData({ id: data.id }).then((res: any) => {
|
||||
lineList.value = res.data
|
||||
})
|
||||
}
|
||||
}
|
||||
// if (flag.value) {
|
||||
// onSubmit()
|
||||
// flag.value = false
|
||||
// }
|
||||
|
||||
if (props.rowList.userId != undefined) {
|
||||
if (props.rowList.userId != undefined && flag.value) {
|
||||
TreeRef.value.setKey(props.rowList.lineId)
|
||||
onSubmit()
|
||||
flag.value = false
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -311,7 +311,7 @@ const xTableRef = ref()
|
||||
const addData = ref({
|
||||
orgName: '',
|
||||
problemSources: '',
|
||||
problemName: dictData.state.area[0].name,
|
||||
problemName: '',
|
||||
orgNo: dictData.state.area[0].id
|
||||
})
|
||||
const ordinaryA = ref({
|
||||
@@ -454,7 +454,7 @@ const formatter = (row: any) => {
|
||||
}
|
||||
// 运维异常问题新增
|
||||
const generateAbnormal = () => {
|
||||
operationAddRef.value.validate(valid => {
|
||||
operationAddRef.value.validate((valid: any) => {
|
||||
if (valid) {
|
||||
addAbnormalIssues({
|
||||
...operationAdddata.value,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-dialog draggable title="详情" v-model="dialogVisible" width="70%" :before-close="handleClose">
|
||||
<el-dialog draggable title="详情" v-model="dialogVisible" width="1400px" :before-close="handleClose">
|
||||
<el-carousel trigger="click" height="500px" arrow="never" :autoplay="false">
|
||||
<el-carousel-item>
|
||||
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">
|
||||
问题基本信息
|
||||
</el-divider>
|
||||
<el-form :model="addData" :inline="true" disabled label-width="120px">
|
||||
<el-form :model="addData" :inline="true" disabled label-width="auto">
|
||||
<el-form-item label="所属单位:">
|
||||
<el-input v-model="addData.orgName" clearable placeholder="请填写"></el-input>
|
||||
</el-form-item>
|
||||
@@ -64,27 +64,34 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-carousel-item>
|
||||
<el-carousel-item style="height: 100px">123</el-carousel-item>
|
||||
<el-carousel-item>
|
||||
<!-- 填报 -->
|
||||
<Filling ref="FillingRef" />
|
||||
</el-carousel-item>
|
||||
</el-carousel>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive } from 'vue'
|
||||
import { ref } from 'vue'
|
||||
import { getAbnormalDetail } from '@/api/process-boot/electricitymanagement'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import Filling from './filling.vue'
|
||||
|
||||
const dictData = useDictData()
|
||||
const addData: any = ref({})
|
||||
|
||||
const FillingRef = ref()
|
||||
const dialogVisible: any = ref(false)
|
||||
|
||||
const problemData = dictData.getBasicData('Problem_Sources')
|
||||
const steadyIndicatorList = dictData.getBasicData('Steady_Indicator')
|
||||
const transientIndicatorsList = dictData.getBasicData('Transient_Indicators')
|
||||
const open = (row: any) => {
|
||||
const data = getAbnormalDetail(row.powerQualityProblemNo)
|
||||
addData.value = data
|
||||
// console.log('🚀 ~ open ~ data:', data)
|
||||
dialogVisible.value = true
|
||||
getAbnormalDetail(row.powerQualityProblemNo).then((res: any) => {
|
||||
addData.value = res.data
|
||||
FillingRef.value.open(row)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
// 取消
|
||||
|
||||
@@ -1,55 +1,53 @@
|
||||
<template>
|
||||
<el-dialog draggable title="填报" v-model="dialogVisible" width="1400px" :before-close="handleClose">
|
||||
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">问题基本信息</el-divider>
|
||||
<el-form :inline="true" label-width="auto">
|
||||
<el-form-item label="所属单位:">
|
||||
<el-input v-model="addData.orgName" clearable placeholder="请填写" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">问题基本信息</el-divider>
|
||||
<el-form :inline="true" label-width="auto">
|
||||
<el-form-item label="所属单位:">
|
||||
<el-input v-model="addData.orgName" clearable placeholder="请填写" disabled></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="问题来源:">
|
||||
<el-select disabled v-model="addData.problemSources" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in problemData"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="问题来源:">
|
||||
<el-select disabled v-model="addData.problemSources" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in problemData"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="问题名称:">
|
||||
<el-input v-model="addData.problemName" clearable placeholder="请填写" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="问题名称:">
|
||||
<el-input v-model="addData.problemName" clearable placeholder="请填写" disabled></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="问题编号:">
|
||||
<el-input v-model="addData.powerQualityProblemNo" disabled clearable placeholder="请填写"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-form-item label="问题编号:">
|
||||
<el-input v-model="addData.powerQualityProblemNo" disabled clearable placeholder="请填写"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">填报流程</el-divider>
|
||||
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">填报流程</el-divider>
|
||||
|
||||
<el-steps :active="active" finish-status="success" simple>
|
||||
<el-step v-for="(item, i) in stepTitle">
|
||||
<template #title>
|
||||
<span @click="step(i)">{{ item }}</span>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<el-steps :active="active" finish-status="success" class="mb10" simple>
|
||||
<el-step v-for="(item, i) in stepTitle">
|
||||
<template #title>
|
||||
<span @click="step(i)">{{ item }}</span>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
|
||||
<!-- 原因分析 0 -->
|
||||
<process1 v-if="control == 0" :addData="addData" ref="process0Ref" @handleClose="handleClose" />
|
||||
<!-- 计划整改措施 1-->
|
||||
<process2 v-if="control == 1" :addData="addData" ref="process1Ref" @handleClose="handleClose" />
|
||||
<!-- 实际采取措施 2 -->
|
||||
<process3 v-if="control == 2" :addData="addData" ref="process2Ref" @handleClose="handleClose" />
|
||||
<!-- 成效分析 3 -->
|
||||
<process4 v-if="control == 3" :addData="addData" ref="process3Ref" @handleClose="handleClose" />
|
||||
<!-- 原因分析 0 -->
|
||||
<process1 v-if="control == 0" :addData="addData" ref="process0Ref" @handleClose="handleClose" />
|
||||
<!-- 计划整改措施 1-->
|
||||
<process2 v-if="control == 1" :addData="addData" ref="process1Ref" @handleClose="handleClose" />
|
||||
<!-- 实际采取措施 2 -->
|
||||
<process3 v-if="control == 2" :addData="addData" ref="process2Ref" @handleClose="handleClose" />
|
||||
<!-- 成效分析 3 -->
|
||||
<process4 v-if="control == 3" :addData="addData" ref="process3Ref" @handleClose="handleClose" />
|
||||
|
||||
<div style="display: flex; justify-content: center; margin-top: 10px">
|
||||
<el-button type="primary" @click="Submit">提交审核</el-button>
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="display: flex; justify-content: center; margin-top: 10px" v-show="active == control">
|
||||
<el-button type="primary" @click="Submit">提交审核</el-button>
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive } from 'vue'
|
||||
@@ -59,32 +57,43 @@ import process2 from './process2.vue'
|
||||
import process3 from './process3.vue'
|
||||
import process4 from './process4.vue'
|
||||
import { getAbnormalDetail } from '@/api/process-boot/electricitymanagement'
|
||||
const emit = defineEmits(['onSubmit'])
|
||||
const emit = defineEmits(['beforeClose'])
|
||||
const dictData = useDictData()
|
||||
const addData: any = ref({})
|
||||
const active = ref(4)
|
||||
const control = ref()
|
||||
const stepTitle = ['原因分析', '计划整改措施', '实际采取措施', '成效分析']
|
||||
const process0Ref = ref()
|
||||
const dialogVisible: any = ref(false)
|
||||
const process1Ref = ref()
|
||||
const process2Ref = ref()
|
||||
const process3Ref = ref()
|
||||
|
||||
const problemData = dictData.getBasicData('Problem_Sources')
|
||||
const open = (row: any) => {
|
||||
addData.value = row
|
||||
|
||||
getAbnormalDetail(row.powerQualityProblemNo).then((res: any) => {
|
||||
if (res.data.filePathYyfx == null) {
|
||||
active.value = 0
|
||||
} else if (res.data.filePathJhzg == null) {
|
||||
active.value = 1
|
||||
if (row.reportProcessStatus == 'Fail') {
|
||||
active.value = 0
|
||||
}
|
||||
} else if (res.data.filePathSjcq == null) {
|
||||
active.value = 2
|
||||
if (row.reportProcessStatus == 'Fail') {
|
||||
active.value = 1
|
||||
}
|
||||
} else if (res.data.filePathZlxg == null) {
|
||||
active.value = 3
|
||||
if (row.reportProcessStatus == 'Fail') {
|
||||
active.value = 2
|
||||
}
|
||||
}
|
||||
|
||||
control.value = active.value
|
||||
})
|
||||
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
const step = (e: number) => {
|
||||
@@ -98,14 +107,16 @@ const Submit = () => {
|
||||
if (control.value == 0) {
|
||||
process0Ref.value.submit()
|
||||
} else if (control.value == 1) {
|
||||
process1Ref.value.submit()
|
||||
} else if (control.value == 2) {
|
||||
process2Ref.value.submit()
|
||||
} else if (control.value == 3) {
|
||||
process3Ref.value.submit()
|
||||
}
|
||||
}
|
||||
// 取消
|
||||
const handleClose = () => {
|
||||
dialogVisible.value = false
|
||||
emit('onSubmit')
|
||||
emit('beforeClose')
|
||||
}
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
|
||||
@@ -48,9 +48,12 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<!-- 新增 -->
|
||||
<NewlyAdd v-if="showNewlyAdded" @handleClose="handleClose" @onSubmit="tableStore.index()" />
|
||||
<NewlyAdd v-if="showNewlyAdded" @handleClose="handleClose" @onSubmit="" />
|
||||
<!-- 填报 -->
|
||||
<Filling ref="FillingRef" @onSubmit="tableStore.index()" />
|
||||
<el-dialog draggable title="填报" v-model="dialogVisible" width="1400px" :before-close="beforeClose">
|
||||
<Filling ref="FillingRef" @beforeClose="beforeClose" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 详情 -->
|
||||
<Detail ref="detailRef" />
|
||||
</template>
|
||||
@@ -69,6 +72,7 @@ const dictData = useDictData()
|
||||
const FillingRef = ref()
|
||||
|
||||
const showNewlyAdded = ref(false)
|
||||
const dialogVisible = ref(false)
|
||||
const TableHeaderRef = ref()
|
||||
const detailRef = ref()
|
||||
const problemData = dictData.getBasicData('Problem_Sources')
|
||||
@@ -133,13 +137,19 @@ const tableStore: any = new TableStore({
|
||||
name: 'edit',
|
||||
title: '填报',
|
||||
disabled: row => {
|
||||
return row.reportProcessStatus == 'Auditt'
|
||||
return (
|
||||
row.reportProcessStatus == 'Auditt' ||
|
||||
(row.reportProcess == 'Insights' && row.reportProcessStatus == 'Success')
|
||||
)
|
||||
},
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
filling(row)
|
||||
dialogVisible.value = true
|
||||
setTimeout(() => {
|
||||
FillingRef.value.open(row)
|
||||
}, 10)
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -191,41 +201,13 @@ const add = () => {
|
||||
showNewlyAdded.value = true
|
||||
}
|
||||
|
||||
// 填报
|
||||
const filling = (row: any) => {
|
||||
FillingRef.value.open(row)
|
||||
if (row.reportProcess == 'Not_Reported') {
|
||||
// 原因分析
|
||||
// this.showCauseAnalysisJP = true
|
||||
// setTimeout(() => {
|
||||
// this.$refs.CauseAnalysisJP.causeAnalysis = true
|
||||
// }, 0)
|
||||
} else if (row.reportProcess == 'Cause_Analysis' && row.reportProcessStatus == 'Success') {
|
||||
// 计划整改措施
|
||||
// this.showPlannedRectification = true
|
||||
// setTimeout(() => {
|
||||
// this.$refs.PlannedRectification.rectificationMeasures = true
|
||||
// }, 0)
|
||||
} else if (row.reportProcess == 'Plan_Measures' && row.reportProcessStatus == 'Success') {
|
||||
// 实际采取措施
|
||||
// this.showActualMeasures = true
|
||||
// setTimeout(() => {
|
||||
// this.$refs.ActualMeasures.rectificationMeasures = true
|
||||
// }, 0)
|
||||
} else if (row.reportProcess == 'Actual_Measures' && row.reportProcessStatus == 'Success') {
|
||||
// 成效分析
|
||||
// this.showEffectiveness = true
|
||||
// setTimeout(() => {
|
||||
// this.$refs.Effectiveness.effectivenessAnalysis = true
|
||||
// }, 0)
|
||||
} else if (row.reportProcess == 'Insights' && row.reportProcessStatus == 'Success') {
|
||||
ElMessage.warning('填报已结束,无需填报!')
|
||||
} else {
|
||||
ElMessage.warning('审核未通过,不能进行填报!')
|
||||
}
|
||||
}
|
||||
// 关闭弹框
|
||||
const handleClose = () => {
|
||||
showNewlyAdded.value = false
|
||||
}
|
||||
// 关闭 填报
|
||||
const beforeClose = () => {
|
||||
dialogVisible.value = false
|
||||
tableStore.index()
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-form :model="causeAnalysisData" :rules="rules" ref="formRef" label-width="140px">
|
||||
<el-form :model="causeAnalysisData" :rules="rules" ref="form1Ref" label-width="auto">
|
||||
<el-form-item label="电网侧原因:" prop="reportProcessContentYyfx">
|
||||
<el-checkbox-group v-model="causeAnalysisData.reportProcessContentYyfx">
|
||||
<el-checkbox v-for="(item, ind) in CauseList" :key="ind" :label="item.code">
|
||||
@@ -81,7 +81,7 @@ const emit = defineEmits(['handleClose'])
|
||||
|
||||
const dictData = useDictData()
|
||||
const upload = ref()
|
||||
const formRef = ref()
|
||||
const form1Ref = ref()
|
||||
const causeAnalysisData: any = ref({
|
||||
reportProcessContentYyfx: [],
|
||||
userReportProcessContentYyfx: [],
|
||||
@@ -119,9 +119,9 @@ const handleExceed: UploadProps['onExceed'] = files => {
|
||||
}
|
||||
|
||||
const submit = () => {
|
||||
console.log('🚀 ~ formRef.value.validate ~ =prop.addData:', prop.addData)
|
||||
// console.log('🚀 ~ form1Ref.value.validate ~ =prop.addData:', prop.addData)
|
||||
|
||||
formRef.value.validate(async (valid: any) => {
|
||||
form1Ref.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
let form = new FormData()
|
||||
form.append('file', causeAnalysisData.value.fileList[0].raw)
|
||||
|
||||
@@ -1,7 +1,96 @@
|
||||
<template>
|
||||
<div>123</div>
|
||||
<el-form :model="rectificationMeasuresData" :rules="rules" ref="form2Ref" label-width="auto">
|
||||
<el-form-item label="电网侧整改治理措施:" prop="reportProcessContentJhzg">
|
||||
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentJhzg">
|
||||
<el-checkbox v-for="item in JhzgList" :label="item.code">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider></el-divider>
|
||||
|
||||
<el-form-item label="用户侧整改治理措施:" prop="userReportProcessContentJhzg">
|
||||
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentJhzg">
|
||||
<el-checkbox v-for="item in JhzgList" :label="item.code">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider></el-divider>
|
||||
<el-form-item class="item" label="计划整改措施报告:" style="margin-top: 10px" prop="fileList">
|
||||
<el-upload
|
||||
v-model:file-list="rectificationMeasuresData.fileList"
|
||||
ref="upload"
|
||||
action=""
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:auto-upload="false"
|
||||
>
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { uploadFile, correctiveAction } from '@/api/process-boot/electricitymanagement'
|
||||
import { UploadInstance, UploadProps, UploadRawFile, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { genFileId } from 'element-plus'
|
||||
import { ref, reactive } from 'vue'
|
||||
const prop = defineProps({
|
||||
addData: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['handleClose'])
|
||||
|
||||
const dictData = useDictData()
|
||||
const upload = ref()
|
||||
const form2Ref = ref()
|
||||
const rectificationMeasuresData: any = ref({
|
||||
reportProcessContentJhzg: [],
|
||||
userReportProcessContentJhzg: [],
|
||||
fileNameJhzg: '', //计划整改文件名称
|
||||
filePathJhzg: '', // 计划整改文件路径
|
||||
fileList: []
|
||||
})
|
||||
const rules = {
|
||||
reportProcessContentJhzg: [{ required: true, message: '请选择电网侧整改治理措施', trigger: 'change' }],
|
||||
userReportProcessContentJhzg: [{ required: true, message: '请选择用户侧整改治理措施', trigger: 'change' }],
|
||||
fileList: [{ required: true, message: '请上传文件', trigger: 'change' }]
|
||||
}
|
||||
// 电网侧整改治理措施
|
||||
const JhzgList = dictData.getBasicData('Plan_Take')
|
||||
|
||||
// 上传
|
||||
const handleExceed: UploadProps['onExceed'] = files => {
|
||||
upload.value!.clearFiles()
|
||||
const file = files[0] as UploadRawFile
|
||||
file.uid = genFileId()
|
||||
upload.value!.handleStart(file)
|
||||
}
|
||||
|
||||
const submit = () => {
|
||||
form2Ref.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
let form = new FormData()
|
||||
form.append('file', rectificationMeasuresData.value.fileList[0].raw)
|
||||
rectificationMeasuresData.value.powerQualityProblemNo = prop.addData.powerQualityProblemNo
|
||||
await uploadFile(form).then((res: any) => {
|
||||
rectificationMeasuresData.value.filePathJhzg = res.data.minFileUrl
|
||||
rectificationMeasuresData.value.fileNameJhzg = res.data.minFileName
|
||||
})
|
||||
|
||||
await correctiveAction(rectificationMeasuresData.value).then((res: any) => {
|
||||
ElMessage.success('提交成功')
|
||||
emit('handleClose')
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
defineExpose({
|
||||
submit
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
@@ -1,11 +1,96 @@
|
||||
<template>
|
||||
<el-form :model="rectificationMeasuresData" :rules="rules" ref="form2Ref" label-width="auto">
|
||||
<el-form-item label="电网侧实际采取措施:" prop="reportProcessContentSjcq">
|
||||
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentSjcq">
|
||||
<el-checkbox v-for="(item, ind) in SjcqList" :key="ind" :label="item.code">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
|
||||
<div> </div>
|
||||
<el-divider></el-divider>
|
||||
|
||||
<el-form-item label="用户侧实际采取措施:" prop="userReportProcessContentSjcq">
|
||||
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentSjcq">
|
||||
<el-checkbox v-for="(item, ind) in SjcqList" :key="ind" :label="item.code">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider></el-divider>
|
||||
<el-form-item class="item" label="实际采取措施报告:" style="margin-top: 10px" prop="fileList">
|
||||
<el-upload
|
||||
v-model:file-list="rectificationMeasuresData.fileList"
|
||||
ref="upload"
|
||||
action=""
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:auto-upload="false"
|
||||
>
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
<script setup lang="ts">
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { uploadFile, takeAction } from '@/api/process-boot/electricitymanagement'
|
||||
import { UploadInstance, UploadProps, UploadRawFile, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { genFileId } from 'element-plus'
|
||||
import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
const prop = defineProps({
|
||||
addData: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['handleClose'])
|
||||
|
||||
</style>
|
||||
const dictData = useDictData()
|
||||
const upload = ref()
|
||||
const form2Ref = ref()
|
||||
const rectificationMeasuresData: any = ref({
|
||||
reportProcessContentSjcq: [],
|
||||
userReportProcessContentSjcq: [],
|
||||
fileNameSjcq: '', //实际采取措施报告文件名称
|
||||
filePathSjcq: '', // 实际采取措施报告文件路径
|
||||
fileList: []
|
||||
})
|
||||
const rules = {
|
||||
reportProcessContentSjcq: [{ required: true, message: '请选择电网侧实际采取措施', trigger: 'change' }],
|
||||
userReportProcessContentSjcq: [{ required: true, message: '请选择用户侧实际采取措施', trigger: 'change' }],
|
||||
fileList: [{ required: true, message: '请上传文件', trigger: 'change' }]
|
||||
}
|
||||
// 电网侧整改治理措施
|
||||
const SjcqList = dictData.getBasicData('Plan_Take', ['Rectify_Orders'])
|
||||
|
||||
// 上传
|
||||
const handleExceed: UploadProps['onExceed'] = files => {
|
||||
upload.value!.clearFiles()
|
||||
const file = files[0] as UploadRawFile
|
||||
file.uid = genFileId()
|
||||
upload.value!.handleStart(file)
|
||||
}
|
||||
|
||||
const submit = () => {
|
||||
form2Ref.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
let form = new FormData()
|
||||
form.append('file', rectificationMeasuresData.value.fileList[0].raw)
|
||||
rectificationMeasuresData.value.powerQualityProblemNo = prop.addData.powerQualityProblemNo
|
||||
await uploadFile(form).then((res: any) => {
|
||||
rectificationMeasuresData.value.filePathSjcq = res.data.minFileUrl
|
||||
rectificationMeasuresData.value.fileNameSjcq = res.data.minFileName
|
||||
})
|
||||
|
||||
await takeAction(rectificationMeasuresData.value).then((res: any) => {
|
||||
ElMessage.success('提交成功')
|
||||
emit('handleClose')
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
defineExpose({
|
||||
submit
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
@@ -1,7 +1,87 @@
|
||||
<template>
|
||||
<div></div>
|
||||
<el-form :model="effectivenessAnalysisData" :rules="rules" ref="form2Ref" label-width="auto">
|
||||
<el-form-item label="成效分析概述:" style="margin-top: 10px" prop="descriptionZlxg">
|
||||
<el-input
|
||||
type="textarea"
|
||||
style="width: 400px"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
placeholder="请输入内容"
|
||||
v-model="effectivenessAnalysisData.descriptionZlxg"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider></el-divider>
|
||||
<el-form-item class="item" label="实际采取措施报告:" style="margin-top: 10px" prop="fileList">
|
||||
<el-upload
|
||||
v-model:file-list="effectivenessAnalysisData.fileList"
|
||||
ref="upload"
|
||||
action=""
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:auto-upload="false"
|
||||
>
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { uploadFile, effectAnalysis } from '@/api/process-boot/electricitymanagement'
|
||||
import { UploadInstance, UploadProps, UploadRawFile, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { genFileId } from 'element-plus'
|
||||
import { ref, reactive } from 'vue'
|
||||
const prop = defineProps({
|
||||
addData: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['handleClose'])
|
||||
const dictData = useDictData()
|
||||
const upload = ref()
|
||||
const form2Ref = ref()
|
||||
const effectivenessAnalysisData: any = ref({
|
||||
descriptionZlxg: '',
|
||||
fileNameZlxg: '', //实际采取措施报告文件名称
|
||||
filePathZlxg: '', //实际采取措施报告文件路径
|
||||
fileList: []
|
||||
})
|
||||
const rules = {
|
||||
descriptionZlxg: [{ required: true, message: '请填写', trigger: 'blur' }],
|
||||
fileList: [{ required: true, message: '请上传文件', trigger: 'change' }]
|
||||
}
|
||||
|
||||
// 上传
|
||||
const handleExceed: UploadProps['onExceed'] = files => {
|
||||
upload.value!.clearFiles()
|
||||
const file = files[0] as UploadRawFile
|
||||
file.uid = genFileId()
|
||||
upload.value!.handleStart(file)
|
||||
}
|
||||
|
||||
const submit = () => {
|
||||
form2Ref.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
let form = new FormData()
|
||||
form.append('file', effectivenessAnalysisData.value.fileList[0].raw)
|
||||
effectivenessAnalysisData.value.powerQualityProblemNo = prop.addData.powerQualityProblemNo
|
||||
await uploadFile(form).then((res: any) => {
|
||||
effectivenessAnalysisData.value.filePathZlxg = res.data.minFileUrl
|
||||
effectivenessAnalysisData.value.fileNameZlxg = res.data.minFileName
|
||||
})
|
||||
|
||||
await effectAnalysis(effectivenessAnalysisData.value).then((res: any) => {
|
||||
ElMessage.success('提交成功')
|
||||
emit('handleClose')
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
defineExpose({
|
||||
submit
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
Reference in New Issue
Block a user