修改海南测试问题

This commit is contained in:
GGJ
2024-10-30 09:29:39 +08:00
parent 1aa7e4263b
commit 1df2b26b04
32 changed files with 469 additions and 478 deletions

View File

@@ -5,7 +5,7 @@
:options='options' :options='options'
:props='isMultiple?baseMultipleCascader:baseCascader' :props='isMultiple?baseMultipleCascader:baseCascader'
@change='change' @change='change'
clearable
collapse-tags collapse-tags
collapse-tags-tooltip collapse-tags-tooltip
/> />
@@ -14,76 +14,19 @@
<script setup lang='ts'> <script setup lang='ts'>
import { ref } from 'vue' import { ref } from 'vue'
import { useDictData } from '@/stores/dictData'
const dictData = useDictData()
const areaCascader = ref() const areaCascader = ref()
let areaValue = ref() let areaValue = ref()
const change = (e: any) => { const change = (e: any) => {
areaValue = areaCascader.value.getCheckedNodes() areaValue = areaCascader.value.getCheckedNodes()
} }
const options = [ const options = dictData.state.area
{
value: '海口市',
label: '海口市',
children: [
{
value: '秀英区',
label: '秀英区',
children: [
{
value: '秀英区',
label: '秀英区',
children: []
},
{
value: '龙华区',
label: '龙华区',
children: []
},
{
value: '琼山区',
label: '琼山区',
children: []
}
]
},
{
value: '龙华区',
label: '龙华区',
children: []
},
{
value: '琼山区',
label: '琼山区',
children: []
}
]
},
{
value: '三亚市',
label: '三亚市',
children: [
{
value: '海棠区',
label: '海棠区',
children: []
},
{
value: '吉阳区',
label: '吉阳区',
children: []
},
{
value: '天涯区',
label: '天涯区',
children: []
}
]
}
]
// 区域联级下拉框配置,多选 // 区域联级下拉框配置,多选
const baseMultipleCascader = { const baseMultipleCascader = {
label: 'name',
value: 'name',
expandTrigger: 'hover' as const, expandTrigger: 'hover' as const,
multiple: true multiple: true
} }
@@ -91,6 +34,8 @@ const baseMultipleCascader = {
// 区域联级下拉框配置,单选 // 区域联级下拉框配置,单选
const baseCascader = { const baseCascader = {
label: 'name',
value: 'name',
expandTrigger: 'hover' as const expandTrigger: 'hover' as const
} }

View File

@@ -26,7 +26,7 @@ onMounted(() => {
}) })
const toolbarConfig = { const toolbarConfig = {
excludeKeys: ['fullScreen', 'emotion'] excludeKeys: ['fullScreen', 'emotion','insertFormula']
} }
let sever = '/api/system-boot/file/upload' let sever = '/api/system-boot/file/upload'
// 本地加api // 本地加api
@@ -56,7 +56,12 @@ const editorConfig = {
insertFn(res.data.url.split('?')[0], 'image', res.data.url.split('?')[0]) insertFn(res.data.url.split('?')[0], 'image', res.data.url.split('?')[0])
} }
} }
} },
hoverbarKeys: {
formula: {
menuKeys: ['editFormula'], // “编辑公式”菜单
},
},
} }
// 组件销毁时,也及时销毁编辑器 // 组件销毁时,也及时销毁编辑器

View File

