技术监督计划管理-新增计划-计划开始时间结束时间添加禁选范围

This commit is contained in:
zhujiyan
2024-06-07 09:35:49 +08:00
parent ad8086f38e
commit 8ffb93e86e

View File

@@ -1,13 +1,21 @@
<template> <template>
<el-dialog draggable :title="title" v-model="planAddition" width="500px" :before-close="cancelFn"> <el-dialog draggable :title="title" v-model="planAddition" width="500px" :before-close="cancelFn">
<el-form :model="form" ref="formRef" :rules="rules" label-width="auto" scroll-to-error :validate-on-rule-change="false" class="form-one"> <el-form
:model="form"
ref="formRef"
:rules="rules"
label-width="auto"
scroll-to-error
:validate-on-rule-change="false"
class="form-one"
>
<el-form-item for="-" label="计划负责单位:"> <el-form-item for="-" label="计划负责单位:">
<Area v-model="form.deptId" /> <Area v-model="form.deptId" />
</el-form-item> </el-form-item>
<el-form-item for="-" label="计划名称:" prop="planName"> <el-form-item for="-" label="计划名称:" prop="planName">
<el-input v-model="form.planName" placeholder="请输入计划名称"></el-input> <el-input v-model="form.planName" placeholder="请输入计划名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="监督类型:" prop="supvType" > <el-form-item label="监督类型:" prop="supvType">
<el-select v-model="form.supvType" placeholder="请选择监督类型" style="width: 100%"> <el-select v-model="form.supvType" placeholder="请选择监督类型" style="width: 100%">
<el-option <el-option
v-for="item in supvTypeOptionList" v-for="item in supvTypeOptionList"
@@ -26,6 +34,7 @@
type="date" type="date"
placeholder="选择计划开始时间" placeholder="选择计划开始时间"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
:disabled-date="disableStartDate"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item for="-" label="计划结束时间:" prop="planEndTime"> <el-form-item for="-" label="计划结束时间:" prop="planEndTime">
@@ -33,6 +42,7 @@
v-model="form.planEndTime" v-model="form.planEndTime"
type="date" type="date"
placeholder="选择计划结束时间" placeholder="选择计划结束时间"
:disabled-date="disableEndDate"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
@@ -131,9 +141,15 @@
</el-dialog> </el-dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, nextTick } from 'vue' import { ref, reactive, nextTick } from 'vue'
import { addSurvey, auditSurvey, addSurveyPlan, getById,initDetpStataionTree,updateSurveyPlan } from '@/api/process-boot/generalTest' import {
addSurvey,
auditSurvey,
addSurveyPlan,
getById,
initDetpStataionTree,
updateSurveyPlan
} from '@/api/process-boot/generalTest'
import Area from '@/components/form/area/index.vue' import Area from '@/components/form/area/index.vue'
import { ElMessage, UploadProps } from 'element-plus' import { ElMessage, UploadProps } from 'element-plus'
@@ -153,7 +169,22 @@ const defaultProps = ref({
expandTrigger: 'hover' as const, expandTrigger: 'hover' as const,
multiple: true multiple: true
}) })
//开始时间不能大于结束时间
const disableStartDate = (time: any) => {
if (time && form.value.planEndTime) {
return time.getTime() > new Date(form.value.planEndTime).getTime()
} else {
return false
}
}
//结束时间不能小于开始时间
const disableEndDate = (time: any) => {
if (time && form.value.planStartTime) {
return time.getTime() <= new Date(form.value.planStartTime).getTime()- 8.64e7
} else {
return false
}
}
const form: any = ref({ const form: any = ref({
// orgName: '', // orgName: '',
deptId: dictData.state.area[0].id, deptId: dictData.state.area[0].id,
@@ -167,8 +198,7 @@ const form: any = ref({
customSubstationFlag: 0 //电站类型 customSubstationFlag: 0 //电站类型
}) })
const props = { const props = {
expandTrigger: 'hover' as const, expandTrigger: 'hover' as const
} }
const formRef = ref() const formRef = ref()
const treeRef = ref() const treeRef = ref()
@@ -203,15 +233,13 @@ const treeList = ref()
const loadData = () => { const loadData = () => {
initDetpStataionTree({ orgId: dictData.state.area[0].id }).then(res => { initDetpStataionTree({ orgId: dictData.state.area[0].id }).then(res => {
treeList.value = res.data treeList.value = res.data
console.log(treeList.value)
}) })
} }
const detailById = (id: any) => {
const detailById = (id:any) =>{
getById(id).then(res => { getById(id).then(res => {
form.value = res.data form.value = res.data
form.value.substation = res.data.substation.split(",") form.value.substation = res.data.substation.split(',')
}) })
} }
// 提交 // 提交
@@ -220,7 +248,6 @@ const submitFn = () => {
if (valid) { if (valid) {
let filePath = '' let filePath = ''
audit(filePath) audit(filePath)
} }
}) })
} }
@@ -230,12 +257,12 @@ const audit = (filePath: any) => {
if (form.value.customSubstationFlag == 0) { if (form.value.customSubstationFlag == 0) {
addForm.substation = addForm.substation.join(',') addForm.substation = addForm.substation.join(',')
} }
if(title.value == '计划新增'){ if (title.value == '计划新增') {
addSurveyPlan(addForm).then(res => { addSurveyPlan(addForm).then(res => {
cancelFn() cancelFn()
emit('onsubmit') emit('onsubmit')
}) })
}else { } else {
updateSurveyPlan(addForm).then(res => { updateSurveyPlan(addForm).then(res => {
cancelFn() cancelFn()
emit('onsubmit') emit('onsubmit')
@@ -270,7 +297,7 @@ const open = (text: string, id: any) => {
title.value = text title.value = text
planAddition.value = true planAddition.value = true
if(id){ if (id) {
detailById(id) detailById(id)
} }
} }