修改海南测试问题
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
:options='options'
|
||||
:props='isMultiple?baseMultipleCascader:baseCascader'
|
||||
@change='change'
|
||||
clearable
|
||||
|
||||
collapse-tags
|
||||
collapse-tags-tooltip
|
||||
/>
|
||||
@@ -14,76 +14,19 @@
|
||||
|
||||
<script setup lang='ts'>
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
const dictData = useDictData()
|
||||
const areaCascader = ref()
|
||||
let areaValue = ref()
|
||||
const change = (e: any) => {
|
||||
areaValue = areaCascader.value.getCheckedNodes()
|
||||
}
|
||||
|
||||
const options = [
|
||||
{
|
||||
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 options = dictData.state.area
|
||||
// 区域联级下拉框配置,多选
|
||||
const baseMultipleCascader = {
|
||||
label: 'name',
|
||||
value: 'name',
|
||||
expandTrigger: 'hover' as const,
|
||||
multiple: true
|
||||
}
|
||||
@@ -91,6 +34,8 @@ const baseMultipleCascader = {
|
||||
|
||||
// 区域联级下拉框配置,单选
|
||||
const baseCascader = {
|
||||
label: 'name',
|
||||
value: 'name',
|
||||
expandTrigger: 'hover' as const
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ onMounted(() => {
|
||||
})
|
||||
|
||||
const toolbarConfig = {
|
||||
excludeKeys: ['fullScreen', 'emotion']
|
||||
excludeKeys: ['fullScreen', 'emotion','insertFormula']
|
||||
}
|
||||
let sever = '/api/system-boot/file/upload'
|
||||
// 本地加api
|
||||
@@ -56,7 +56,12 @@ const editorConfig = {
|
||||
insertFn(res.data.url.split('?')[0], 'image', res.data.url.split('?')[0])
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
hoverbarKeys: {
|
||||
formula: {
|
||||
menuKeys: ['editFormula'], // “编辑公式”菜单
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// 组件销毁时,也及时销毁编辑器
|
||||
|
||||
@@ -212,3 +212,4 @@
|
||||
.el-drawer__header {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,3 +70,7 @@
|
||||
.is--disabled {
|
||||
background-color: var(--vxe-input-disabled-color);
|
||||
}
|
||||
|
||||
.vxe-modal--wrapper {
|
||||
z-index: 5000 !important;
|
||||
}
|
||||
@@ -3,22 +3,12 @@
|
||||
<template #select>
|
||||
<el-form-item label="监督类型">
|
||||
<el-select v-model="tableStore.table.params.supvType" clearable placeholder="请选择流程状态">
|
||||
<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 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>
|
||||
@@ -27,32 +17,32 @@
|
||||
<el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" :checkbox-config="checkboxConfig"/>
|
||||
<Table ref="tableRef" :checkbox-config="checkboxConfig" />
|
||||
<!-- 新增 -->
|
||||
<planAdd ref="planAddRef" @onsubmit="tableStore.index()" :openType="openType"/>
|
||||
<planAdd ref="planAddRef" @onsubmit="tableStore.index()" :openType="openType" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {useAdminInfo} from '@/stores/adminInfo'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
//获取登陆用户姓名和部门
|
||||
const adminInfo = useAdminInfo()
|
||||
import {ref, onMounted, provide, watch, nextTick} from 'vue'
|
||||
import { ref, onMounted, provide, watch, nextTick } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import {ElMessage, ElMessageBox} from 'element-plus'
|
||||
import {cancel, getById} from '@/api/process-boot/generalTest'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { cancel, getById } from '@/api/process-boot/generalTest'
|
||||
import planAdd from './planAdd.vue'
|
||||
import {useRouter} from 'vue-router'
|
||||
import {queryPlan, removeSurvey} from '@/api/process-boot/generalTest'
|
||||
import {getUserByRoleType} from '@/api/user-boot/user'
|
||||
import {useDictData} from '@/stores/dictData'
|
||||
import {deleteSurveyPlan} from '@/api/supervision-boot/delete/index'
|
||||
import {getUserReportById} from "@/api/supervision-boot/interfere";
|
||||
import { useRouter } from 'vue-router'
|
||||
import { queryPlan, removeSurvey } from '@/api/process-boot/generalTest'
|
||||
import { getUserByRoleType } from '@/api/user-boot/user'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { deleteSurveyPlan } from '@/api/supervision-boot/delete/index'
|
||||
import { getUserReportById } from "@/api/supervision-boot/interfere";
|
||||
|
||||
const dictData = useDictData()
|
||||
const supvTypeOptionList = dictData.getBasicData('supv_type')
|
||||
const statusSelect = dictData.statusSelect()
|
||||
const {push, options, currentRoute} = useRouter()
|
||||
const { push, options, currentRoute } = useRouter()
|
||||
const dialogVisible = ref(false)
|
||||
const tableRef = ref()
|
||||
const planAddRef = ref()
|
||||
@@ -109,8 +99,8 @@ const tableStore = new TableStore({
|
||||
}
|
||||
},
|
||||
|
||||
{field: 'planStartTime', minWidth: 130, title: '计划开始时间'},
|
||||
{field: 'planEndTime', minWidth: 130, title: '计划结束时间'},
|
||||
{ field: 'planStartTime', minWidth: 130, title: '计划开始时间' },
|
||||
{ field: 'planEndTime', minWidth: 130, title: '计划结束时间' },
|
||||
{
|
||||
field: 'status',
|
||||
title: '流程状态',
|
||||
@@ -221,10 +211,10 @@ const add = () => {
|
||||
}
|
||||
// 禁止点击
|
||||
const checkboxConfig = reactive({
|
||||
checkMethod: ({row}) => {
|
||||
checkMethod: ({ row }) => {
|
||||
return adminInfo.roleCode.includes('delete_info')
|
||||
? true
|
||||
: row.createBy == adminInfo.$state.id && row.status == 0
|
||||
? true
|
||||
: row.createBy == adminInfo.$state.id && row.status == 0
|
||||
}
|
||||
})
|
||||
const deleteEven = () => {
|
||||
@@ -234,13 +224,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteSurveyPlan(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteSurveyPlan(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
const exportFn = () => {
|
||||
@@ -264,7 +264,7 @@ const exportFn = () => {
|
||||
/**取消流程操作*/
|
||||
const cancelLeave = async (row: any) => {
|
||||
// 二次确认
|
||||
const {value} = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
inputType: 'textarea',
|
||||
@@ -307,20 +307,20 @@ onMounted(() => {
|
||||
})
|
||||
})
|
||||
watch(
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
() => currentRoute.value.path,
|
||||
() => {
|
||||
if (flag.value && options.history.state.forward?.split('/')[1] == 'bpm') {
|
||||
tableStore.index()
|
||||
flag.value = false
|
||||
}
|
||||
},
|
||||
{
|
||||
deep: true
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
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]
|
||||
@@ -330,7 +330,7 @@ watch(() => props.id, async (newValue, oldValue) => {
|
||||
nextTick(() => {
|
||||
planAddRef.value.open('重新发起计划', fullId, false)
|
||||
})
|
||||
}, {immediate: true})
|
||||
}, { immediate: true })
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
@@ -34,7 +34,8 @@ const layout = mainHeight(63) as any
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('supervision/harmonicmanagement')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == 'null' || type == '1') {
|
||||
if (type == 'null') { }
|
||||
else if (type == '1') {
|
||||
activeName.value = '1'
|
||||
} else {
|
||||
activeName.value = '2'
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
<div class='default-main'>
|
||||
<el-tabs v-model='activeName' type='border-card'>
|
||||
<el-tab-pane label='未建档用户档案录入管理' name='1'>
|
||||
<undocumented ref='Undocumented' :id='id' v-if="activeName == '1'"/>
|
||||
<undocumented ref='Undocumented' :id='id' v-if="activeName == '1'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='常态化干扰源用户管理' name='3'>
|
||||
<interferenceUserTable ref='InterferenceUserTable' :id='id' :businessKey="key" v-if="activeName == '3'"/>
|
||||
<interferenceUserTable ref='InterferenceUserTable' :id='id' :businessKey="key" v-if="activeName == '3'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang='ts'>
|
||||
import {nextTick, ref, provide} from 'vue'
|
||||
import {mainHeight} from '@/utils/layout'
|
||||
import { nextTick, ref, provide } from 'vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import undocumented from './components/undocumented/index.vue'
|
||||
import interferenceUserTable from './components/normalizationManager/interferenceUserTable.vue'
|
||||
import {useRoute} from 'vue-router'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
const route = useRoute()
|
||||
const Undocumented = ref()
|
||||
@@ -32,7 +32,8 @@ const key = ref('')
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('supervision/interferencemanagement')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == 'null' || type == '1') {
|
||||
if (type == 'null') { }
|
||||
else if (type == '1') {
|
||||
activeName.value = '1'
|
||||
} else {
|
||||
activeName.value = '3'
|
||||
@@ -41,7 +42,7 @@ watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
id.value = id.value + '@' + route.query.t
|
||||
key.value = (route.query.key as string) || 'null'
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
|
||||
|
||||
const layout = mainHeight(63) as any
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<div class='default-main'>
|
||||
<el-tabs v-model='activeName' type='border-card'>
|
||||
<el-tab-pane label='终端状态管理' name='0'>
|
||||
<terminal :id="id" v-if="activeName == '0'" />
|
||||
<terminal :id="id" v-if="activeName == '0'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='监测点状态管理' name='1'>
|
||||
<monitor :id="id" v-if="activeName == '1'" />
|
||||
<monitor :id="id" v-if="activeName == '1'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@ import { ref } from 'vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import terminal from './terminal.vue'
|
||||
import monitor from './monitor.vue'
|
||||
import {useRoute} from "vue-router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
defineOptions({
|
||||
name: 'supervision/retire'
|
||||
@@ -30,7 +30,8 @@ const layout = mainHeight(63) as any
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('supervision/retire')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == 'null' || type == '0') {
|
||||
if (type == 'null') { }
|
||||
else if (type == '0') {
|
||||
activeName.value = '0'
|
||||
} else {
|
||||
activeName.value = '1'
|
||||
@@ -38,7 +39,7 @@ watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
id.value = (route.query.id as string) || 'null'
|
||||
id.value = id.value + '@' + route.query.t
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
|
||||
@@ -5,20 +5,13 @@
|
||||
<template #select>
|
||||
<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>
|
||||
<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>
|
||||
</template>
|
||||
<template #operation>
|
||||
@@ -42,7 +35,7 @@ import { useRouter } from 'vue-router'
|
||||
import MonitorQuitPopup from '@/views/pqs/supervise/retire/monitorQuitPopup.vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ElMessageBox } from 'element-plus/es'
|
||||
import {cancelQuitRunningDevice, getRunningDeviceById} from '@/api/supervision-boot/device/quitRunningDev'
|
||||
import { cancelQuitRunningDevice, getRunningDeviceById } from '@/api/supervision-boot/device/quitRunningDev'
|
||||
import { deleteQuitRunningDevice } from '@/api/supervision-boot/delete/index'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
const dictData = useDictData()
|
||||
@@ -62,7 +55,7 @@ const tableStore = new TableStore({
|
||||
method: 'POST',
|
||||
publicHeight: 65,
|
||||
column: [
|
||||
{
|
||||
{
|
||||
width: '60',
|
||||
type: 'checkbox'
|
||||
},
|
||||
@@ -253,13 +246,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
/** 流程实例详情 */
|
||||
@@ -312,17 +315,17 @@ watch(
|
||||
}
|
||||
)
|
||||
|
||||
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 getRunningDeviceById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
deviceQuitPopup.value.open('重新发起', 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 getRunningDeviceById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
deviceQuitPopup.value.open('重新发起', res.data)
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
</script>
|
||||
|
||||
@@ -249,13 +249,21 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteQuitRunningDevice(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
/** 流程实例详情 */
|
||||
|
||||
@@ -3,12 +3,8 @@
|
||||
<template #select>
|
||||
<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>
|
||||
@@ -27,14 +23,14 @@
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {ref, onMounted, provide, nextTick, watch} from 'vue'
|
||||
import { ref, onMounted, provide, nextTick, watch } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import FeedbackPopup from '@/views/pqs/supervise/technology/feedbackPopup.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import {cancelFeedback, getById} from '@/api/supervision-boot/leaflet'
|
||||
import { cancelFeedback, getById } from '@/api/supervision-boot/leaflet'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { getFileNameAndFilePath } from '@/api/system-boot/file'
|
||||
@@ -399,13 +395,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
/**取消流程操作*/
|
||||
@@ -448,45 +454,47 @@ const handleAudit = (instanceId: any, historyInstanceId: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
const props = defineProps(['id','businessKey'])
|
||||
const props = defineProps(['id', 'businessKey'])
|
||||
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 getById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
if (res && res.code == 'A0000') {
|
||||
if(props.businessKey == '3'){
|
||||
feedbackPopup.value.open(
|
||||
'填报告警反馈单',
|
||||
res.data.id,
|
||||
res.data.status,
|
||||
res.data.issueDetail,
|
||||
res.data.problemPath,
|
||||
res.data.supervisionReport,
|
||||
res.data.reformAdvice
|
||||
)
|
||||
}else{
|
||||
feedbackPopup.value.open(
|
||||
'重新填报告警反馈单',
|
||||
res.data.id,
|
||||
res.data.status,
|
||||
res.data.issueDetail,
|
||||
res.data.problemPath,
|
||||
res.data.supervisionReport,
|
||||
res.data.reformAdvice,
|
||||
res.data.takeStep,
|
||||
res.data.reportPath,
|
||||
res.data.reformAdvice
|
||||
)
|
||||
}
|
||||
}
|
||||
if (newValue === 'null') return // 直接返回,避免后续逻辑执行
|
||||
let fullId = newValue.split('@')[0]
|
||||
let nowTime = Date.now()
|
||||
const routeTime = Number(newValue.split('@')[1])
|
||||
|
||||
}
|
||||
})
|
||||
}, {immediate: true})
|
||||
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT || fullId == 'null') return // 路由时间超过500ms,则不执行
|
||||
await getById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
if (res && res.code == 'A0000') {
|
||||
if (props.businessKey == '3') {
|
||||
feedbackPopup.value.open(
|
||||
'填报告警反馈单',
|
||||
res.data.id,
|
||||
res.data.status,
|
||||
res.data.issueDetail,
|
||||
res.data.problemPath,
|
||||
res.data.supervisionReport,
|
||||
res.data.reformAdvice
|
||||
)
|
||||
} else {
|
||||
feedbackPopup.value.open(
|
||||
'重新填报告警反馈单',
|
||||
res.data.id,
|
||||
res.data.status,
|
||||
res.data.issueDetail,
|
||||
res.data.problemPath,
|
||||
res.data.supervisionReport,
|
||||
res.data.reformAdvice,
|
||||
res.data.takeStep,
|
||||
res.data.reportPath,
|
||||
res.data.reformAdvice
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
@@ -281,13 +281,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteWarningLeaflet(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
tableStore.index()
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
/**取消流程操作*/
|
||||
@@ -325,10 +335,10 @@ const handleAudit = (instanceId: any, historyInstanceId: any) => {
|
||||
const props = defineProps(['id','businessKey'])
|
||||
watch(() => props.id, async (newValue, oldValue) => {
|
||||
if (newValue === 'null') return // 直接返回,避免后续逻辑执行
|
||||
const fullId = newValue.split('@')[0]
|
||||
let 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,则不执行
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT || fullId == 'null') return // 路由时间超过500ms,则不执行
|
||||
await getById(fullId).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
if(props.businessKey == '3'){
|
||||
|
||||
@@ -3,22 +3,12 @@
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
||||
<el-form-item label="问题详情:">
|
||||
<el-input
|
||||
v-model="form.issueDetail"
|
||||
autocomplete="off"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 6 }"
|
||||
readonly
|
||||
/>
|
||||
<el-input v-model="form.issueDetail" disabled autocomplete="off" type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 6 }" readonly />
|
||||
</el-form-item>
|
||||
<el-form-item label="整改意见:">
|
||||
<el-input
|
||||
v-model="form.reformAdvice"
|
||||
autocomplete="off"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 6 }"
|
||||
readonly
|
||||
/>
|
||||
<el-input v-model="form.reformAdvice" autocomplete="off" disabled type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 6 }" readonly />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="技术监督报告:" v-if="showFile1">
|
||||
@@ -38,26 +28,12 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="采取的措施:" prop="takeStep">
|
||||
<el-input
|
||||
v-model="form.takeStep"
|
||||
autocomplete="off"
|
||||
placeholder="请输入采取的措施"
|
||||
type="textarea"
|
||||
/>
|
||||
<el-input v-model="form.takeStep" autocomplete="off" placeholder="请输入采取的措施" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="反馈报告:" class="uploadFile" prop="reportPath">
|
||||
<el-upload
|
||||
v-model:file-list="form.reportPath"
|
||||
ref="uploadRef"
|
||||
action=""
|
||||
:accept="acceptType"
|
||||
:limit="1"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="choose"
|
||||
:auto-upload="false"
|
||||
:on-progress="uploadFileName('reportPath')"
|
||||
:on-remove="removeFile"
|
||||
>
|
||||
<el-upload v-model:file-list="form.reportPath" ref="uploadRef" action="" :accept="acceptType"
|
||||
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
|
||||
:on-progress="uploadFileName('reportPath')" :on-remove="removeFile">
|
||||
<template #trigger>
|
||||
<el-button type="primary">上传文件</el-button>
|
||||
</template>
|
||||
@@ -70,8 +46,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)" :loading="loading" >保存</el-button>
|
||||
<el-button type="primary" @click="submit(false)" :loading="loading" >提交审批</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>
|
||||
@@ -160,8 +136,8 @@ const open = async (
|
||||
}
|
||||
form.value.id = id
|
||||
form.value.status = status
|
||||
form.value.issueDetail = issueDetail
|
||||
form.value.reformAdvice = reformAdvice
|
||||
form.value.issueDetail = issueDetail || ''
|
||||
form.value.reformAdvice = reformAdvice || ''
|
||||
reportFilePath.value = reportPath
|
||||
//判断附件是否存在,如果存在则回显出让用户可以点击下载
|
||||
if (problemPath) {
|
||||
@@ -207,7 +183,7 @@ const close = () => {
|
||||
/**
|
||||
* 提交用户表单数据
|
||||
*/
|
||||
const submit =async (flag: boolean) => {
|
||||
const submit = async (flag: boolean) => {
|
||||
loading.value = true
|
||||
if (flag) {
|
||||
let subForm = JSON.parse(JSON.stringify(form.value))
|
||||
@@ -292,6 +268,7 @@ const uploadFileName = val => {
|
||||
.el-select {
|
||||
min-width: 180px;
|
||||
}
|
||||
|
||||
.elView {
|
||||
cursor: pointer;
|
||||
margin-right: 10px;
|
||||
|
||||
@@ -27,13 +27,14 @@ defineOptions({
|
||||
name: 'supervision/supervision/manage'
|
||||
})
|
||||
|
||||
const activeName: any = ref(null)
|
||||
const activeName: any = ref('3')
|
||||
|
||||
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('supervision/supervision/manage')) {
|
||||
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'
|
||||
} else {
|
||||
activeName.value = '4'
|
||||
@@ -42,7 +43,7 @@ watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
key.value = (route.query.key as string) || 'null'
|
||||
id.value = id.value + '@' + route.query.t
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
|
||||
|
||||
const layout = mainHeight(63) as any
|
||||
|
||||
@@ -109,6 +109,8 @@ const tableStore = new TableStore({
|
||||
name: '电网拓扑',
|
||||
code: 'Power_Network'
|
||||
}
|
||||
|
||||
tableStore.table.params.runFlag = []
|
||||
if(tableStore.table.params.runF!=null){
|
||||
tableStore.table.params.runFlag = [tableStore.table.params.runF]
|
||||
}
|
||||
@@ -121,7 +123,7 @@ tableStore.table.params.runF=null
|
||||
tableStore.table.params.runFlag=[]
|
||||
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)
|
||||
|
||||
@@ -254,13 +254,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
/**取消流程操作*/
|
||||
|
||||
@@ -205,13 +205,22 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
deleteUserReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<div class='default-main'>
|
||||
<el-tabs v-model='activeName' type='border-card'>
|
||||
<el-tab-pane label='干扰源用户台账' name='1' >
|
||||
<el-tab-pane label='干扰源用户台账' name='1'>
|
||||
<interferenceUserTable :id='id' v-if="activeName == '1'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='敏感及重要用户台账' name='2' >
|
||||
<el-tab-pane label='敏感及重要用户台账' name='2'>
|
||||
<sensitiveUserTable v-if="activeName == '2'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='变电站台账' name='3' >
|
||||
<el-tab-pane label='变电站台账' name='3'>
|
||||
<substationLedger v-if="activeName == '3'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='终端台账' name='4'>
|
||||
<deviceLedgerTable v-if="activeName == '4'" />
|
||||
<deviceLedgerTable v-if="activeName == '4'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label='监测点台账' name='5'>
|
||||
<monitorLedgerTable v-if="activeName == '5'" />
|
||||
<monitorLedgerTable v-if="activeName == '5'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
@@ -39,15 +39,16 @@ const activeName = ref('1')
|
||||
|
||||
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('Supervision/Terminaldetection')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == '1') {
|
||||
activeName.value = '1'
|
||||
if (route.fullPath.includes('Supervision/Terminaldetection')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == 'null') { }
|
||||
else if (type == '1') {
|
||||
activeName.value = '1'
|
||||
}
|
||||
id.value = (route.query.id as string) || 'null'
|
||||
id.value = id.value + '@' + route.query.t
|
||||
}
|
||||
id.value = (route.query.id as string) || 'null'
|
||||
id.value = id.value + '@' + route.query.t
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
|
||||
const layout = mainHeight(63) as any
|
||||
</script>
|
||||
|
||||
@@ -265,12 +265,22 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteTempLineDebugReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
deleteTempLineDebugReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,20 +3,13 @@
|
||||
<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>
|
||||
@@ -43,9 +36,9 @@ import addForm from './addForm.vue'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ElMessageBox } from 'element-plus/es'
|
||||
import {cancelMointorPointFormData, getTempLineDetailsById} from '@/api/supervision-boot/monitorpoint/index'
|
||||
import { cancelMointorPointFormData, getTempLineDetailsById } from '@/api/supervision-boot/monitorpoint/index'
|
||||
import { deleteTempLineReport } from '@/api/supervision-boot/delete/index'
|
||||
import {getTerminalDetailsById} from "@/api/supervision-boot/terminal";
|
||||
import { getTerminalDetailsById } from "@/api/supervision-boot/terminal";
|
||||
//获取登陆用户姓名和部门
|
||||
const adminInfo = useAdminInfo()
|
||||
const dictData = useDictData()
|
||||
@@ -240,13 +233,23 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteTempLineReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
deleteTempLineReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,22 +297,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 getTempLineDetailsById({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 getTempLineDetailsById({ id: fullId }).then(res => {
|
||||
if (res && res.code == 'A0000') {
|
||||
addForms.value.open({
|
||||
title: '重新发起',
|
||||
row: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
}, { immediate: true })
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
<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" :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>
|
||||
</template>
|
||||
</TableHeader>
|
||||
@@ -268,13 +269,24 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
deleteDevReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deleteDevReport(tableStore.table.selection.map(item => item.id)).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,29 +2,29 @@
|
||||
<div class="default-main">
|
||||
<el-tabs v-model="activeName" type="border-card">
|
||||
<el-tab-pane label="终端入网检测" name="1">
|
||||
<terminal :id="id" v-if="activeName == '1'"/>
|
||||
<terminal :id="id" v-if="activeName == '1'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="监测点台账录入" name="2">
|
||||
<monitorpoint :id="id" v-if="activeName == '2'"/>
|
||||
<monitorpoint :id="id" v-if="activeName == '2'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="监测点联调列表" name="3">
|
||||
<jointDebugList :id="id" v-if="activeName == '3'"/>
|
||||
<jointDebugList :id="id" v-if="activeName == '3'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="终端周期检测" name="4">
|
||||
<cycleDetection :id="id" :businessKey='key' v-if="activeName == '4'"/>
|
||||
<cycleDetection :id="id" :businessKey='key' v-if="activeName == '4'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {ref} from 'vue'
|
||||
import {mainHeight} from '@/utils/layout'
|
||||
import { ref } from 'vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import terminal from './components/terminainal/index.vue'
|
||||
import monitorpoint from './components/monitorpoint/index.vue'
|
||||
import jointDebugList from './components/jointDebugList/index.vue'
|
||||
import cycleDetection from './components/cycleDetection/index.vue'
|
||||
import {useRoute} from "vue-router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
defineOptions({
|
||||
name: 'terminalNetwotk'
|
||||
@@ -38,7 +38,8 @@ const key = ref('')
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
if (route.fullPath.includes('terminalNetwotk')) {
|
||||
let type = (route.query.type as string) || 'null'
|
||||
if (type == 'null' || type == '1') {
|
||||
if (type == 'null') { }
|
||||
else if (type == '1') {
|
||||
activeName.value = '1'
|
||||
} else if (type == '2') {
|
||||
activeName.value = '2'
|
||||
@@ -51,7 +52,7 @@ watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
key.value = (route.query.key as string) || 'null'
|
||||
id.value = id.value + '@' + route.query.t
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
|
||||
|
||||
const layout = mainHeight(63) as any
|
||||
|
||||
@@ -5,12 +5,8 @@
|
||||
<template #select>
|
||||
<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>
|
||||
@@ -51,7 +47,7 @@ import { ref, onMounted, provide, reactive } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import {useRoute, useRouter} from 'vue-router'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { addRunTest, update, cancel } from '@/api/supervision-boot/lineRunTest'
|
||||
@@ -265,18 +261,27 @@ const deleteEven = () => {
|
||||
message: '请选择要删除的数据'
|
||||
})
|
||||
} else {
|
||||
let createBy = tableStore.table.selection.map(item => item.createBy)
|
||||
let status = tableStore.table.selection.map(item => item.status)
|
||||
if (adminInfo.roleCode.includes('delete_info')) {
|
||||
deleteList()
|
||||
} else if (createBy.includes(adminInfo.$state.id) && status.includes(0)) {
|
||||
deleteList()
|
||||
} else {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '只能删除自己填报的数据!!!'
|
||||
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
let createBy = tableStore.table.selection.map(item => item.createBy)
|
||||
let status = tableStore.table.selection.map(item => item.status)
|
||||
if (adminInfo.roleCode.includes('delete_info')) {
|
||||
deleteList()
|
||||
} else if (createBy.includes(adminInfo.$state.id) && status.includes(0)) {
|
||||
deleteList()
|
||||
} else {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '只能删除自己填报的数据!!!'
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -405,42 +410,42 @@ const runTestSubmit = (type: number) => {
|
||||
const route = useRoute()
|
||||
|
||||
watch(() => route.query.t, async (newValue, oldValue) => {
|
||||
let nowTime = Date.now()
|
||||
let routeTime = route.query.t as number || 1
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms,则不执行
|
||||
if (route.fullPath.includes('/testRun')) {
|
||||
let id = (route.query.id as string) || 'null'
|
||||
if(id != 'null'){
|
||||
monitorIds = []
|
||||
monitorIds.push(id)
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() + 1)
|
||||
start.setHours(0, 0, 0)
|
||||
const end = new Date()
|
||||
end.setDate(end.getDate() + 3)
|
||||
end.setHours(23, 59, 59)
|
||||
const startString = formatDate(start, 'YYYY-MM-DD') // 转换为 YYYY-MM-DD 格式
|
||||
const endString = formatDate(end, 'YYYY-MM-DD')
|
||||
const data = {
|
||||
startTime: startString,
|
||||
endTime: endString,
|
||||
lineIds: monitorIds,
|
||||
operateType: 1,
|
||||
id
|
||||
}
|
||||
update(data).then((res: any) => {
|
||||
if (res.code === 'A0000') {
|
||||
ElMessage({
|
||||
message: '发起试运行成功',
|
||||
type: 'success'
|
||||
})
|
||||
tableStore.index()
|
||||
}
|
||||
})
|
||||
let nowTime = Date.now()
|
||||
let routeTime = route.query.t as number || 1
|
||||
if (isNaN(routeTime) || nowTime - routeTime > import.meta.env.VITE_ROUTE_TIME_OUT) return // 路由时间超过500ms,则不执行
|
||||
if (route.fullPath.includes('/testRun')) {
|
||||
let id = (route.query.id as string) || 'null'
|
||||
if (id != 'null') {
|
||||
monitorIds = []
|
||||
monitorIds.push(id)
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() + 1)
|
||||
start.setHours(0, 0, 0)
|
||||
const end = new Date()
|
||||
end.setDate(end.getDate() + 3)
|
||||
end.setHours(23, 59, 59)
|
||||
const startString = formatDate(start, 'YYYY-MM-DD') // 转换为 YYYY-MM-DD 格式
|
||||
const endString = formatDate(end, 'YYYY-MM-DD')
|
||||
const data = {
|
||||
startTime: startString,
|
||||
endTime: endString,
|
||||
lineIds: monitorIds,
|
||||
operateType: 1,
|
||||
id
|
||||
}
|
||||
update(data).then((res: any) => {
|
||||
if (res.code === 'A0000') {
|
||||
ElMessage({
|
||||
message: '发起试运行成功',
|
||||
type: 'success'
|
||||
})
|
||||
tableStore.index()
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {deep: true, immediate: true})
|
||||
}, { deep: true, immediate: true })
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<span>事件关联编号为:{{ AssociationNumber }}</span>
|
||||
<div>
|
||||
<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>
|
||||
<vxe-table
|
||||
|
||||
@@ -17,31 +17,17 @@
|
||||
<span>事件关联编号为:{{ AssociationNumber }}</span>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button>
|
||||
</div>
|
||||
<vxe-table
|
||||
height="500"
|
||||
ref="positioningtableRef"
|
||||
auto-resize
|
||||
:data="AnalysisData"
|
||||
v-bind="defaultAttribute"
|
||||
>
|
||||
<vxe-table height="400" ref="positioningtableRef" auto-resize :data="AnalysisData"
|
||||
v-bind="defaultAttribute">
|
||||
<vxe-table-column title="序号" width="70" type="seq" align="center">
|
||||
<template v-slot="row">
|
||||
<span>{{ (form.pageNum - 1) * form.pageSize + row.rowIndex + 1 }}</span>
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="startTime"
|
||||
title="发生时间"
|
||||
align="center"
|
||||
:show-overflow="true"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column field="startTime" title="发生时间" align="center"
|
||||
:show-overflow="true"></vxe-table-column>
|
||||
<vxe-table-column field="gdName" title="供电公司" align="center"></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="subName"
|
||||
:show-overflow="true"
|
||||
title="变电站"
|
||||
align="center"
|
||||
></vxe-table-column>
|
||||
<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="voltageId" title="电压等级(kV)" align="center"></vxe-table-column>
|
||||
<vxe-table-column field="featureAmplitude" title="暂降幅值(%)" align="center" width="140">
|
||||
@@ -50,32 +36,14 @@
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
<vxe-table-column field="duration" title="持续时间(s)" align="center" width="120"></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="advanceType"
|
||||
title="暂降类型"
|
||||
align="center"
|
||||
width="120"
|
||||
:formatter="formFilter"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="advanceReason"
|
||||
title="暂降原因"
|
||||
align="center"
|
||||
width="120"
|
||||
:formatter="formFilter"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column field="advanceType" title="暂降类型" align="center" width="120"
|
||||
:formatter="formFilter"></vxe-table-column>
|
||||
<vxe-table-column field="advanceReason" title="暂降原因" align="center" width="120"
|
||||
:formatter="formFilter"></vxe-table-column>
|
||||
</vxe-table>
|
||||
<el-pagination
|
||||
class="mt10"
|
||||
:currentPage="form.pageNum"
|
||||
: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-pagination class="mt10" :currentPage="form.pageNum" :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>
|
||||
<!-- 暂降源定位 -->
|
||||
</div>
|
||||
@@ -142,19 +110,19 @@ const tableStore = new TableStore({
|
||||
source()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '范围查看',
|
||||
type: 'primary',
|
||||
// {
|
||||
// name: 'edit',
|
||||
// title: '范围查看',
|
||||
// type: 'primary',
|
||||
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton'
|
||||
}
|
||||
// icon: 'el-icon-Plus',
|
||||
// render: 'basicButton'
|
||||
// }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
loadCallback: () => {}
|
||||
loadCallback: () => { }
|
||||
})
|
||||
tableStore.table.params.searchValue = ''
|
||||
provide('tableStore', tableStore)
|
||||
@@ -169,7 +137,7 @@ onMounted(() => {
|
||||
})
|
||||
|
||||
// 启动关联分析
|
||||
const firing = () => {}
|
||||
const firing = () => { }
|
||||
// 暂降源定位
|
||||
const source = () => {
|
||||
queryEventDetailByAssId(form.value).then(res => {
|
||||
@@ -243,7 +211,8 @@ const positioningexport = () => {
|
||||
sheetName: 'Sheet1',
|
||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||
useStyle: true,
|
||||
data: dialogAnalysis.value, // 数据源 // 过滤那个字段导出
|
||||
download: false,
|
||||
data: AnalysisData.value, // 数据源 // 过滤那个字段导出
|
||||
columnFilterMethod: function (column, $columnIndex) {
|
||||
return !(column.$columnIndex === 0)
|
||||
}
|
||||
@@ -256,4 +225,6 @@ const positioningexport = () => {
|
||||
min-width: 128px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
class="cn-operate-dialog"
|
||||
v-model="incomingDialogVisible"
|
||||
:title="title"
|
||||
style="width: 415px; height: 300px"
|
||||
style="width: 415px;"
|
||||
>
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!--终端详情页面,包含终端基础信息、元器件列表信息-->
|
||||
<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-form :inline="false" :model="form" label-width="120px" ref="formRef">
|
||||
<el-form-item label="终端名称">
|
||||
|
||||
@@ -30,9 +30,9 @@ const tableStore = new TableStore({
|
||||
publicHeight: 300,
|
||||
showPage: false,
|
||||
column: [
|
||||
{ title: '元器件名称', width: 110, field: 'name' },
|
||||
{ title: '元器件名称', minWidth: 110, field: 'name' },
|
||||
{
|
||||
title: '灵敏度', width: 80, field: 'sensitivity',
|
||||
title: '灵敏度', minWidth: 80, field: 'sensitivity',
|
||||
formatter: (row: any) => {
|
||||
let temp
|
||||
switch (row.sensitivity) {
|
||||
@@ -52,7 +52,7 @@ const tableStore = new TableStore({
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '耐受能力', width: 90, field: 'standardFlag',
|
||||
title: '耐受能力', minWidth: 90, field: 'standardFlag',
|
||||
formatter: (row: any) => {
|
||||
return row.standardFlag == 0 ? '否' : '是'
|
||||
}
|
||||
@@ -60,15 +60,15 @@ const tableStore = new TableStore({
|
||||
{
|
||||
title: '上限曲线',
|
||||
children: [
|
||||
{ title: '持续时间(ms)', width: '110', field: 'vtcTimeUpper' },
|
||||
{ title: '暂降幅值(p.u.)', width: '110', field: 'vtcAmpUpper' }
|
||||
{ title: '持续时间(ms)', minWidth: '110', field: 'vtcTimeUpper' },
|
||||
{ title: '暂降幅值(p.u.)', minWidth: '110', field: 'vtcAmpUpper' }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '下限曲线',
|
||||
children: [
|
||||
{ title: '持续时间(ms)', width: '110', field: 'vtcTimeLower' },
|
||||
{ title: '暂降幅值(p.u.)', width: '110', field: 'vtcAmpLower' }
|
||||
{ title: '持续时间(ms)', minWidth: '110', field: 'vtcTimeLower' },
|
||||
{ title: '暂降幅值(p.u.)', minWidth: '110', field: 'vtcAmpLower' }
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
||||
<el-tabs tab-position="left" style="height: 100%" :before-leave="checkUserId" v-model="tab">
|
||||
<el-tab-pane label="基本信息" name="user">
|
||||
<el-form-item label="用户名" prop="userName">
|
||||
<el-input v-model="form.userName" />
|
||||
<el-form-item label="用户名" prop="userName" >
|
||||
<el-input v-model="form.userName" placeholder="请输入用户名" clearable />
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
@@ -18,21 +18,21 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属行业" prop="industry">
|
||||
<el-input v-model="form.industry" />
|
||||
<el-input v-model="form.industry" placeholder="请输入所属行业" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<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 label="详细地址">
|
||||
<el-input v-model="form.addrDetail" />
|
||||
<el-input v-model="form.addrDetail" placeholder="请输入详细地址" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系方式">
|
||||
<el-input v-model="form.concact" />
|
||||
<el-input v-model="form.concact" placeholder="请输入联系方式" clearable/>
|
||||
</el-form-item>
|
||||
<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 label="企业照片">
|
||||
<div>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class='schemeContent' ref='schemeContent'>
|
||||
<scheme-result v-show='radio=="评估计算结果"' />
|
||||
<scheme-result v-show='radio=="评估计算结果"' />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -30,8 +30,8 @@ const { query } = useRoute()
|
||||
|
||||
onMounted(() => {
|
||||
governTotalContent.value.style.height = mainHeight().height
|
||||
schemeContent.value.style.height = mainHeight(45).height
|
||||
schemeContent.value.style.maxheight = mainHeight(45).height
|
||||
schemeContent.value.style.height = mainHeight(65).height
|
||||
schemeContent.value.style.maxheight = mainHeight(65).height
|
||||
schemeContent.value.style.overflowY = 'scroll'
|
||||
schemeContent.value.style.overflowX = 'hidden'
|
||||
})
|
||||
|
||||
@@ -61,12 +61,12 @@ const tableStore = new TableStore({
|
||||
method: 'POST',
|
||||
column: [
|
||||
{ title: '序号', type: 'seq', width: 80 },
|
||||
{ title: '用户', field: 'userName', width: 160 },
|
||||
{ title: '生产线名称', field: 'productLineName', width: 160 },
|
||||
{ title: '期望回报(年)', field: 'payBackPeriod', width: 150 },
|
||||
{ title: '数据时间范围', field: 'timeScope', width: 170 },
|
||||
{ title: '用户', field: 'userName', minWidth: 160 },
|
||||
{ title: '生产线名称', field: 'productLineName', minWidth: 160 },
|
||||
{ title: '期望回报(年)', field: 'payBackPeriod', minWidth: 150 },
|
||||
{ title: '数据时间范围', field: 'timeScope', minWidth: 170 },
|
||||
{
|
||||
title: '治理容量(kW)', field: 'governPower', width: 150, type: 'html',
|
||||
title: '治理容量(kW)', field: 'governPower', minWidth: 150, type: 'html',
|
||||
formatter: (obj: any) => {
|
||||
const val = obj.row.governPower
|
||||
const id = obj.row.productLineId
|
||||
@@ -77,7 +77,7 @@ const tableStore = new TableStore({
|
||||
title: '最佳方案',
|
||||
children: [
|
||||
{
|
||||
title: '方案名称', width: '110', field: 'schemeType',
|
||||
title: '方案名称', minWidth: '110', field: 'schemeType',
|
||||
formatter: (obj: any) => {
|
||||
let temp
|
||||
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) => {
|
||||
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: '治理效果(万元/年)', width: '150', field: 'governEffect' }
|
||||
{ title: '投资回收期(年)', minWidth: '150', field: 'payBackYear' },
|
||||
{ title: '治理效果(万元/年)', minWidth: '150', field: 'governEffect' }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -149,11 +149,11 @@ const tableStore = new TableStore({
|
||||
if (tableStore.table.params.addr) {
|
||||
tableStore.table.params.addrStrOption = tableStore.table.params.addr.map(tempArray => tempArray.join('/'))
|
||||
}
|
||||
for (let key in tableStore.table.params) {
|
||||
if (tableStore.table.params[key] === '') {
|
||||
delete tableStore.table.params[key]
|
||||
}
|
||||
}
|
||||
// for (let key in tableStore.table.params) {
|
||||
// if (tableStore.table.params[key] === '') {
|
||||
// delete tableStore.table.params[key]
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
@@ -45,7 +45,9 @@ const tableStore = new TableStore({
|
||||
url: '/user-boot/function/getButtonById',
|
||||
publicHeight: 60,
|
||||
column: [
|
||||
{ title: '普通接口/接口名称', field: 'name' },
|
||||
{ title: '普通接口/接口名称', field: 'name', formatter: row => {
|
||||
return row.cellValue == 1 ? '普通接口' : '公用接口'
|
||||
} },
|
||||
{ title: '接口类型', field: 'type' },
|
||||
{ title: 'URL接口路径', field: 'path' },
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user