@@ -212,3 +212,4 @@
.el-drawer__header { .el-drawer__header {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }

View File

@@ -70,3 +70,7 @@
.is--disabled { .is--disabled {
background-color: var(--vxe-input-disabled-color); background-color: var(--vxe-input-disabled-color);
} }
.vxe-modal--wrapper {
z-index: 5000 !important;
}

View File

@@ -3,22 +3,12 @@
<template #select> <template #select>
<el-form-item label="监督类型"> <el-form-item label="监督类型">
<el-select v-model="tableStore.table.params.supvType" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.supvType" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in supvTypeOptionList" :key="item.id" :label="item.name" :value="item.id"></el-option>
v-for="item in supvTypeOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in statusSelect" :key="item.id" :label="item.name" :value="item.id"></el-option>
v-for="item in statusSelect"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
@@ -234,6 +224,13 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteSurveyPlan(tableStore.table.selection.map(item => item.id)).then(res => { deleteSurveyPlan(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -241,6 +238,9 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
const exportFn = () => { const exportFn = () => {

View File

@@ -34,7 +34,8 @@ const layout = mainHeight(63) as any
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('supervision/harmonicmanagement')) { if (route.fullPath.includes('supervision/harmonicmanagement')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == 'null' || type == '1') { if (type == 'null') { }
else if (type == '1') {
activeName.value = '1' activeName.value = '1'
} else { } else {
activeName.value = '2' activeName.value = '2'

View File

@@ -32,7 +32,8 @@ const key = ref('')
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('supervision/interferencemanagement')) { if (route.fullPath.includes('supervision/interferencemanagement')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == 'null' || type == '1') { if (type == 'null') { }
else if (type == '1') {
activeName.value = '1' activeName.value = '1'
} else { } else {
activeName.value = '3' activeName.value = '3'

View File

@@ -30,7 +30,8 @@ const layout = mainHeight(63) as any
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('supervision/retire')) { if (route.fullPath.includes('supervision/retire')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == 'null' || type == '0') { if (type == 'null') { }
else if (type == '0') {
activeName.value = '0' activeName.value = '0'
} else { } else {
activeName.value = '1' activeName.value = '1'

View File

@@ -5,20 +5,13 @@
<template #select> <template #select>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in statusSelect" :key="item.id" :label="item.name"
v-for="item in statusSelect" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="搜索"> <el-form-item label="搜索">
<el-input <el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、监测点"
v-model="tableStore.table.params.searchValue" clearable></el-input>
placeholder="输入变电站、监测点"
clearable
></el-input>
</el-form-item> </el-form-item>
</template> </template>
<template #operation> <template #operation>
@@ -253,6 +246,12 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => { deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -260,6 +259,10 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
/** 流程实例详情 */ /** 流程实例详情 */

View File

@@ -249,6 +249,12 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => { deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -256,6 +262,8 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
/** 流程实例详情 */ /** 流程实例详情 */

View File

@@ -3,12 +3,8 @@
<template #select> <template #select>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in statusSelect" :key="item.id" :label="item.name"
v-for="item in statusSelect" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
@@ -399,6 +395,12 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => { deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -406,6 +408,10 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
/**取消流程操作*/ /**取消流程操作*/
@@ -451,10 +457,12 @@ const handleAudit = (instanceId: any, historyInstanceId: any) => {
const props = defineProps(['id', 'businessKey']) const props = defineProps(['id', 'businessKey'])
watch(() => props.id, async (newValue, oldValue) => { watch(() => props.id, async (newValue, oldValue) => {
if (newValue === 'null') return // 直接返回,避免后续逻辑执行 if (newValue === 'null') return // 直接返回,避免后续逻辑执行
const fullId = newValue.split('@')[0] let fullId = newValue.split('@')[0]
let nowTime = Date.now() let nowTime = Date.now()
const routeTime = Number(newValue.split('@')[1]) const routeTime = Number(newValue.split('@')[1])
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms则不执行
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT || fullId == 'null') return // 路由时间超过500ms则不执行
await getById(fullId).then(res => { await getById(fullId).then(res => {
if (res && res.code == 'A0000') { if (res && res.code == 'A0000') {
if (res && res.code == 'A0000') { if (res && res.code == 'A0000') {

View File

@@ -281,6 +281,13 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => { deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -288,6 +295,9 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
/**取消流程操作*/ /**取消流程操作*/
@@ -325,10 +335,10 @@ const handleAudit = (instanceId: any, historyInstanceId: any) => {
const props = defineProps(['id','businessKey']) const props = defineProps(['id','businessKey'])
watch(() => props.id, async (newValue, oldValue) => { watch(() => props.id, async (newValue, oldValue) => {
if (newValue === 'null') return // 直接返回,避免后续逻辑执行 if (newValue === 'null') return // 直接返回,避免后续逻辑执行
const fullId = newValue.split('@')[0] let fullId = newValue.split('@')[0]
let nowTime = Date.now() let nowTime = Date.now()
const routeTime = Number(newValue.split('@')[1]) const routeTime = Number(newValue.split('@')[1])
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms则不执行 if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT || fullId == 'null') return // 路由时间超过500ms则不执行
await getById(fullId).then(res => { await getById(fullId).then(res => {
if (res && res.code == 'A0000') { if (res && res.code == 'A0000') {
if(props.businessKey == '3'){ if(props.businessKey == '3'){

View File

@@ -3,22 +3,12 @@
<el-scrollbar> <el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef"> <el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
<el-form-item label="问题详情:"> <el-form-item label="问题详情:">
<el-input <el-input v-model="form.issueDetail" disabled autocomplete="off" type="textarea"
v-model="form.issueDetail" :autosize="{ minRows: 2, maxRows: 6 }" readonly />
autocomplete="off"
type="textarea"
:autosize="{ minRows: 2, maxRows: 6 }"
readonly
/>
</el-form-item> </el-form-item>
<el-form-item label="整改意见:"> <el-form-item label="整改意见:">
<el-input <el-input v-model="form.reformAdvice" autocomplete="off" disabled type="textarea"
v-model="form.reformAdvice" :autosize="{ minRows: 2, maxRows: 6 }" readonly />
autocomplete="off"
type="textarea"
:autosize="{ minRows: 2, maxRows: 6 }"
readonly
/>
</el-form-item> </el-form-item>
<el-form-item label="技术监督报告:" v-if="showFile1"> <el-form-item label="技术监督报告:" v-if="showFile1">
@@ -38,26 +28,12 @@
</el-form-item> </el-form-item>
<el-form-item label="采取的措施:" prop="takeStep"> <el-form-item label="采取的措施:" prop="takeStep">
<el-input <el-input v-model="form.takeStep" autocomplete="off" placeholder="请输入采取的措施" type="textarea" />
v-model="form.takeStep"
autocomplete="off"
placeholder="请输入采取的措施"
type="textarea"
/>
</el-form-item> </el-form-item>
<el-form-item label="反馈报告:" class="uploadFile" prop="reportPath"> <el-form-item label="反馈报告:" class="uploadFile" prop="reportPath">
<el-upload <el-upload v-model:file-list="form.reportPath" ref="uploadRef" action="" :accept="acceptType"
v-model:file-list="form.reportPath" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
ref="uploadRef" :on-progress="uploadFileName('reportPath')" :on-remove="removeFile">
action=""
:accept="acceptType"
:limit="1"
:on-exceed="handleExceed"
:on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('reportPath')"
:on-remove="removeFile"
>
<template #trigger> <template #trigger>
<el-button type="primary">上传文件</el-button> <el-button type="primary">上传文件</el-button>
</template> </template>
@@ -160,8 +136,8 @@ const open = async (
} }
form.value.id = id form.value.id = id
form.value.status = status form.value.status = status
form.value.issueDetail = issueDetail form.value.issueDetail = issueDetail || ''
form.value.reformAdvice = reformAdvice form.value.reformAdvice = reformAdvice || ''
reportFilePath.value = reportPath reportFilePath.value = reportPath
//判断附件是否存在,如果存在则回显出让用户可以点击下载 //判断附件是否存在,如果存在则回显出让用户可以点击下载
if (problemPath) { if (problemPath) {
@@ -292,6 +268,7 @@ const uploadFileName = val => {
.el-select { .el-select {
min-width: 180px; min-width: 180px;
} }
.elView { .elView {
cursor: pointer; cursor: pointer;
margin-right: 10px; margin-right: 10px;

View File

@@ -27,13 +27,14 @@ defineOptions({
name: 'supervision/supervision/manage' name: 'supervision/supervision/manage'
}) })
const activeName: any = ref(null) const activeName: any = ref('3')
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('supervision/supervision/manage')) { if (route.fullPath.includes('supervision/supervision/manage')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == 'null' || type == '0' || type == '3') { if (type == 'null') { }
else if (type == '0' || type == '3') {
activeName.value = '3' activeName.value = '3'
} else { } else {
activeName.value = '4' activeName.value = '4'

View File

@@ -109,6 +109,8 @@ const tableStore = new TableStore({
name: '电网拓扑', name: '电网拓扑',
code: 'Power_Network' code: 'Power_Network'
} }
tableStore.table.params.runFlag = []
if(tableStore.table.params.runF!=null){ if(tableStore.table.params.runF!=null){
tableStore.table.params.runFlag = [tableStore.table.params.runF] tableStore.table.params.runFlag = [tableStore.table.params.runF]
} }
@@ -121,7 +123,7 @@ tableStore.table.params.runF=null
tableStore.table.params.runFlag=[] tableStore.table.params.runFlag=[]
tableStore.table.params.searchValue='' tableStore.table.params.searchValue=''
const runFlagList = [{id:0,name:'运'},{id:1,name:'检修'},{id:2,name:'停运'},{id:3,name:'调试'},{id:4,name:'退运'}] const runFlagList = [{id:0,name:'运'},{id:1,name:'检修'},{id:2,name:'停运'},{id:3,name:'调试'},{id:4,name:'退运'}]
provide('tableStore', tableStore) provide('tableStore', tableStore)

View File

@@ -254,6 +254,14 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => { deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -261,6 +269,8 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
/**取消流程操作*/ /**取消流程操作*/

View File

@@ -205,6 +205,13 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => { deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -212,6 +219,8 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }

View File

@@ -41,7 +41,8 @@ const activeName = ref('1')
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('Supervision/Terminaldetection')) { if (route.fullPath.includes('Supervision/Terminaldetection')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == '1') { if (type == 'null') { }
else if (type == '1') {
activeName.value = '1' activeName.value = '1'
} }
id.value = (route.query.id as string) || 'null' id.value = (route.query.id as string) || 'null'

View File

@@ -265,6 +265,14 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteTempLineDebugReport(tableStore.table.selection.map(item => item.id)).then(res => { deleteTempLineDebugReport(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -272,6 +280,8 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }
onMounted(() => { onMounted(() => {

View File

@@ -3,20 +3,13 @@
<TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef"> <TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef">
<template #select> <template #select>
<el-form-item label="搜索"> <el-form-item label="搜索">
<el-input <el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"
v-model="tableStore.table.params.searchValue" clearable></el-input>
placeholder="输入变电站、终端、监测点名称"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in statusSelect" :key="item.id" :label="item.name"
v-for="item in statusSelect" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
@@ -240,6 +233,14 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteTempLineReport(tableStore.table.selection.map(item => item.id)).then(res => { deleteTempLineReport(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -247,6 +248,8 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }

View File

@@ -15,7 +15,8 @@
<template #operation> <template #operation>
<el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button> <el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button>
<el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button> <el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button>
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模版下载</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> <el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
</template> </template>
</TableHeader> </TableHeader>
@@ -268,6 +269,12 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
deleteDevReport(tableStore.table.selection.map(item => item.id)).then(res => { deleteDevReport(tableStore.table.selection.map(item => item.id)).then(res => {
ElMessage({ ElMessage({
type: 'success', type: 'success',
@@ -275,6 +282,11 @@ const deleteEven = () => {
}) })
tableStore.index() tableStore.index()
}) })
})
} }
} }

View File

@@ -38,7 +38,8 @@ const key = ref('')
watch(() => route.query.t, async (newValue, oldValue) => { watch(() => route.query.t, async (newValue, oldValue) => {
if (route.fullPath.includes('terminalNetwotk')) { if (route.fullPath.includes('terminalNetwotk')) {
let type = (route.query.type as string) || 'null' let type = (route.query.type as string) || 'null'
if (type == 'null' || type == '1') { if (type == 'null') { }
else if (type == '1') {
activeName.value = '1' activeName.value = '1'
} else if (type == '2') { } else if (type == '2') {
activeName.value = '2' activeName.value = '2'

View File

@@ -5,12 +5,8 @@
<template #select> <template #select>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
<el-option <el-option v-for="item in statusSelect" :key="item.id" :label="item.name"
v-for="item in statusSelect" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
@@ -265,6 +261,12 @@ const deleteEven = () => {
message: '请选择要删除的数据' message: '请选择要删除的数据'
}) })
} else { } else {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
let createBy = tableStore.table.selection.map(item => item.createBy) let createBy = tableStore.table.selection.map(item => item.createBy)
let status = tableStore.table.selection.map(item => item.status) let status = tableStore.table.selection.map(item => item.status)
if (adminInfo.roleCode.includes('delete_info')) { if (adminInfo.roleCode.includes('delete_info')) {
@@ -277,6 +279,9 @@ const deleteEven = () => {
message: '只能删除自己填报的数据!!!' message: '只能删除自己填报的数据!!!'
}) })
} }
})
} }
} }

View File

@@ -17,7 +17,7 @@
<span>事件关联编号为{{ AssociationNumber }}</span> <span>事件关联编号为{{ AssociationNumber }}</span>
<div> <div>
<el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button> <el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button>
<el-button icon="el-icon-Download" type="primary" @click="bxcontrast">波形对比</el-button> <!-- <el-button icon="el-icon-Download" type="primary" @click="bxcontrast">波形对比</el-button> -->
</div> </div>
</div> </div>
<vxe-table <vxe-table

View File

@@ -17,31 +17,17 @@
<span>事件关联编号为{{ AssociationNumber }}</span> <span>事件关联编号为{{ AssociationNumber }}</span>
<el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button> <el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button>
</div> </div>
<vxe-table <vxe-table height="400" ref="positioningtableRef" auto-resize :data="AnalysisData"
height="500" v-bind="defaultAttribute">
ref="positioningtableRef"
auto-resize
:data="AnalysisData"
v-bind="defaultAttribute"
>
<vxe-table-column title="序号" width="70" type="seq" align="center"> <vxe-table-column title="序号" width="70" type="seq" align="center">
<template v-slot="row"> <template v-slot="row">
<span>{{ (form.pageNum - 1) * form.pageSize + row.rowIndex + 1 }}</span> <span>{{ (form.pageNum - 1) * form.pageSize + row.rowIndex + 1 }}</span>
</template> </template>
</vxe-table-column> </vxe-table-column>
<vxe-table-column <vxe-table-column field="startTime" title="发生时间" align="center"
field="startTime" :show-overflow="true"></vxe-table-column>
title="发生时间"
align="center"
:show-overflow="true"
></vxe-table-column>
<vxe-table-column field="gdName" title="供电公司" align="center"></vxe-table-column> <vxe-table-column field="gdName" title="供电公司" align="center"></vxe-table-column>
<vxe-table-column <vxe-table-column field="subName" :show-overflow="true" title="变电站" align="center"></vxe-table-column>
field="subName"
:show-overflow="true"
title="变电站"
align="center"
></vxe-table-column>
<vxe-table-column field="lineName" title="监测点" align="center"></vxe-table-column> <vxe-table-column field="lineName" title="监测点" align="center"></vxe-table-column>
<vxe-table-column field="voltageId" title="电压等级(kV)" align="center"></vxe-table-column> <vxe-table-column field="voltageId" title="电压等级(kV)" align="center"></vxe-table-column>
<vxe-table-column field="featureAmplitude" title="暂降幅值(%)" align="center" width="140"> <vxe-table-column field="featureAmplitude" title="暂降幅值(%)" align="center" width="140">
@@ -50,32 +36,14 @@
</template> </template>
</vxe-table-column> </vxe-table-column>
<vxe-table-column field="duration" title="持续时间(s)" align="center" width="120"></vxe-table-column> <vxe-table-column field="duration" title="持续时间(s)" align="center" width="120"></vxe-table-column>
<vxe-table-column <vxe-table-column field="advanceType" title="暂降类型" align="center" width="120"
field="advanceType" :formatter="formFilter"></vxe-table-column>
title="暂降类型" <vxe-table-column field="advanceReason" title="暂降原因" align="center" width="120"
align="center" :formatter="formFilter"></vxe-table-column>
width="120"
:formatter="formFilter"
></vxe-table-column>
<vxe-table-column
field="advanceReason"
title="暂降原因"
align="center"
width="120"
:formatter="formFilter"
></vxe-table-column>
</vxe-table> </vxe-table>
<el-pagination <el-pagination class="mt10" :currentPage="form.pageNum" :page-size="form.pageSize"
class="mt10" :page-sizes="[10, 20, 50, 100]" background :layout="'sizes,total, ->, prev, pager, next, jumper'"
:currentPage="form.pageNum" :total="total" @size-change="onTableSizeChange" @current-change="onTableCurrentChange"></el-pagination>
:page-size="form.pageSize"
:page-sizes="[10, 20, 50, 100]"
background
:layout="'sizes,total, ->, prev, pager, next, jumper'"
:total="total"
@size-change="onTableSizeChange"
@current-change="onTableCurrentChange"
></el-pagination>
</el-dialog> </el-dialog>
<!-- 暂降源定位 --> <!-- 暂降源定位 -->
</div> </div>
@@ -142,14 +110,14 @@ const tableStore = new TableStore({
source() source()
} }
}, },
{ // {
name: 'edit', // name: 'edit',
title: '范围查看', // title: '范围查看',
type: 'primary', // type: 'primary',
icon: 'el-icon-Plus', // icon: 'el-icon-Plus',
render: 'basicButton' // render: 'basicButton'
} // }
] ]
} }
], ],
@@ -243,7 +211,8 @@ const positioningexport = () => {
sheetName: 'Sheet1', sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true, useStyle: true,
data: dialogAnalysis.value, // 数据源 // 过滤那个字段导出 download: false,
data: AnalysisData.value, // 数据源 // 过滤那个字段导出
columnFilterMethod: function (column, $columnIndex) { columnFilterMethod: function (column, $columnIndex) {
return !(column.$columnIndex === 0) return !(column.$columnIndex === 0)
} }
@@ -256,4 +225,6 @@ const positioningexport = () => {
min-width: 128px; min-width: 128px;
} }
} }
</style> </style>

View File

@@ -4,7 +4,7 @@
class="cn-operate-dialog" class="cn-operate-dialog"
v-model="incomingDialogVisible" v-model="incomingDialogVisible"
:title="title" :title="title"
style="width: 415px; height: 300px" style="width: 415px;"
> >
<el-scrollbar> <el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef"> <el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">

View File

@@ -1,6 +1,6 @@
<!--终端详情页面包含终端基础信息元器件列表信息--> <!--终端详情页面包含终端基础信息元器件列表信息-->
<template> <template>
<el-dialog draggable class="cn-operate-dialog" v-model="machineDetailVisible" :title="title" style="width: 900px"> <el-dialog draggable class="cn-operate-dialog" v-model="machineDetailVisible" :title="title" style="width: 1000px">
<el-scrollbar> <el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px" ref="formRef"> <el-form :inline="false" :model="form" label-width="120px" ref="formRef">
<el-form-item label="终端名称"> <el-form-item label="终端名称">

View File

@@ -30,9 +30,9 @@ const tableStore = new TableStore({
publicHeight: 300, publicHeight: 300,
showPage: false, showPage: false,
column: [ column: [
{ title: '元器件名称', width: 110, field: 'name' }, { title: '元器件名称', minWidth: 110, field: 'name' },
{ {
title: '灵敏度', width: 80, field: 'sensitivity', title: '灵敏度', minWidth: 80, field: 'sensitivity',
formatter: (row: any) => { formatter: (row: any) => {
let temp let temp
switch (row.sensitivity) { switch (row.sensitivity) {
@@ -52,7 +52,7 @@ const tableStore = new TableStore({
} }
}, },
{ {
title: '耐受能力', width: 90, field: 'standardFlag', title: '耐受能力', minWidth: 90, field: 'standardFlag',
formatter: (row: any) => { formatter: (row: any) => {
return row.standardFlag == 0 ? '否' : '是' return row.standardFlag == 0 ? '否' : '是'
} }
@@ -60,15 +60,15 @@ const tableStore = new TableStore({
{ {
title: '上限曲线', title: '上限曲线',
children: [ children: [
{ title: '持续时间(ms)', width: '110', field: 'vtcTimeUpper' }, { title: '持续时间(ms)', minWidth: '110', field: 'vtcTimeUpper' },
{ title: '暂降幅值(p.u.)', width: '110', field: 'vtcAmpUpper' } { title: '暂降幅值(p.u.)', minWidth: '110', field: 'vtcAmpUpper' }
] ]
}, },
{ {
title: '下限曲线', title: '下限曲线',
children: [ children: [
{ title: '持续时间(ms)', width: '110', field: 'vtcTimeLower' }, { title: '持续时间(ms)', minWidth: '110', field: 'vtcTimeLower' },
{ title: '暂降幅值(p.u.)', width: '110', field: 'vtcAmpLower' } { title: '暂降幅值(p.u.)', minWidth: '110', field: 'vtcAmpLower' }
] ]
}, },
{ {

View File

@@ -5,7 +5,7 @@
<el-tabs tab-position="left" style="height: 100%" :before-leave="checkUserId" v-model="tab"> <el-tabs tab-position="left" style="height: 100%" :before-leave="checkUserId" v-model="tab">
<el-tab-pane label="基本信息" name="user"> <el-tab-pane label="基本信息" name="user">
<el-form-item label="用户名" prop="userName" > <el-form-item label="用户名" prop="userName" >
<el-input v-model="form.userName" /> <el-input v-model="form.userName" placeholder="请输入用户名" clearable />
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@@ -18,21 +18,21 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属行业" prop="industry"> <el-form-item label="所属行业" prop="industry">
<el-input v-model="form.industry" /> <el-input v-model="form.industry" placeholder="请输入所属行业" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="所在地区" prop="addr"> <el-form-item label="所在地区" prop="addr">
<area-cascard v-model="form.addr" @change="reValueAddr" ref="areaRef" /> <area-cascard v-model="form.addr" @change="reValueAddr" ref="areaRef" placeholder="请选择所在地区" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="详细地址"> <el-form-item label="详细地址">
<el-input v-model="form.addrDetail" /> <el-input v-model="form.addrDetail" placeholder="请输入详细地址" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="联系方式"> <el-form-item label="联系方式">
<el-input v-model="form.concact" /> <el-input v-model="form.concact" placeholder="请输入联系方式" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="用户描述"> <el-form-item label="用户描述">
<el-input v-model="form.remark" :rows="2" type="textarea" placeholder="请输入描述" /> <el-input v-model="form.remark" :rows="2" type="textarea" placeholder="请输入描述" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="企业照片"> <el-form-item label="企业照片">
<div> <div>

View File

@@ -30,8 +30,8 @@ const { query } = useRoute()
onMounted(() => { onMounted(() => {
governTotalContent.value.style.height = mainHeight().height governTotalContent.value.style.height = mainHeight().height
schemeContent.value.style.height = mainHeight(45).height schemeContent.value.style.height = mainHeight(65).height
schemeContent.value.style.maxheight = mainHeight(45).height schemeContent.value.style.maxheight = mainHeight(65).height
schemeContent.value.style.overflowY = 'scroll' schemeContent.value.style.overflowY = 'scroll'
schemeContent.value.style.overflowX = 'hidden' schemeContent.value.style.overflowX = 'hidden'
}) })

View File

@@ -61,12 +61,12 @@ const tableStore = new TableStore({
method: 'POST', method: 'POST',
column: [ column: [
{ title: '序号', type: 'seq', width: 80 }, { title: '序号', type: 'seq', width: 80 },
{ title: '用户', field: 'userName', width: 160 }, { title: '用户', field: 'userName', minWidth: 160 },
{ title: '生产线名称', field: 'productLineName', width: 160 }, { title: '生产线名称', field: 'productLineName', minWidth: 160 },
{ title: '期望回报(年)', field: 'payBackPeriod', width: 150 }, { title: '期望回报(年)', field: 'payBackPeriod', minWidth: 150 },
{ title: '数据时间范围', field: 'timeScope', width: 170 }, { title: '数据时间范围', field: 'timeScope', minWidth: 170 },
{ {
title: '治理容量(kW)', field: 'governPower', width: 150, type: 'html', title: '治理容量(kW)', field: 'governPower', minWidth: 150, type: 'html',
formatter: (obj: any) => { formatter: (obj: any) => {
const val = obj.row.governPower const val = obj.row.governPower
const id = obj.row.productLineId const id = obj.row.productLineId
@@ -77,7 +77,7 @@ const tableStore = new TableStore({
title: '最佳方案', title: '最佳方案',
children: [ children: [
{ {
title: '方案名称', width: '110', field: 'schemeType', title: '方案名称', minWidth: '110', field: 'schemeType',
formatter: (obj: any) => { formatter: (obj: any) => {
let temp let temp
switch (obj.row.schemeType) { switch (obj.row.schemeType) {
@@ -97,13 +97,13 @@ const tableStore = new TableStore({
} }
}, },
{ {
title: '初期投资(万元)', width: '150', field: 'initialInvest', title: '初期投资(万元)', minWidth: '150', field: 'initialInvest',
formatter: (obj: any) => { formatter: (obj: any) => {
return Number(obj.row.schemeEquipment) + Number(obj.row.schemeMaintain) return (Number(obj.row.schemeEquipment) + Number(obj.row.schemeMaintain)).toFixed(2)
} }
}, },
{ title: '投资回收期(年)', width: '150', field: 'payBackYear' }, { title: '投资回收期(年)', minWidth: '150', field: 'payBackYear' },
{ title: '治理效果(万元/年)', width: '150', field: 'governEffect' } { title: '治理效果(万元/年)', minWidth: '150', field: 'governEffect' }
] ]
}, },
{ {
@@ -149,11 +149,11 @@ const tableStore = new TableStore({
if (tableStore.table.params.addr) { if (tableStore.table.params.addr) {
tableStore.table.params.addrStrOption = tableStore.table.params.addr.map(tempArray => tempArray.join('/')) tableStore.table.params.addrStrOption = tableStore.table.params.addr.map(tempArray => tempArray.join('/'))
} }
for (let key in tableStore.table.params) { // for (let key in tableStore.table.params) {
if (tableStore.table.params[key] === '') { // if (tableStore.table.params[key] === '') {
delete tableStore.table.params[key] // delete tableStore.table.params[key]
} // }
} // }
} }
}) })

View File

@@ -45,7 +45,9 @@ const tableStore = new TableStore({
url: '/user-boot/function/getButtonById', url: '/user-boot/function/getButtonById',
publicHeight: 60, publicHeight: 60,
column: [ column: [
{ title: '普通接口/接口名称', field: 'name' }, { title: '普通接口/接口名称', field: 'name', formatter: row => {
return row.cellValue == 1 ? '普通接口' : '公用接口'
} },
{ title: '接口类型', field: 'type' }, { title: '接口类型', field: 'type' },
{ title: 'URL接口路径', field: 'path' }, { title: 'URL接口路径', field: 'path' },
{ {