修改部分按钮重复点击
This commit is contained in:
@@ -1,14 +1,8 @@
|
||||
<template>
|
||||
<div ref="tableHeader" class="cn-table-header">
|
||||
<div class="table-header ba-scroll-style">
|
||||
<el-form
|
||||
style="flex: 1; height: 34px; margin-right: 20px; display: flex; flex-wrap: wrap"
|
||||
ref="headerForm"
|
||||
@submit.prevent=""
|
||||
@keyup.enter="onComSearch"
|
||||
label-position="left"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form style="flex: 1; height: 34px; margin-right: 20px; display: flex; flex-wrap: wrap" ref="headerForm"
|
||||
@submit.prevent="" @keyup.enter="onComSearch" label-position="left" :inline="true">
|
||||
<el-form-item label="日期" v-if="datePicker" style="grid-column: span 2; max-width: 570px">
|
||||
<DatePicker ref="datePickerRef" :nextFlag="nextFlag" :theCurrentTime="theCurrentTime"></DatePicker>
|
||||
</el-form-item>
|
||||
@@ -23,20 +17,16 @@
|
||||
<Icon size="14" name="el-icon-ArrowUp" style="color: #fff" v-if="showSelect" />
|
||||
<Icon size="14" name="el-icon-ArrowDown" style="color: #fff" v-else />
|
||||
</el-button>
|
||||
<el-button @click="onComSearch" v-if="showSearch" type="primary" :icon="Search">查询</el-button>
|
||||
<el-button @click="onResetForm" v-if="showSearch" :icon="RefreshLeft">重置</el-button>
|
||||
<el-button @click="onComSearch" v-if="showSearch" :loading="tableStore.table.loading" type="primary"
|
||||
:icon="Search">查询</el-button>
|
||||
<el-button @click="onResetForm" v-if="showSearch" :loading="tableStore.table.loading"
|
||||
:icon="RefreshLeft">重置</el-button>
|
||||
</template>
|
||||
<!-- :loading="tableStore.table.loading" -->
|
||||
<slot name="operation"></slot>
|
||||
</div>
|
||||
<el-form
|
||||
:style="showSelect && showUnfoldButton ? headerFormSecondStyleOpen : headerFormSecondStyleClose"
|
||||
ref="headerFormSecond"
|
||||
@submit.prevent=""
|
||||
@keyup.enter="onComSearch"
|
||||
label-position="left"
|
||||
:inline="true"
|
||||
></el-form>
|
||||
<el-form :style="showSelect && showUnfoldButton ? headerFormSecondStyleOpen : headerFormSecondStyleClose"
|
||||
ref="headerFormSecond" @submit.prevent="" @keyup.enter="onComSearch" label-position="left"
|
||||
:inline="true"></el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -170,13 +160,14 @@ const setInterval = (val: any) => {
|
||||
datePickerRef.value.setInterval(val)
|
||||
}
|
||||
|
||||
defineExpose({ onComSearch, areaRef, setDatePicker, setInterval, datePickerRef, showSelectChange})
|
||||
defineExpose({ onComSearch, areaRef, setDatePicker, setInterval, datePickerRef, showSelectChange })
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.cn-table-header {
|
||||
border: 1px solid var(--el-border-color);
|
||||
}
|
||||
|
||||
.table-header {
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
@@ -218,7 +209,7 @@ defineExpose({ onComSearch, areaRef, setDatePicker, setInterval, datePickerRef,
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.mlr-12 + .el-button {
|
||||
.mlr-12+.el-button {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
@@ -253,7 +244,7 @@ defineExpose({ onComSearch, areaRef, setDatePicker, setInterval, datePickerRef,
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.el-button + .el-button {
|
||||
.el-button+.el-button {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@@ -264,6 +255,7 @@ defineExpose({ onComSearch, areaRef, setDatePicker, setInterval, datePickerRef,
|
||||
|
||||
html.dark {
|
||||
.table-search-button-group {
|
||||
|
||||
button:focus,
|
||||
button:active {
|
||||
background-color: var(--el-color-info-dark-2);
|
||||
@@ -282,11 +274,13 @@ html.dark {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#header-form,
|
||||
#header-form-second {
|
||||
:deep(.el-select) {
|
||||
--el-select-width: 220px;
|
||||
}
|
||||
|
||||
:deep(.el-input) {
|
||||
--el-input-width: 220px;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</template>
|
||||
<template #operation>
|
||||
<!-- <el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button> -->
|
||||
<el-button icon="el-icon-Download" @click="exportEvent" type="primary">下载报告</el-button>
|
||||
<el-button icon="el-icon-Download" :loading="loading" @click="exportEvent" type="primary">下载报告</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" :radio-config="{
|
||||
@@ -42,7 +42,7 @@
|
||||
}" :tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }" :scroll-y="{ enabled: true }" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, provide, nextTick } from 'vue'
|
||||
import { ref, onMounted, provide, reactive } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
@@ -155,6 +155,7 @@ const tableStore = new TableStore({
|
||||
}, 0)
|
||||
}
|
||||
})
|
||||
const loading = ref(false)
|
||||
|
||||
tableStore.table.params.statisticalType = classificationData.filter(item => item.name == '电网拓扑')[0]
|
||||
tableStore.table.params.monitorFlag = 2
|
||||
@@ -197,6 +198,7 @@ const exportEvent = () => {
|
||||
})
|
||||
return
|
||||
}
|
||||
loading.value = true
|
||||
let form = new FormData()
|
||||
form.append('isUrl', false)
|
||||
form.append('lineIndex', line.id)
|
||||
@@ -224,6 +226,9 @@ const exportEvent = () => {
|
||||
document.body.appendChild(link)
|
||||
link.click() //执行下载
|
||||
document.body.removeChild(link)
|
||||
loading.value = false
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button type="primary" @click="submit">发起</el-button>
|
||||
<el-button type="primary" @click="submit" :loading="loading">发起</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -4,22 +4,14 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item for="-" label="用户名称:" prop="userName">
|
||||
<el-input
|
||||
v-model="form.userName"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请输入用户名称"
|
||||
></el-input>
|
||||
<el-input v-model="form.userName" clearable style="width: 100%"
|
||||
placeholder="请输入用户名称"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item for="-" label="用户编号:" prop="userNumber">
|
||||
<el-input
|
||||
v-model="form.userNumber"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请输入用户编号"
|
||||
></el-input>
|
||||
<el-input v-model="form.userNumber" clearable style="width: 100%"
|
||||
placeholder="请输入用户编号"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -55,18 +47,9 @@
|
||||
></el-input>
|
||||
</el-form-item> -->
|
||||
<el-form-item for="-" label="监测点:" prop="monitorNumber">
|
||||
<el-select
|
||||
v-model="form.monitorNumber"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择监测点"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in minitorList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.monitorNumber" clearable style="width: 100%" placeholder="请选择监测点">
|
||||
<el-option v-for="item in minitorList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -85,22 +68,14 @@
|
||||
</el-row> -->
|
||||
|
||||
<el-form-item for="-" label="投诉内容:" prop="complaintText">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
placeholder="请输入内容"
|
||||
v-model="form.complaintText"
|
||||
></el-input>
|
||||
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
|
||||
v-model="form.complaintText"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="稳态指标:">
|
||||
<el-checkbox-group v-model="form.steadyIndicator">
|
||||
<div style="width: 100%; display: flex; flex-wrap: wrap; justify-content: flex-start">
|
||||
<el-checkbox
|
||||
style="flex: none; width: 120px"
|
||||
v-for="(item, ind) in steadyStateList"
|
||||
:key="ind"
|
||||
:label="item.name"
|
||||
>
|
||||
<el-checkbox style="flex: none; width: 120px" v-for="(item, ind) in steadyStateList" :key="ind"
|
||||
:label="item.name">
|
||||
<!-- @change="changeSteadyState" -->
|
||||
{{ item.name }}
|
||||
</el-checkbox>
|
||||
@@ -110,12 +85,8 @@
|
||||
<el-form-item for="-" label="暂态指标:">
|
||||
<el-checkbox-group v-model="form.transientIndicators">
|
||||
<div style="width: 100%; display: flex; flex-wrap: wrap; justify-content: flex-start">
|
||||
<el-checkbox
|
||||
style="flex: none; width: 120px"
|
||||
v-for="(item, ind) in transientIndicatorsList"
|
||||
:key="ind"
|
||||
:label="item.name"
|
||||
>
|
||||
<el-checkbox style="flex: none; width: 120px" v-for="(item, ind) in transientIndicatorsList"
|
||||
:key="ind" :label="item.name">
|
||||
<!-- @change="changeTransientIndicators" -->
|
||||
{{ item.name }}
|
||||
</el-checkbox>
|
||||
@@ -126,7 +97,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button type="primary" @click="submit">确认</el-button>
|
||||
<el-button type="primary" @click="submit" :loading="loading">确认</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -141,6 +112,7 @@ import Area from '@/components/form/area/index.vue'
|
||||
const emits = defineEmits(['onSubmit'])
|
||||
const dictData = useDictData()
|
||||
const dialogVisible = ref(false)
|
||||
const loading = ref(false)
|
||||
const title: any = ref('')
|
||||
const steadyStateList = dictData.getBasicData('Steady_Indicator')
|
||||
const transientIndicatorsList = dictData.getBasicData('Transient_Indicators')
|
||||
@@ -184,9 +156,10 @@ const rules = {
|
||||
monitorNumber: [{ required: true, message: '请选择监测点', trigger: 'change' }],
|
||||
dutyOrgId: [{ required: true, message: '请选择负责单位', trigger: 'change' }]
|
||||
}
|
||||
const formRef = ref(null)
|
||||
const submit = () => {
|
||||
formRef.value.validate(valid => {
|
||||
const formRef = ref()
|
||||
const submit = async () => {
|
||||
loading.value = true
|
||||
formRef.value.validate(async (valid) => {
|
||||
if (valid) {
|
||||
form.value = {
|
||||
...form.value,
|
||||
@@ -196,7 +169,7 @@ const submit = () => {
|
||||
return item.id == form.value.monitorNumber
|
||||
})?.name
|
||||
}
|
||||
addComplaintsData(form.value).then(res => {
|
||||
await addComplaintsData(form.value).then(res => {
|
||||
if (res.code == 'A0000') {
|
||||
ElMessage({
|
||||
message: '新增成功',
|
||||
@@ -213,6 +186,9 @@ const submit = () => {
|
||||
return false
|
||||
}
|
||||
})
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
const open = (row: any) => {
|
||||
|
||||
@@ -1,14 +1,7 @@
|
||||
<template>
|
||||
<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="计划负责单位:">
|
||||
<Area v-model="form.deptId" @change="changeArea" />
|
||||
</el-form-item>
|
||||
@@ -17,34 +10,20 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="监督类型:" prop="supvType">
|
||||
<el-select v-model="form.supvType" placeholder="请选择监督类型" style="width: 100%" @change="++key">
|
||||
<el-option
|
||||
v-for="item in supvTypeOptionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in supvTypeOptionList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="监督对象名称:" prop="supvObjectName">
|
||||
<el-input v-model="form.supvObjectName" placeholder="请输入监督对象名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="计划开始时间:" prop="planStartTime">
|
||||
<el-date-picker
|
||||
v-model="form.planStartTime"
|
||||
type="date"
|
||||
placeholder="选择计划开始时间"
|
||||
value-format="YYYY-MM-DD"
|
||||
:disabled-date="disableStartDate"
|
||||
></el-date-picker>
|
||||
<el-date-picker v-model="form.planStartTime" type="date" placeholder="选择计划开始时间"
|
||||
value-format="YYYY-MM-DD" :disabled-date="disableStartDate"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="计划结束时间:" prop="planEndTime">
|
||||
<el-date-picker
|
||||
v-model="form.planEndTime"
|
||||
type="date"
|
||||
placeholder="选择计划结束时间"
|
||||
:disabled-date="disableEndDate"
|
||||
value-format="YYYY-MM-DD"
|
||||
></el-date-picker>
|
||||
<el-date-picker v-model="form.planEndTime" type="date" placeholder="选择计划结束时间"
|
||||
:disabled-date="disableEndDate" value-format="YYYY-MM-DD"></el-date-picker>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item for="-" label="实际完成时间:" prop="planComplateTime">
|
||||
<el-date-picker
|
||||
@@ -64,23 +43,10 @@
|
||||
<el-radio :value="1">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:key="key"
|
||||
label="关联电站:"
|
||||
v-if="form.customSubstationFlag == 0"
|
||||
:prop="dynamicProp"
|
||||
style="display: flex; align-items: center"
|
||||
>
|
||||
<el-cascader
|
||||
v-model="form.substation"
|
||||
:options="treeData"
|
||||
:props="defaultProps"
|
||||
clearable
|
||||
filterable
|
||||
collapse-tags
|
||||
collapse-tags-tooltip
|
||||
placeholder="请选择关联电站"
|
||||
/>
|
||||
<el-form-item :key="key" label="关联电站:" v-if="form.customSubstationFlag == 0" :prop="dynamicProp"
|
||||
style="display: flex; align-items: center">
|
||||
<el-cascader v-model="form.substation" :options="treeData" :props="defaultProps" clearable filterable
|
||||
collapse-tags collapse-tags-tooltip placeholder="请选择关联电站" />
|
||||
<!-- <el-tree-select
|
||||
accordion
|
||||
ref="treeRef"
|
||||
@@ -97,13 +63,7 @@
|
||||
/> -->
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
for="-"
|
||||
label="关联电站:"
|
||||
:key="key"
|
||||
v-if="form.customSubstationFlag == 1"
|
||||
:prop="dynamicProp"
|
||||
>
|
||||
<el-form-item for="-" label="关联电站:" :key="key" v-if="form.customSubstationFlag == 1" :prop="dynamicProp">
|
||||
<el-input v-model="form.substation" placeholder="请输入关联电站"></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form :model="form" label-width="auto"> -->
|
||||
@@ -120,8 +80,8 @@
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item> -->
|
||||
</el-upload>
|
||||
</el-form-item> -->
|
||||
<!-- </el-form> -->
|
||||
</el-form>
|
||||
<!-- <el-divider content-position="left" style="font-size: 18px; font-weight: bolder">添加电站</el-divider> -->
|
||||
@@ -144,8 +104,8 @@
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="cancelFn">取消</el-button>
|
||||
|
||||
<el-button type="primary" @click="submitFn(true)">保存</el-button>
|
||||
<el-button type="primary" @click="submitFn(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="submitFn(true)" :loading="loading">保存</el-button>
|
||||
<el-button type="primary" @click="submitFn(false)" :loading="loading">提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -166,7 +126,7 @@ import { ElMessage, UploadProps } from 'element-plus'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
|
||||
const emit = defineEmits(['onsubmit'])
|
||||
|
||||
const loading = ref(false)
|
||||
const dictData = useDictData()
|
||||
const supvTypeOptionList = dictData.getBasicData('supv_type')
|
||||
const title = ref('')
|
||||
@@ -272,7 +232,8 @@ const detailById = (id: any) => {
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
const submitFn = (flag: boolean) => {
|
||||
const submitFn = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
const addForm = JSON.parse(JSON.stringify(form.value))
|
||||
|
||||
@@ -281,7 +242,7 @@ const submitFn = (flag: boolean) => {
|
||||
}
|
||||
addForm.saveOrCheckflag = '1'
|
||||
|
||||
addSurveyPlan(addForm).then(res => {
|
||||
await addSurveyPlan(addForm).then(res => {
|
||||
cancelFn()
|
||||
ElMessage.success('保存成功!')
|
||||
emit('onsubmit')
|
||||
@@ -296,13 +257,13 @@ const submitFn = (flag: boolean) => {
|
||||
}
|
||||
addForm.saveOrCheckflag = '2'
|
||||
if (title.value == '计划新增') {
|
||||
addSurveyPlan(addForm).then(res => {
|
||||
await addSurveyPlan(addForm).then(res => {
|
||||
cancelFn()
|
||||
ElMessage.success('计划新增成功!')
|
||||
emit('onsubmit')
|
||||
})
|
||||
} else {
|
||||
updateSurveyPlan(addForm).then(res => {
|
||||
await updateSurveyPlan(addForm).then(res => {
|
||||
cancelFn()
|
||||
ElMessage.success('重新发起成功!')
|
||||
emit('onsubmit')
|
||||
@@ -311,6 +272,9 @@ const submitFn = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
// 修改关联电站
|
||||
const changeArea = () => {
|
||||
@@ -368,5 +332,4 @@ defineExpose({ open })
|
||||
<style lang="scss" scoped>
|
||||
// :deep(.el-upload-list__item-info) {
|
||||
// width: 250px;
|
||||
// }
|
||||
</style>
|
||||
// }</style>
|
||||
|
||||
@@ -104,8 +104,8 @@
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="cancelFn">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="submitFn">确定</el-button> -->
|
||||
<el-button type="primary" @click="submitFn(true)">保存</el-button>
|
||||
<el-button type="primary" @click="submitFn(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="submitFn(true)" :loading="loading">保存</el-button>
|
||||
<el-button type="primary" @click="submitFn(false)" :loading="loading" >提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -118,7 +118,7 @@ import { ElMessage, genFileId, UploadProps, UploadRawFile, UploadUserFile } from
|
||||
import { uploadFile, getFileNameAndFilePath } from '@/api/system-boot/file'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { addSurveyTest, updateSurveyTest, getTestById } from '@/api/supervision-boot/survey/test'
|
||||
|
||||
const loading = ref(false)
|
||||
const acceptType = ref('')
|
||||
const tableStore = inject('tableStore') as TableStore
|
||||
let uploadName = ref('')
|
||||
@@ -254,7 +254,8 @@ const cancelFn = () => {
|
||||
planAddition.value = false
|
||||
}
|
||||
// 提交
|
||||
const submitFn = (flag: boolean) => {
|
||||
const submitFn = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
const subForm = JSON.parse(JSON.stringify(form.value))
|
||||
subForm.otherReport = ''
|
||||
|
||||
@@ -270,7 +271,7 @@ const submitFn = (flag: boolean) => {
|
||||
subForm.saveOrCheckflag = '1'
|
||||
|
||||
//新增,则组装业务数据提交后台
|
||||
addSurveyTest(subForm).then(res => {
|
||||
await addSurveyTest(subForm).then(res => {
|
||||
ElMessage.success('保存成功!')
|
||||
tableStore.index()
|
||||
planAddition.value = false
|
||||
@@ -315,6 +316,9 @@ const submitFn = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
const audit = (filePath: any) => {
|
||||
if (title.value == '计划测试填报') {
|
||||
|
||||
@@ -166,8 +166,8 @@
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="confirmForm()">确定</el-button> -->
|
||||
<el-button type="primary" @click="confirmForm(true)">保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)" :loading="loading" >提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -200,6 +200,7 @@ const props = defineProps({
|
||||
const rules = {
|
||||
goToNetReport: [{ required: true, message: '请上传报告', trigger: 'blur' }]
|
||||
}
|
||||
const loading = ref(false)
|
||||
const emits = defineEmits(['onSubmit'])
|
||||
const dictData = useDictData()
|
||||
const dialogFormVisible = ref(false)
|
||||
@@ -353,6 +354,7 @@ const choose = (e: any) => {
|
||||
|
||||
//提交
|
||||
const confirmForm = (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
let data = {
|
||||
type: props.bussType,
|
||||
@@ -394,6 +396,9 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
|
||||
@@ -1,68 +1,35 @@
|
||||
<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 :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-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="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-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">
|
||||
<!-- :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-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-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">
|
||||
@@ -73,74 +40,37 @@
|
||||
</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-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="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="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="请输入用户协议容量"
|
||||
>
|
||||
.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-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-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">
|
||||
@@ -157,106 +87,60 @@
|
||||
</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-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-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-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-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="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="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="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="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="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>
|
||||
@@ -269,51 +153,23 @@
|
||||
<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-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-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">
|
||||
@@ -321,234 +177,108 @@
|
||||
<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-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-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-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="form.evaluationConclusion"
|
||||
autocomplete="off"
|
||||
placeholder="请输入预测评估结论"
|
||||
/>
|
||||
<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"
|
||||
:on-progress="uploadFileName('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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('predictionEvaluationReviewOpinions')"
|
||||
>
|
||||
<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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('substationMainWiringDiagram')"
|
||||
>
|
||||
<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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('sensitiveDevices')"
|
||||
>
|
||||
<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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('antiInterferenceReport')"
|
||||
>
|
||||
<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>
|
||||
</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"
|
||||
:on-progress="uploadFileName('powerQualityReport')"
|
||||
>
|
||||
<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>
|
||||
</template>
|
||||
@@ -559,8 +289,8 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)">保存</el-button>
|
||||
<el-button type="primary" v-if="props.submissionControl" @click="confirmForm(false)">
|
||||
<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>
|
||||
@@ -620,6 +350,7 @@ const dialogFormVisible = ref(false)
|
||||
// .doc,.docx,.xlsx,.xls,.pdf
|
||||
const acceptType = ''
|
||||
const form: any = ref({})
|
||||
const loading = ref(false)
|
||||
const addUploadRef: any = ref()
|
||||
const control: any = ref(true)
|
||||
const controFlag: any = ref(false)
|
||||
@@ -1126,10 +857,10 @@ const fileRaw = (row: any, key: string) => {
|
||||
row[key][k].length == 0
|
||||
? []
|
||||
: [
|
||||
{
|
||||
name: row[key][k].split('/')[2]
|
||||
}
|
||||
]
|
||||
{
|
||||
name: row[key][k].split('/')[2]
|
||||
}
|
||||
]
|
||||
} else {
|
||||
form.value[k] = []
|
||||
}
|
||||
@@ -1153,7 +884,7 @@ const close = () => {
|
||||
emits('onSubmit')
|
||||
resetForm()
|
||||
}
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
|
||||
// 上传报告
|
||||
const uploadRef = ref()
|
||||
@@ -1245,7 +976,8 @@ const disabledDate = (time: any) => {
|
||||
return false
|
||||
}
|
||||
//提交
|
||||
const confirmForm = (flag: boolean) => {
|
||||
const confirmForm = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
//整理上传文件的数据
|
||||
// userType==0,1
|
||||
@@ -1309,7 +1041,7 @@ const confirmForm = (flag: boolean) => {
|
||||
if (!control.value) confirmFormData.dataType = 1
|
||||
if (controFlag.value) confirmFormData.dataType = 1
|
||||
if (props.normalizedControl) {
|
||||
addEditor(confirmFormData).then(res => {
|
||||
await addEditor(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '保存成功!',
|
||||
type: 'success'
|
||||
@@ -1320,7 +1052,7 @@ const confirmForm = (flag: boolean) => {
|
||||
close()
|
||||
})
|
||||
} else {
|
||||
submitFormData(confirmFormData).then(res => {
|
||||
await submitFormData(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '保存成功!',
|
||||
type: 'success'
|
||||
@@ -1332,7 +1064,7 @@ const confirmForm = (flag: boolean) => {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
ruleFormRef.value.validate((valid: any) => {
|
||||
await ruleFormRef.value.validate( async (valid: any) => {
|
||||
if (valid) {
|
||||
//整理上传文件的数据
|
||||
// userType==0,1
|
||||
@@ -1461,7 +1193,7 @@ const confirmForm = (flag: boolean) => {
|
||||
confirmFormData.saveOrCheckflag = '2'
|
||||
if (controFlag.value) confirmFormData.dataType = 1
|
||||
if (title.value == '用户档案录入') {
|
||||
submitFormData(confirmFormData).then(res => {
|
||||
await submitFormData(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '新增成功',
|
||||
type: 'success'
|
||||
@@ -1474,12 +1206,11 @@ const confirmForm = (flag: boolean) => {
|
||||
} else {
|
||||
confirmFormData.id = resendId.value
|
||||
if (controFlag.value) confirmFormData.dataType = 1
|
||||
console.log('🚀 ~ ruleFormRef.value.validate ~ controFlag.value:', controFlag.value)
|
||||
console.log(123123)
|
||||
|
||||
if (props.normalizedControl) {
|
||||
if (title.value == '编辑') {
|
||||
if (status.value != '') confirmFormData.status = status.value
|
||||
addEditor(confirmFormData).then(res => {
|
||||
await addEditor(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '发起成功',
|
||||
type: 'success'
|
||||
@@ -1490,7 +1221,7 @@ const confirmForm = (flag: boolean) => {
|
||||
close()
|
||||
})
|
||||
} else {
|
||||
resend(confirmFormData).then(res => {
|
||||
await resend(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '重新发起成功',
|
||||
type: 'success'
|
||||
@@ -1501,7 +1232,7 @@ const confirmForm = (flag: boolean) => {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
updateFormData(confirmFormData).then(res => {
|
||||
await updateFormData(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '重新发起成功',
|
||||
type: 'success'
|
||||
@@ -1519,6 +1250,9 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
// 过滤用户
|
||||
@@ -1535,18 +1269,20 @@ const setcontroFlag = () => {
|
||||
defineExpose({ open, filterUsers, setcontroFlag })
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-form {
|
||||
}
|
||||
.el-form {}
|
||||
|
||||
.form-label-left-align {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
::v-deep .el-input__wrapper {
|
||||
// border: 2px solid red;
|
||||
}
|
||||
|
||||
::v-deep .el-input-number .el-input__inner {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
::v-deep .el-tree__empty-text {
|
||||
width: 200px !important;
|
||||
margin-left: 150px !important;
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="submit">确认</el-button> -->
|
||||
<el-button type="primary" @click="submit(true)">保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="submit(true)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)" :loading="loading" >提交审批</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -74,6 +74,7 @@ const sourceData = ref()
|
||||
const deviceList = ref()
|
||||
const data = ref()
|
||||
const title = ref('')
|
||||
const loading = ref(false)
|
||||
const tableStore = inject('tableStore') as TableStore
|
||||
const formRef = ref()
|
||||
const devStatuData: any = ref([])
|
||||
@@ -171,11 +172,12 @@ const open = async (text: string, tempData?: any) => {
|
||||
/**
|
||||
* 提交用户表单数据
|
||||
*/
|
||||
const submit = (flag: boolean) => {
|
||||
const submit =async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
form.value.saveOrCheckflag = '1'
|
||||
|
||||
addRunningDevice(form.value).then(res => {
|
||||
await addRunningDevice(form.value).then(res => {
|
||||
ElMessage.success('保存成功!')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
@@ -211,6 +213,9 @@ const submit = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -60,8 +60,8 @@
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="submit">确认</el-button> -->
|
||||
<el-button type="primary" @click="submit(true)">保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="submit(true)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)" :loading="loading" >提交审批</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -79,6 +79,7 @@ const sourceData = ref()
|
||||
const lineList = ref()
|
||||
const data = ref()
|
||||
const title = ref('')
|
||||
const loading = ref(false)
|
||||
const tableStore = inject('tableStore') as TableStore
|
||||
const formRef = ref()
|
||||
const runFlag = ref('')
|
||||
@@ -148,11 +149,12 @@ const open = async (text: string, tempData?: any) => {
|
||||
/**
|
||||
* 提交用户表单数据
|
||||
*/
|
||||
const submit = (flag: boolean) => {
|
||||
const submit = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
form.value.saveOrCheckflag = '1'
|
||||
|
||||
addRunningDevice(form.value).then(res => {
|
||||
await addRunningDevice(form.value).then(res => {
|
||||
ElMessage.success('保存成功!')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
@@ -178,6 +180,9 @@ const submit = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="close">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="submit">确认</el-button> -->
|
||||
<el-button type="primary" @click="submit(true)">保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="submit(true)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)" :loading="loading" >提交审批</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -90,6 +90,7 @@ const openFile = (name: any) => {
|
||||
const acceptType = ref('')
|
||||
//下拉数据源
|
||||
const title = ref('')
|
||||
const loading = ref(false)
|
||||
const tableStore = inject('tableStore') as TableStore
|
||||
const formRef = ref()
|
||||
// 上传报告
|
||||
@@ -206,7 +207,8 @@ const close = () => {
|
||||
/**
|
||||
* 提交用户表单数据
|
||||
*/
|
||||
const submit = (flag: boolean) => {
|
||||
const submit =async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
let subForm = JSON.parse(JSON.stringify(form.value))
|
||||
subForm = {
|
||||
@@ -215,7 +217,7 @@ const submit = (flag: boolean) => {
|
||||
}
|
||||
subForm.saveOrCheckflag = '1'
|
||||
//此时该告警单处于待反馈状态
|
||||
addFeedback(subForm).then(res => {
|
||||
await addFeedback(subForm).then(res => {
|
||||
//查询进线数据,避免一直处于loading状态
|
||||
ElMessage.success('保存成功!')
|
||||
tableStore.index()
|
||||
@@ -254,6 +256,9 @@ const submit = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
defineExpose({ open })
|
||||
|
||||
@@ -3,32 +3,24 @@
|
||||
<TableHeader ref="TableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="项目名称">
|
||||
<el-input
|
||||
style="width: 200px"
|
||||
placeholder="请输入项目名称"
|
||||
v-model="tableStore.table.params.projectName"
|
||||
clearable
|
||||
></el-input>
|
||||
<el-input style="width: 200px" placeholder="请输入项目名称" v-model="tableStore.table.params.projectName"
|
||||
clearable></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>
|
||||
<template #operation>
|
||||
<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" type="primary" @click="exportExcelTemplate">模板下载</el-button>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模板下载</el-button>
|
||||
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" :checkbox-config="checkboxConfig" />
|
||||
<Table ref="tableRef" :checkbox-config="checkboxConfig" />
|
||||
|
||||
<el-dialog title="详情" width="80%" v-model="dialogShow" v-if="dialogShow">
|
||||
<DetailInfo :id="userId" :openType="'sourcesOfInterference'"></DetailInfo>
|
||||
@@ -58,6 +50,7 @@ const addForms = ref()
|
||||
const dictData = useDictData()
|
||||
const sensitiveUserPopup = ref()
|
||||
const TableHeaderRef = ref()
|
||||
const loading = ref(false)
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const { push, options, currentRoute } = useRouter()
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
@@ -68,7 +61,7 @@ const tableStore = new TableStore({
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
{
|
||||
width: '60',
|
||||
type: 'checkbox'
|
||||
},
|
||||
@@ -181,7 +174,7 @@ const tableStore = new TableStore({
|
||||
|
||||
click: row => {
|
||||
addForms.value.filterUsers([6])
|
||||
|
||||
|
||||
addForms.value.open({
|
||||
title: '编辑',
|
||||
row: row
|
||||
@@ -338,8 +331,9 @@ const getUserTypeName = (userType: any) => {
|
||||
return '新建电网工程'
|
||||
}
|
||||
//导出模板
|
||||
const exportExcelTemplate = () => {
|
||||
downloadSensitiveReportTemplate().then((res: any) => {
|
||||
const exportExcelTemplate = async() => {
|
||||
loading.value = true
|
||||
await downloadSensitiveReportTemplate().then((res: any) => {
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel'
|
||||
})
|
||||
@@ -351,6 +345,9 @@ const exportExcelTemplate = () => {
|
||||
link.click()
|
||||
link.remove()
|
||||
})
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
},0)
|
||||
}
|
||||
|
||||
//批量导入用户数据
|
||||
@@ -358,21 +355,21 @@ const importUserData = () => {
|
||||
sensitiveUserPopup.value.open('导入干扰源用户')
|
||||
}
|
||||
|
||||
const props = defineProps({id: {type: String, default: 'null'}})
|
||||
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.setcontroFlag()
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, {immediate: true})
|
||||
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.setcontroFlag()
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
</script>
|
||||
|
||||
@@ -3,28 +3,20 @@
|
||||
<TableHeader ref="TableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="项目名称">
|
||||
<el-input
|
||||
style="width: 200px"
|
||||
placeholder="请输入项目名称"
|
||||
v-model="tableStore.table.params.projectName"
|
||||
clearable
|
||||
></el-input>
|
||||
<el-input style="width: 200px" placeholder="请输入项目名称" v-model="tableStore.table.params.projectName"
|
||||
clearable></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>
|
||||
<template #operation>
|
||||
<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" type="primary" @click="exportExcelTemplate">模板下载</el-button>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模版下载</el-button>
|
||||
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
@@ -53,6 +45,7 @@ import { ElMessage } from 'element-plus'
|
||||
const dictData = useDictData()
|
||||
const sensitiveUserPopup = ref()
|
||||
const TableHeaderRef = ref()
|
||||
const loading = ref(false)
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const loadLevelOptionList = dictData.getBasicData('load_level')
|
||||
const powerSupplyInfoOptionList = dictData.getBasicData('supply_condition')
|
||||
@@ -257,8 +250,9 @@ const getUserTypeName = (userType: any) => {
|
||||
}
|
||||
|
||||
//导出模板
|
||||
const exportExcelTemplate = () => {
|
||||
downloadSensitiveUserTemplate().then((res: any) => {
|
||||
const exportExcelTemplate = async () => {
|
||||
loading.value = true
|
||||
await downloadSensitiveUserTemplate().then((res: any) => {
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel'
|
||||
})
|
||||
@@ -270,6 +264,9 @@ const exportExcelTemplate = () => {
|
||||
link.click()
|
||||
link.remove()
|
||||
})
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
|
||||
//批量导入用户数据
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<!-- <el-button type="primary" @click="confirmForm(true)">保存</el-button> -->
|
||||
<el-button type="primary" @click="confirmForm(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)" :loading="loading" >提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -57,6 +57,7 @@ const props = defineProps({
|
||||
const dictData = useDictData()
|
||||
const dialogFormVisible = ref(false)
|
||||
const form: any = ref({})
|
||||
const loading = ref(false)
|
||||
const ruleFormRef: any = ref(null)
|
||||
//定义切换form类型
|
||||
const selectFormType = ref('')
|
||||
@@ -112,13 +113,14 @@ const disabledDate = time => {
|
||||
return time.getTime() < Date.now() - 8.64e7 // 8.64e7 毫秒数代表一天
|
||||
}
|
||||
//提交
|
||||
const confirmForm = (flag: boolean) => {
|
||||
const confirmForm = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
// 提交监测点信息
|
||||
|
||||
//提交监测点联调信息
|
||||
form.value.saveOrCheckflag = '1'
|
||||
addMointorPointTempLinedebug(form.value).then(res => {
|
||||
await addMointorPointTempLinedebug(form.value).then(res => {
|
||||
ruleFormRef.value.resetFields()
|
||||
ElMessage.success('保存成功!')
|
||||
resetForm()
|
||||
@@ -126,19 +128,19 @@ const confirmForm = (flag: boolean) => {
|
||||
})
|
||||
} else {
|
||||
// 提交监测点信息
|
||||
ruleFormRef.value.validate(valid => {
|
||||
ruleFormRef.value.validate(async (valid) => {
|
||||
if (valid) {
|
||||
//提交监测点联调信息
|
||||
form.value.saveOrCheckflag = '2'
|
||||
if (!(title.value == '重新发起' || title.value == '编辑')) {
|
||||
addMointorPointTempLinedebug(form.value).then(res => {
|
||||
await addMointorPointTempLinedebug(form.value).then(res => {
|
||||
ruleFormRef.value.resetFields()
|
||||
ElMessage.success('申请联调成功!')
|
||||
resetForm()
|
||||
close()
|
||||
})
|
||||
} else {
|
||||
updateMointorPointTempLinedebug(form.value).then(res => {
|
||||
await updateMointorPointTempLinedebug(form.value).then(res => {
|
||||
ruleFormRef.value.resetFields()
|
||||
ElMessage.success('重新发起成功!')
|
||||
resetForm()
|
||||
@@ -151,6 +153,9 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
|
||||
@@ -352,8 +352,8 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)">保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)">提交审批</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)" :loading="loading" >提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -376,6 +376,7 @@ const dictData = useDictData()
|
||||
const dialogFormVisible = ref(false)
|
||||
const form: any = ref({})
|
||||
const title = ref('')
|
||||
const loading = ref(false)
|
||||
const ruleFormRef: any = ref(null)
|
||||
// acceptType .doc,.docx,.xlsx,.xls,.pdf
|
||||
const acceptType = ''
|
||||
@@ -1081,7 +1082,8 @@ const disabledDate = time => {
|
||||
}
|
||||
const activeName = ref('0')
|
||||
//提交
|
||||
const confirmForm = (flag: boolean) => {
|
||||
const confirmForm = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
form.value.reportDate = window.XEUtils.toDateString(form.value.reportDate, 'yyyy-MM-dd')
|
||||
let confirmFormData = JSON.parse(JSON.stringify(form.value))
|
||||
@@ -1105,7 +1107,7 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
confirmFormData.saveOrCheckflag = '1'
|
||||
if (title.value != '监测点信息') confirmFormData.id = resendId.value
|
||||
addMointorPointFormData(confirmFormData).then(res => {
|
||||
await addMointorPointFormData(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '保存成功!',
|
||||
type: 'success'
|
||||
@@ -1117,7 +1119,7 @@ const confirmForm = (flag: boolean) => {
|
||||
} else {
|
||||
// 先判断提交终端信息与监测点信息
|
||||
// 提交监测点信息
|
||||
ruleFormRef.value.validate(valid => {
|
||||
ruleFormRef.value.validate(async(valid) => {
|
||||
if (valid) {
|
||||
//整理上传文件的数据
|
||||
//处理填报日期时间格式
|
||||
@@ -1145,7 +1147,7 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
confirmFormData.saveOrCheckflag = '2'
|
||||
if (title.value == '监测点信息') {
|
||||
addMointorPointFormData(confirmFormData).then(res => {
|
||||
await addMointorPointFormData(confirmFormData).then(res => {
|
||||
ElMessage({
|
||||
message: '新增成功',
|
||||
type: 'success'
|
||||
@@ -1156,7 +1158,7 @@ const confirmForm = (flag: boolean) => {
|
||||
})
|
||||
} else {
|
||||
confirmFormData.id = resendId.value
|
||||
updateMointorPointFormData(confirmFormData).then(res => {
|
||||
await updateMointorPointFormData(confirmFormData).then(res => {
|
||||
if (res.code == 'A0000') {
|
||||
ElMessage({
|
||||
message: '重新发起成功',
|
||||
@@ -1174,6 +1176,9 @@ const confirmForm = (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
|
||||
@@ -1,29 +1,14 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="dialogFormVisible"
|
||||
:title="title"
|
||||
width="65%"
|
||||
:append-to-body="true"
|
||||
:before-close="close"
|
||||
:close-on-click-modal="false"
|
||||
:lazy="true"
|
||||
draggable
|
||||
>
|
||||
<el-dialog v-model="dialogFormVisible" :title="title" width="65%" :append-to-body="true" :before-close="close"
|
||||
:close-on-click-modal="false" :lazy="true" draggable>
|
||||
<!-- <el-anchor :container="containerRef" direction="vertical" type="default" :offset="30" @click="handleClick">
|
||||
<el-anchor-link href="#part1" title="基础信息" />
|
||||
<el-anchor-link href="#part2" title="终端信息" />
|
||||
<el-anchor-link href="#part3" title="附件材料" />
|
||||
</el-anchor> -->
|
||||
<!--终端信息录入 基础信息+终端信息+附件材料 -->
|
||||
<el-form
|
||||
:model="form"
|
||||
:validate-on-rule-change="false"
|
||||
:scroll-to-error="true"
|
||||
:rules="rules"
|
||||
ref="ruleFormRef"
|
||||
label-width="auto"
|
||||
class="form-two"
|
||||
>
|
||||
<el-form :model="form" :validate-on-rule-change="false" :scroll-to-error="true" :rules="rules" ref="ruleFormRef"
|
||||
label-width="auto" class="form-two">
|
||||
<!-- <el-tabs tab-position="left" class="tabs_form" v-model="activeName"> -->
|
||||
<el-divider content-position="left">基础信息</el-divider>
|
||||
<!-- <div id="part1" class="form-two"> -->
|
||||
@@ -31,35 +16,20 @@
|
||||
<el-input v-model="form.reporter" autocomplete="off" placeholder="请输入填报人" :disabled="true" />
|
||||
</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-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="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"
|
||||
placeholder="请选择工程投产日期"
|
||||
/>
|
||||
<el-date-picker style="width: 100%" v-model="form.expectedProductionDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择工程投产日期" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="所在地市:" prop="city">
|
||||
<el-select v-model="form.city" clearable style="width: 100%" placeholder="请选择所在地市">
|
||||
<el-option
|
||||
v-for="item in areaOptionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in areaOptionList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-col :span="12">
|
||||
@@ -100,18 +70,9 @@
|
||||
<el-divider content-position="left">终端信息</el-divider>
|
||||
<!-- <div id="part2" class="form-two"> -->
|
||||
<div class="fixed_upload" v-if="false">
|
||||
<el-upload
|
||||
v-model:file-list="form.deviceFilePath"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('deviceFilePath')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.deviceFilePath" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('deviceFilePath')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">终端台账信息</el-button>
|
||||
</template>
|
||||
@@ -125,86 +86,40 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="所属供电公司:" prop="powerCompany">
|
||||
<el-select
|
||||
v-model="form.powerCompany"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择所属供电公司"
|
||||
@change="findSubstationVoltageLevel"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in powerCompanyList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.powerCompany" clearable style="width: 100%" placeholder="请选择所属供电公司"
|
||||
@change="findSubstationVoltageLevel">
|
||||
<el-option v-for="item in powerCompanyList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" v-if="form.customSubstationFlag == 0" label="并网变电站:" prop="substation">
|
||||
<el-select
|
||||
v-model="form.substation"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择并网变电站"
|
||||
filterable
|
||||
@change="changeSubstation"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in substationList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.substation" clearable style="width: 100%" placeholder="请选择并网变电站" filterable
|
||||
@change="changeSubstation">
|
||||
<el-option v-for="item in substationList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" v-if="form.customSubstationFlag == 1" label="并网变电站:" prop="substationName">
|
||||
<el-input v-model="form.substationName" autocomplete="off" placeholder="请输入并网变电站" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="变电站电压等级:" prop="substationVoltageLevel">
|
||||
<el-select
|
||||
v-model="form.substationVoltageLevel"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择变压站电压等级"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in voltageLevelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.substationVoltageLevel" clearable style="width: 100%" placeholder="请选择变压站电压等级">
|
||||
<el-option v-for="item in voltageLevelList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="经度:" prop="longitude">
|
||||
<el-input
|
||||
v-model="form.longitude"
|
||||
:disabled="form.customSubstationFlag == 0"
|
||||
type="text"
|
||||
placeholder="请输入经度"
|
||||
/>
|
||||
<el-input v-model="form.longitude" :disabled="form.customSubstationFlag == 0" type="text"
|
||||
placeholder="请输入经度" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="纬度:" prop="latitude">
|
||||
<el-input
|
||||
v-model="form.latitude"
|
||||
:disabled="form.customSubstationFlag == 0"
|
||||
type="text"
|
||||
placeholder="请输入纬度"
|
||||
/>
|
||||
<el-input v-model="form.latitude" :disabled="form.customSubstationFlag == 0" type="text"
|
||||
placeholder="请输入纬度" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端型号:" prop="terminalType">
|
||||
<el-select
|
||||
v-model="form.terminalType"
|
||||
filterable
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择终端型号"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in terminalTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.terminalType" filterable clearable style="width: 100%" placeholder="请选择终端型号">
|
||||
<el-option v-for="item in terminalTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
@@ -213,103 +128,49 @@
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="通讯类型:">
|
||||
<el-select v-model="form.frontType" clearable style="width: 100%" placeholder="请选择通讯类型">
|
||||
<el-option
|
||||
v-for="item in frontTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in frontTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端编码:" prop="monitoringTerminalCode">
|
||||
<el-input
|
||||
v-model="form.monitoringTerminalCode"
|
||||
autocomplete="off"
|
||||
placeholder="请输入终端编码"
|
||||
@change="encode"
|
||||
/>
|
||||
<el-input v-model="form.monitoringTerminalCode" autocomplete="off" placeholder="请输入终端编码"
|
||||
@change="encode" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="false" for="-" label="通讯状态:" prop="communicationStatus">
|
||||
<el-select
|
||||
v-model="form.communicationStatus"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择通讯状态"
|
||||
:disabled="true"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in communicationStatusList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:disabled="item.id == '1'"
|
||||
></el-option>
|
||||
<el-select v-model="form.communicationStatus" clearable style="width: 100%" placeholder="请选择通讯状态"
|
||||
:disabled="true">
|
||||
<el-option v-for="item in communicationStatusList" :key="item.id" :label="item.name"
|
||||
:value="item.id" :disabled="item.id == '1'"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端IP:" prop="terminalIp">
|
||||
<el-input
|
||||
oninput="value=value.replace(/[^0-9.]/g,'')"
|
||||
v-model="form.terminalIp"
|
||||
autocomplete="off"
|
||||
placeholder="请输入终端IP"
|
||||
/>
|
||||
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model="form.terminalIp" autocomplete="off"
|
||||
placeholder="请输入终端IP" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="端口:" prop="terminalPort">
|
||||
<el-input
|
||||
oninput="value=value.replace(/[^0-9.]/g,'')"
|
||||
v-model="form.terminalPort"
|
||||
autocomplete="off"
|
||||
placeholder="请输入端口"
|
||||
/>
|
||||
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model="form.terminalPort" autocomplete="off"
|
||||
placeholder="请输入端口" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="投运时间:" prop="commissioningTime">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="form.commissioningTime"
|
||||
type="datetime"
|
||||
format="YYYY/MM/DD hh:mm:ss"
|
||||
value-format="YYYY-MM-DD hh:mm:ss"
|
||||
placeholder="请选择投运时间"
|
||||
/>
|
||||
<el-date-picker style="width: 100%" v-model="form.commissioningTime" type="datetime"
|
||||
format="YYYY/MM/DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" placeholder="请选择投运时间" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="数据更新时间:" prop="dataUpdateTime">
|
||||
<el-date-picker
|
||||
:disabled="true"
|
||||
style="width: 100%"
|
||||
v-model="form.dataUpdateTime"
|
||||
type="datetime"
|
||||
placeholder="请选择数据更新时间"
|
||||
/>
|
||||
<el-date-picker :disabled="true" style="width: 100%" v-model="form.dataUpdateTime" type="datetime"
|
||||
placeholder="请选择数据更新时间" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="所属前置机:" prop="frontEndMachine">
|
||||
<el-select v-model="form.frontEndMachine" clearable style="width: 100%" placeholder="请选择所属前置机">
|
||||
<el-option
|
||||
v-for="item in frontEndMachineList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in frontEndMachineList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
for="-"
|
||||
label="监测终端安装位置:"
|
||||
prop="monitoringDeviceInstallationPosition"
|
||||
class="label_over_warp"
|
||||
>
|
||||
<el-form-item for="-" label="监测终端安装位置:" prop="monitoringDeviceInstallationPosition" class="label_over_warp">
|
||||
<!-- 电网侧、用户侧 -->
|
||||
<el-select
|
||||
v-model="form.monitoringDeviceInstallationPosition"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择监测终端安装位置"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in monitoringDeviceInstallationPositionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.monitoringDeviceInstallationPosition" clearable style="width: 100%"
|
||||
placeholder="请选择监测终端安装位置">
|
||||
<el-option v-for="item in monitoringDeviceInstallationPositionList" :key="item.id"
|
||||
:label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="识别码:" prop="identificationCode">
|
||||
@@ -320,101 +181,49 @@
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端模型:" prop="terminalModel">
|
||||
<el-select v-model="form.terminalModel" clearable style="width: 100%" placeholder="请选择终端模型">
|
||||
<el-option
|
||||
v-for="item in terminalModelList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in terminalModelList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="数据类型:" prop="dataType">
|
||||
<el-select v-model="form.dataType" clearable style="width: 100%" placeholder="请选择数据类型">
|
||||
<el-option
|
||||
v-for="item in dataTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in dataTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端接线方式类型:" prop="terminalWiringMethodType" class="label_over_warp">
|
||||
<el-select
|
||||
v-model="form.terminalWiringMethodType"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择终端接线方式类型"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in terminalWiringMethodTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.terminalWiringMethodType" clearable style="width: 100%"
|
||||
placeholder="请选择终端接线方式类型">
|
||||
<el-option v-for="item in terminalWiringMethodTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="厂家:" prop="manufacturer">
|
||||
<el-select v-model="form.manufacturer" clearable style="width: 100%" placeholder="请选择厂家">
|
||||
<el-option
|
||||
v-for="item in manufacturerList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
for="-"
|
||||
label="本次终端检测时间:"
|
||||
prop="currentTerminalDetectionTime"
|
||||
class="label_over_warp"
|
||||
>
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="form.currentTerminalDetectionTime"
|
||||
type="datetime"
|
||||
placeholder="请选择本次终端检测时间"
|
||||
:disabled-date="disableStartDate"
|
||||
/>
|
||||
<el-form-item for="-" label="本次终端检测时间:" prop="currentTerminalDetectionTime" class="label_over_warp">
|
||||
<el-date-picker style="width: 100%" v-model="form.currentTerminalDetectionTime" type="datetime"
|
||||
placeholder="请选择本次终端检测时间" :disabled-date="disableStartDate" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="下次终端定检时间:" prop="nextTerminalInspectionTime" class="label_over_warp">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="form.nextTerminalInspectionTime"
|
||||
type="datetime"
|
||||
placeholder="请选择下次终端定检时间"
|
||||
:disabled-date="disableEndDate"
|
||||
/>
|
||||
<el-date-picker style="width: 100%" v-model="form.nextTerminalInspectionTime" type="datetime"
|
||||
placeholder="请选择下次终端定检时间" :disabled-date="disableEndDate" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item for="-" label="电压互感器类型:" prop="voltageTransformerType">
|
||||
<el-select
|
||||
v-model="form.voltageTransformerType"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择电压互感器类型"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in voltageTransformerTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.voltageTransformerType" clearable style="width: 100%" placeholder="请选择电压互感器类型">
|
||||
<el-option v-for="item in voltageTransformerTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="中性点接线方式:" prop="neutralPointWiringMethod">
|
||||
<el-select
|
||||
v-model="form.neutralPointWiringMethod"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择中性点接线方式"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in neutralPointWiringMethodList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.neutralPointWiringMethod" clearable style="width: 100%"
|
||||
placeholder="请选择中性点接线方式">
|
||||
<el-option v-for="item in neutralPointWiringMethodList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="厂家终端编号:" prop="manufacturerDeviceNumber">
|
||||
@@ -433,28 +242,15 @@
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="电镀功能:" prop="electroplatingFunction">
|
||||
<!-- 默认 关闭 下拉框 -->
|
||||
<el-select
|
||||
v-model="form.electroplatingFunction"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择电镀功能"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in electroplatingFunctionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model="form.electroplatingFunction" clearable style="width: 100%" placeholder="请选择电镀功能">
|
||||
<el-option v-for="item in electroplatingFunctionList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="召唤标志:" prop="summonFlag">
|
||||
<el-select v-model="form.summonFlag" clearable style="width: 100%" placeholder="请选择召唤标志">
|
||||
<el-option
|
||||
v-for="item in summonFlagList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-option v-for="item in summonFlagList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="告警功能:" prop="alarmFunction">
|
||||
@@ -469,132 +265,64 @@
|
||||
<!-- </div> -->
|
||||
<el-divider content-position="left">附件材料</el-divider>
|
||||
<el-form-item for="-" label="信息安全检测报告:" class="uploadFile" prop="informationSecurityTestReport">
|
||||
<el-upload
|
||||
v-model:file-list="form.informationSecurityTestReport"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('informationSecurityTestReport')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.informationSecurityTestReport" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('informationSecurityTestReport')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="false"
|
||||
for="-"
|
||||
label="验收检验报告单:"
|
||||
class="uploadFile"
|
||||
prop="acceptanceInspectionReportSingle"
|
||||
>
|
||||
<el-upload
|
||||
v-model:file-list="form.acceptanceInspectionReportSingle"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('acceptanceInspectionReportSingle')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-form-item v-if="false" for="-" label="验收检验报告单:" class="uploadFile"
|
||||
prop="acceptanceInspectionReportSingle">
|
||||
<el-upload v-model:file-list="form.acceptanceInspectionReportSingle" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('acceptanceInspectionReportSingle')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="验收检验报告:" class="uploadFile" prop="acceptanceInspectionReport">
|
||||
<el-upload
|
||||
v-model:file-list="form.acceptanceInspectionReport"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('acceptanceInspectionReport')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.acceptanceInspectionReport" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('acceptanceInspectionReport')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="型式实验报告:" class="uploadFile" prop="typeExperimentReport">
|
||||
<el-upload
|
||||
v-model:file-list="form.typeExperimentReport"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('typeExperimentReport')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.typeExperimentReport" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('typeExperimentReport')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="出厂检验报告:" class="uploadFile" prop="factoryInspectionReport">
|
||||
<el-upload
|
||||
v-model:file-list="form.factoryInspectionReport"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('factoryInspectionReport')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.factoryInspectionReport" ref="uploadRef" action=""
|
||||
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('factoryInspectionReport')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="性能检测报告:" class="uploadFile" prop="performanceTestReport">
|
||||
<el-upload
|
||||
v-model:file-list="form.performanceTestReport"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('performanceTestReport')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.performanceTestReport" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('performanceTestReport')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="其他附件:" class="uploadFile" prop="otherAttachments">
|
||||
<el-upload
|
||||
v-model:file-list="form.otherAttachments"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('otherAttachments')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.otherAttachments" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('otherAttachments')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
@@ -604,8 +332,9 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="close()">取消</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)">保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)" v-if="importType != 1">提交审批</el-button>
|
||||
<el-button type="primary" @click="confirmForm(true)" :loading="loading">保存</el-button>
|
||||
<el-button type="primary" @click="confirmForm(false)" :loading="loading"
|
||||
v-if="importType != 1">提交审批</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -634,6 +363,7 @@ const dialogFormVisible = ref(false)
|
||||
const form: any = ref({})
|
||||
const ruleFormRef: any = ref(null)
|
||||
const title = ref('')
|
||||
const loading = ref(false)
|
||||
// acceptType .xls,.xlsx
|
||||
const acceptType = ''
|
||||
//字典获取所在地市
|
||||
@@ -1493,6 +1223,7 @@ const close = async () => {
|
||||
}
|
||||
//提交
|
||||
const confirmForm = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
// 提交终端信息
|
||||
|
||||
@@ -1544,7 +1275,7 @@ const confirmForm = async (flag: boolean) => {
|
||||
})
|
||||
} else {
|
||||
// 提交终端信息
|
||||
ruleFormRef.value.validate(valid => {
|
||||
ruleFormRef.value.validate(async (valid) => {
|
||||
if (valid) {
|
||||
//整理上传文件的数据
|
||||
devReportForm.value.reporter = adminInfo.$state.id
|
||||
@@ -1569,7 +1300,7 @@ const confirmForm = async (flag: boolean) => {
|
||||
confirmFormData.saveOrCheckflag = '2'
|
||||
confirmFormData.importType = importType.value
|
||||
if (title.value == '终端信息') {
|
||||
addTerminalFormData(confirmFormData).then((res: any) => {
|
||||
await addTerminalFormData(confirmFormData).then((res: any) => {
|
||||
if (res.code == 'A0000') {
|
||||
ElMessage({
|
||||
message: '新增成功',
|
||||
@@ -1586,7 +1317,7 @@ const confirmForm = async (flag: boolean) => {
|
||||
confirmFormData.supervisionTempDeviceReportParam.commissioningTime =
|
||||
confirmFormData.supervisionTempDeviceReportParam.commissioningTime.replace('T', ' ')
|
||||
confirmFormData.id = resendId.value
|
||||
updateTerminalFormData(confirmFormData).then((res: any) => {
|
||||
await updateTerminalFormData(confirmFormData).then((res: any) => {
|
||||
if (res.code == 'A0000') {
|
||||
ElMessage({
|
||||
message: '重新发起成功',
|
||||
@@ -1604,6 +1335,9 @@ const confirmForm = async (flag: boolean) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
// 编码改动
|
||||
const encode = (e: string) => {
|
||||
@@ -1618,9 +1352,11 @@ defineExpose({ open })
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
::v-deep .el-divider__text {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
@@ -2,27 +2,20 @@
|
||||
<TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="搜索">
|
||||
<el-input
|
||||
v-model="tableStore.table.params.searchValue"
|
||||
placeholder="输入变电站、终端、监测点名称"
|
||||
clearable
|
||||
></el-input>
|
||||
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"
|
||||
clearable></el-input>
|
||||
</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-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="addFormModel">新增</el-button>
|
||||
<el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate">模板下载</el-button>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模版下载</el-button>
|
||||
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
@@ -49,18 +42,19 @@ import { downloadDevTemplate } from '@/api/supervision-boot/userReport/form'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ElMessageBox } from 'element-plus/es'
|
||||
import DetailInfo from '@/views/pqs/supervise/terminalNetworkDetection/components/terminainal/detail.vue'
|
||||
import {cancelTerminalFormData, getTerminalDetailsById} from '@/api/supervision-boot/terminal/index'
|
||||
import { cancelTerminalFormData, getTerminalDetailsById } from '@/api/supervision-boot/terminal/index'
|
||||
import uploadATemplate from './uploadATemplate.vue'
|
||||
import addForm from './addForm.vue'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
import { deleteDevReport } from '@/api/supervision-boot/delete/index'
|
||||
import {getUserReportById} from "@/api/supervision-boot/interfere";
|
||||
import { getUserReportById } from "@/api/supervision-boot/interfere";
|
||||
//获取登陆用户姓名和部门
|
||||
const adminInfo = useAdminInfo()
|
||||
const dictData = useDictData()
|
||||
const { push, options, currentRoute } = useRouter()
|
||||
const TableHeaderRef = ref()
|
||||
const userId = ref()
|
||||
const loading = ref(false)
|
||||
const tableRef = ref()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const statusSelect = dictData.statusSelect()
|
||||
@@ -285,7 +279,8 @@ const deleteEven = () => {
|
||||
}
|
||||
|
||||
//导出模板
|
||||
const exportExcelTemplate = () => {
|
||||
const exportExcelTemplate = async () => {
|
||||
loading.value = true
|
||||
downloadDevTemplate().then((res: any) => {
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel'
|
||||
@@ -298,6 +293,9 @@ const exportExcelTemplate = () => {
|
||||
link.click()
|
||||
link.remove()
|
||||
})
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0)
|
||||
}
|
||||
//批量导入用户数据
|
||||
const importUserData = () => {
|
||||
@@ -330,22 +328,22 @@ const handleAudit = (instanceId: any, historyInstanceId: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
const props = defineProps({id: {type: String, default: 'null'}})
|
||||
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 getTerminalDetailsById({id:fullId}).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, {immediate: true})
|
||||
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 getTerminalDetailsById({ id: fullId }).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@@ -11,34 +11,22 @@
|
||||
</template>
|
||||
<!-- 情况一:流程表单 -->
|
||||
<el-col v-if="processInstance?.processDefinition?.formType === 10" :offset="6" :span="16">
|
||||
<form-create
|
||||
v-model="detailForm.value"
|
||||
v-model:api="fApi"
|
||||
:option="detailForm.option"
|
||||
:rule="detailForm.rule"
|
||||
/>
|
||||
<form-create v-model="detailForm.value" v-model:api="fApi" :option="detailForm.option"
|
||||
:rule="detailForm.rule" />
|
||||
</el-col>
|
||||
<!-- 情况二:业务表单 -->
|
||||
<div v-if="processInstance?.processDefinition?.formType === 20">
|
||||
<BusinessFormComponent :id="processInstance.businessKey" :applyTitle="processInstance.name" />
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card
|
||||
v-for="(item, index) in runningTasks"
|
||||
:key="index"
|
||||
v-loading="processInstanceLoading"
|
||||
class="box-card"
|
||||
>
|
||||
<el-card v-for="(item, index) in runningTasks" :key="index" v-loading="processInstanceLoading"
|
||||
class="box-card">
|
||||
<template #header>
|
||||
<span class="el-icon-picture-outline">当前任务【{{ item.name }}】</span>
|
||||
</template>
|
||||
<el-col :offset="6" :span="16">
|
||||
<el-form
|
||||
:ref="'form' + index"
|
||||
:model="auditForms[index]"
|
||||
:rules="auditRule"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form :ref="'form' + index" :model="auditForms[index]" :rules="auditRule"
|
||||
label-width="100px">
|
||||
<el-form-item v-if="processInstance && processInstance.name" label="流程名">
|
||||
{{ processInstance.name }}
|
||||
</el-form-item>
|
||||
@@ -55,20 +43,12 @@
|
||||
{{ runningTasks[index]?.formName }}
|
||||
</span>
|
||||
</template>
|
||||
<form-create
|
||||
v-model="approveForms[index].value"
|
||||
v-model:api="approveFormFApis[index]"
|
||||
:option="approveForms[index].option"
|
||||
:rule="approveForms[index].rule"
|
||||
/>
|
||||
<form-create v-model="approveForms[index].value" v-model:api="approveFormFApis[index]"
|
||||
:option="approveForms[index].option" :rule="approveForms[index].rule" />
|
||||
</el-card>
|
||||
|
||||
<el-form-item label="审批建议" prop="reason" style="margin-top: 15px">
|
||||
<el-input
|
||||
v-model="auditForms[index].reason"
|
||||
placeholder="请输入审批建议"
|
||||
type="textarea"
|
||||
/>
|
||||
<el-input v-model="auditForms[index].reason" placeholder="请输入审批建议" type="textarea" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label='抄送人' prop='copyUserIds'>-->
|
||||
<!-- <el-select v-model='auditForms[index].copyUserIds' multiple placeholder='请选择抄送人'>-->
|
||||
@@ -82,8 +62,10 @@
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
<div style="margin-bottom: 20px; margin-left: 10%; font-size: 14px">
|
||||
<el-button type="success" :icon="Select" @click="handleAudit(item, true)">通过</el-button>
|
||||
<el-button type="danger" :icon="Close" @click="handleAudit(item, false)">不通过</el-button>
|
||||
<el-button type="success" :icon="Select" @click="handleAudit(item, true)"
|
||||
:loading="loading">通过</el-button>
|
||||
<el-button type="danger" :icon="Close" @click="handleAudit(item, false)"
|
||||
:loading="loading">不通过</el-button>
|
||||
<!-- <el-button type='primary' @click='openTaskUpdateAssigneeForm(item.id)'>-->
|
||||
<!-- <Icon icon='ep:edit' />-->
|
||||
<!-- 转办-->
|
||||
@@ -100,7 +82,7 @@
|
||||
</div>
|
||||
</el-col>
|
||||
</el-card>
|
||||
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="申请信息" name="申请信息" v-if="runningTasks.length == 0">
|
||||
<!-- 申请信息 -->
|
||||
@@ -110,12 +92,8 @@
|
||||
</template>
|
||||
<!-- 情况一:流程表单 -->
|
||||
<el-col v-if="processInstance?.processDefinition?.formType === 10" :offset="6" :span="16">
|
||||
<form-create
|
||||
v-model="detailForm.value"
|
||||
v-model:api="fApi"
|
||||
:option="detailForm.option"
|
||||
:rule="detailForm.rule"
|
||||
/>
|
||||
<form-create v-model="detailForm.value" v-model:api="fApi" :option="detailForm.option"
|
||||
:rule="detailForm.rule" />
|
||||
</el-col>
|
||||
<!-- 情况二:业务表单 -->
|
||||
<div v-if="processInstance?.processDefinition?.formType === 20">
|
||||
@@ -125,22 +103,12 @@
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="审批记录" name="审批记录">
|
||||
<!-- 审批记录 -->
|
||||
<ProcessInstanceTaskList
|
||||
:loading="tasksLoad"
|
||||
:process-instance="processInstance"
|
||||
:tasks="tasks"
|
||||
@refresh="getTaskList"
|
||||
/>
|
||||
<ProcessInstanceTaskList :loading="tasksLoad" :process-instance="processInstance" :tasks="tasks"
|
||||
@refresh="getTaskList" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="流程图" name="流程图">
|
||||
<ProcessInstanceBpmnViewer
|
||||
ref="mapRef"
|
||||
:id="`${id}`"
|
||||
:bpmn-xml="bpmnXml"
|
||||
:loading="processInstanceLoading"
|
||||
:process-instance="processInstance"
|
||||
:tasks="tasks"
|
||||
/>
|
||||
<ProcessInstanceBpmnViewer ref="mapRef" :id="`${id}`" :bpmn-xml="bpmnXml"
|
||||
:loading="processInstanceLoading" :process-instance="processInstance" :tasks="tasks" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<ContentWrap>
|
||||
@@ -192,6 +160,7 @@ const processInstanceLoading = ref(false) // 流程实例的加载中
|
||||
const processInstance = ref({}) // 流程实例
|
||||
const bpmnXml = ref('') // BPMN XML
|
||||
const tasksLoad = ref(true) // 任务的加载中
|
||||
const loading = ref(false) // 任务的加载中
|
||||
const tasks = ref<any[]>([]) // 任务列表
|
||||
// ========== 审批信息 ==========
|
||||
const runningTasks = ref<any[]>([]) // 运行中的任务
|
||||
@@ -226,6 +195,7 @@ watch(
|
||||
|
||||
/** 处理审批通过和不通过的操作 */
|
||||
const handleAudit = async (task, pass) => {
|
||||
loading.value = true
|
||||
// 1.1 获得对应表单
|
||||
const index = runningTasks.value.indexOf(task)
|
||||
const auditFormRef = proxy.$refs['form' + index][0]
|
||||
@@ -262,7 +232,10 @@ const handleAudit = async (task, pass) => {
|
||||
ElMessage.success('审批不通过成功')
|
||||
}
|
||||
// 2.2 加载最新数据
|
||||
getDetail()
|
||||
await getDetail()
|
||||
await setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 0);
|
||||
}
|
||||
|
||||
/** 转派审批人 */
|
||||
@@ -479,6 +452,7 @@ onMounted(async () => {
|
||||
height: calc(100vh - 200px) !important;
|
||||
overflow: auto !important;
|
||||
}
|
||||
|
||||
::v-deep .el-col-offset-6 {
|
||||
margin-left: 15% !important;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user