全局表格添加列配置功能

This commit is contained in:
guanj
2026-07-09 13:54:18 +08:00
parent 1a69be62a0
commit 855c569535
116 changed files with 1078 additions and 9806 deletions

8813
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -84,8 +84,9 @@
"vue-katex": "^0.5.0",
"vue-router": "4",
"vue-types": "^5.1.1",
"vxe-table": "^4.5.17",
"vxe-table-plugin-export-xlsx": "^4.0.1",
"vxe-pc-ui": "~4.15.19",
"vxe-table": "^4.19.22",
"vxe-table-plugin-export-xlsx": "^4.0.7",
"web-storage-cache": "^1.1.1",
"xe-utils": "^3.5.14",
"yarn": "^1.22.22"

View File

@@ -9,11 +9,8 @@ export const defaultAttribute: VxeTableProps = {
columnConfig: { resizable: true },
rowConfig: { isCurrent: true, isHover: true },
scrollX: { scrollToLeftOnChange: true },
scrollY: { scrollToTopOnChange: true, enabled: true },
treeConfig: {
reserve: true
},
showOverflow: true,
showFooter:true
scrollY: { scrollToTopOnChange: true, enabled: true, gt: 100 },
customConfig: { enabled: true, allowFixed: false, showFooter: false, immediate: true ,mode:'default'},
showOverflow: 'tooltip',
showHeaderOverflow: false
}

View File

@@ -1,21 +1,39 @@
<template>
<div ref="tableHeader" class="cn-table-header">
<div class="table-header ba-scroll-style">
<el-form style="flex: 1; height: 32px; display: flex; flex-wrap: wrap" ref="headerForm" @submit.prevent=""
@keyup.enter="onComSearch" label-position="left" :inline="true">
<el-form-item v-if="datePicker" style="grid-column: span 2; "
:style="{ maxWidth: isStatisticData == 1 ? '750px' : '610px' }">
<el-form
style="flex: 1; height: 32px; display: flex; flex-wrap: wrap"
ref="headerForm"
@submit.prevent=""
@keyup.enter="onComSearch"
label-position="left"
:inline="true"
>
<el-form-item
v-if="datePicker"
style="grid-column: span 2"
:style="{ maxWidth: isStatisticData == 1 ? '750px' : '610px' }"
>
<template #label>
<el-checkbox v-if="showTimeAll" v-model="timeAll" label="统计时间" />
<span v-else>{{ dateLabel }}</span>
</template>
<DatePicker ref="datePickerRef" v-if="timeAll" :nextFlag="nextFlag" :theCurrentTime="theCurrentTime"
:isStatisticData="isStatisticData"></DatePicker>
<DatePicker
ref="datePickerRef"
v-if="timeAll"
:nextFlag="nextFlag"
:theCurrentTime="theCurrentTime"
:isStatisticData="isStatisticData"
></DatePicker>
</el-form-item>
<el-form-item label="区域" v-if="area">
<Area ref="areaRef" v-model="tableStore.table.params.deptIndex" @change-value="onAreaChange"
style="width: 200px;" />
<Area
ref="areaRef"
v-model="tableStore.table.params.deptIndex"
@change-value="onAreaChange"
style="width: 200px"
/>
</el-form-item>
<slot name="select"></slot>
</el-form>
@@ -24,24 +42,44 @@
<Icon size="14" name="el-icon-ArrowUp" style="color: #fff" v-if="showSelect" />
<Icon size="14" name="el-icon-ArrowDown" style="color: #fff" v-else />
</el-button>
<el-button @click="onComSearch" v-if="showSearch" :loading="tableStore.table.loading" type="primary"
:icon="Search">
<el-button
@click="onComSearch"
v-if="showSearch"
:loading="tableStore.table.loading"
type="primary"
:icon="Search"
>
查询
</el-button>
<el-button @click="onResetForm" v-if="showSearch && showReset" :loading="tableStore.table.loading"
:icon="RefreshLeft">
<el-button
@click="onResetForm"
v-if="showSearch && showReset"
:loading="tableStore.table.loading"
:icon="RefreshLeft"
>
重置
</el-button>
<el-button @click="onExport" v-if="showExport" :loading="tableStore.table.exportLoading" type="primary"
icon="el-icon-Download">
<el-button
@click="onExport"
v-if="showExport"
:loading="tableStore.table.exportLoading"
type="primary"
icon="el-icon-Download"
>
导出
</el-button>
</template>
<slot name="operation"></slot>
<el-button class="ml10" v-if="showCustomColumn" :icon="Setting" @click="openCustomColumn">列设置</el-button>
</div>
<el-form :style="showSelect && showUnfoldButton ? headerFormSecondStyleOpen : headerFormSecondStyleClose"
ref="headerFormSecond" @submit.prevent="" @keyup.enter="onComSearch" label-position="left"
:inline="true"></el-form>
<el-form
:style="showSelect && showUnfoldButton ? headerFormSecondStyleOpen : headerFormSecondStyleClose"
ref="headerFormSecond"
@submit.prevent=""
@keyup.enter="onComSearch"
label-position="left"
:inline="true"
></el-form>
</div>
</template>
@@ -52,8 +90,7 @@ import DatePicker from '@/components/form/datePicker/index.vue'
import Area from '@/components/form/area/index.vue'
import { mainHeight } from '@/utils/layout'
import { useDictData } from '@/stores/dictData'
import { Search, RefreshLeft } from '@element-plus/icons-vue'
import { defineProps } from 'vue'
import { Search, RefreshLeft, Setting } from '@element-plus/icons-vue'
const emit = defineEmits(['selectChange', 'areaChange'])
const tableStore = inject('tableStore') as TableStore
const tableHeader = ref()
@@ -74,6 +111,7 @@ interface Props {
showTimeAll?: boolean //控制时间是否显示
dateLabel?: string //设置时间名称
isStatisticData?: number | string // 0统计数据 1分钟数据
showCustomColumn?: boolean // 列设置
}
const props = withDefaults(defineProps<Props>(), {
@@ -86,7 +124,8 @@ const props = withDefaults(defineProps<Props>(), {
showExport: false,
showTimeAll: false,
dateLabel: '统计日期',
isStatisticData: 0
isStatisticData: 0,
showCustomColumn: false
})
// 动态计算table高度
const resizeObserver = new ResizeObserver(entries => {
@@ -128,7 +167,13 @@ watch(
}, 500)
}
)
const openCustomColumn = () => {
tableStore?.table?.ref?.openCustom?.()
}
onMounted(() => {
if (props.showCustomColumn && tableStore?.table) {
tableStore.table.customColumnInHeader = true
}
timeAll.value = props.showTimeAll ? false : true
if (props.datePicker && timeAll.value) {
tableStore.table.params.searchBeginTime = datePickerRef.value.timeValue[0]
@@ -346,7 +391,6 @@ defineExpose({
html.dark {
.table-search-button-group {
button:focus,
button:active {
background-color: var(--el-color-info-dark-2);

View File

@@ -1,16 +1,18 @@
<template>
<div :style="{ height: typeof props.height === 'string' ? props.height : tableStore.table.height }">
<div v-if="showCustomColumn && !tableStore?.table?.customColumnInHeader" class="table-custom-toolbar">
<el-button icon="el-icon-Setting" @click="openCustomColumn">列设置</el-button>
</div>
<vxe-table
ref="tableRef"
height="auto"
:key="key"
:data="tableStore.table.data"
v-loading="tableStore.table.loading"
v-bind="Object.assign({}, defaultAttribute, $attrs)"
v-bind="tableBindProps"
@checkbox-all="selectChangeEvent"
@checkbox-change="selectChangeEvent"
:showOverflow="showOverflow"
@cell-click="onCellClick"
>
<!-- @sort-change="handleSortChange" -->
<!-- Column 组件内部是 el-table-column -->
@@ -62,7 +64,7 @@
</template>
<script setup lang="ts">
import { ref, nextTick, inject, computed, onMounted, watch } from 'vue'
import { ref, nextTick, inject, computed, onMounted, watch, useAttrs } from 'vue'
import type { ElTable } from 'element-plus'
import { VxeTableEvents, VxeTableInstance } from 'vxe-table'
import FieldRender from '@/components/table/fieldRender/index.vue'
@@ -78,17 +80,32 @@ const tableRef = ref<VxeTableInstance>()
const tableStore = inject('tableStore') as TableStoreClass
const router = useRouter()
const key = ref(0)
const emit = defineEmits<{
(e: 'cell-click', params: any): void
}>()
interface Props extends /* @vue-ignore */ Partial<InstanceType<typeof ElTable>> {
isGroup?: boolean
showOverflow?: boolean
showOverflow?: boolean | 'ellipsis' | 'title' | 'tooltip'
height?: string | number
showCustomColumn?: boolean
}
const props = withDefaults(defineProps<Props>(), {
isGroup: false,
showOverflow: true,
height: undefined
showOverflow: 'tooltip',
height: undefined,
showCustomColumn: false
})
const attrs = useAttrs()
const tableBindProps = computed(() => {
return Object.assign({}, defaultAttribute, attrs, {
showOverflow: props.showOverflow,
showHeaderOverflow: false
})
})
const onCellClick: VxeTableEvents.CellClick<any> = params => {
emit('cell-click', params)
}
onMounted(() => {
tableStore.table.ref = tableRef.value as VxeTableInstance
})
@@ -118,7 +135,9 @@ const selectChangeEvent: VxeTableEvents.CheckboxChange<any> = ({ checked }) => {
const records = (tableRef.value as VxeTableInstance).getCheckboxRecords()
tableStore.onTableAction('selection-change', records)
}
const openCustomColumn = () => {
tableRef.value?.openCustom?.()
}
const getRef = () => {
return tableRef.value
}

View File

@@ -46,6 +46,7 @@ import { logout } from '@/api/user-boot/user'
import Config from './config.vue'
import PopupPwd from './popup/password.vue'
import AdminInfo from './popup/adminInfo.vue'
import globalPopUp from './globalPopUp.vue'
const { replace } = useRouter()
// 环境标识
const IS_LNQR = import.meta.env.VITE_NAME === 'LNqr'
@@ -91,9 +92,9 @@ const handleLogout = async () => {
try {
// 1. 调用后端登出接口
await logout()
console.log('✅ 后端登出成功')
// console.log('✅ 后端登出成功')
} catch (err) {
console.error('❌ 登出接口异常', err)
// console.error('❌ 登出接口异常', err)
} finally {
// 2. 清理本地所有数据
clearLocalData()

View File

@@ -4,8 +4,10 @@ import router from './router'
import pinia from '@/stores/index'
import { registerIcons } from '@/utils/common'
import mitt from 'mitt'
import VxeUI from 'vxe-pc-ui'
import VXETable from 'vxe-table'
import XEUtils from 'xe-utils'
import 'vxe-pc-ui/lib/style.css'
import 'vxe-table/lib/style.css'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
@@ -37,21 +39,21 @@ const setupAll = async () => {
const app = createApp(App)
//开启离线地图
// app.use(BaiduMapOffline, {
// offline: true,
// offlineConfig: {
// imgext: '.png',
// customstyle: '',
// tiles_dir: '',
// tiles_hybrid: '',
// tiles_self: '',
// tiles_v_dir: '',
// tiles_satellite_dir: '',
// tiles_road_dir: '',
// tiles_v_road_dir: '',
// home: './plugin/offline/'
// }
// })
app.use(BaiduMapOffline, {
offline: true,
offlineConfig: {
imgext: '.png',
customstyle: '',
tiles_dir: '',
tiles_hybrid: '',
tiles_self: '',
tiles_v_dir: '',
tiles_satellite_dir: '',
tiles_road_dir: '',
tiles_v_road_dir: '',
home: './plugin/offline/'
}
})
app.use(BaiduMap, {
// ak: 'Yp57V71dkOPiXjiN8VdcFRsVELzlVNKK',
ak: 'RpQi6WNFZ9tseKzhdwOQsXwFsoVntnsN',
@@ -61,6 +63,7 @@ const setupAll = async () => {
await setupI18n(app)
app.use(router)
app.use(pinia)
app.use(VxeUI)
app.use(ElementPlus)
app.use(VXETable)

View File

@@ -1,19 +1,4 @@
import type { App } from 'vue'
// 👇使用 form-create 需额外全局引入 element plus 组件
import {
ElAlert,
ElAside,
ElContainer,
ElDivider,
ElHeader,
ElMain,
ElPopconfirm,
ElTable,
ElTableColumn,
ElTabPane,
ElTabs,
ElTransfer
} from 'element-plus'
import FcDesigner from '@form-create/designer'
import formCreate from '@form-create/element-ui'
import install from '@form-create/element-ui/auto-import'
@@ -23,31 +8,13 @@ import { DictSelect } from '@/components/DictSelect'
import UserSelect from '@/views/system/auth/userList/UserSelect.vue'
import { Editor } from '@/components/Editor'
const components = [
ElAside,
ElPopconfirm,
ElHeader,
ElMain,
ElContainer,
ElDivider,
ElTransfer,
ElAlert,
ElTabs,
ElTable,
ElTableColumn,
ElTabPane,
UploadImg,
UploadImgs,
UploadFile,
DictSelect,
UserSelect,
Editor
]
// Element Plus 已在 main.ts 通过 app.use(ElementPlus) 全局注册,此处仅注册 form-create 自定义组件
const components = [UploadImg, UploadImgs, UploadFile, DictSelect, UserSelect, Editor]
// 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
export const setupFormCreate = (app: App<Element>) => {
components.forEach((component) => {
app.component(component.name, component)
app.component(component.name!, component)
})
formCreate.use(install)
app.use(formCreate)

View File

@@ -31,6 +31,8 @@ $border-color: map.merge(
@include set-component-css-var('border-color', $border-color);
--vxe-ui-table-row-current-background-color: var(--el-color-primary-light-8);
--vxe-ui-table-row-hover-current-background-color: var(--el-color-primary-light-8);
--vxe-ui-font-primary-color: var(--el-color-primary);
--vxe-ui-font-primary-lighten-color: var(--el-color-primary);
// --vxe-table-row-current-background-color: var(--el-color-primary-light-7);
// --vxe-table-row-hover-background-color: var(--el-color-primary-light-9);
// --vxe-table-row-hover-current-background-color: var(--el-color-primary-light-7);

View File

@@ -70,7 +70,8 @@
// .vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{
// color: #fff0;
// }
.vxe-table--tooltip-wrapper {
.vxe-table--tooltip-wrapper,
.vxe-tooltip--wrapper {
z-index: 10000 !important;
}
.is--disabled {
@@ -98,3 +99,8 @@
background-color: #000 !important;
}
}
.vxe-table-custom--panel-list > li {
max-width: 28em;
min-width: 15em;
padding: 0.3em 1em 0.2em 1em;
}

View File

@@ -2,7 +2,7 @@
<div class='default-main'>
<!-- 表头 -->
<!-- date-picker 时间组件 area区域组件-->
<TableHeader date-picker area>
<TableHeader date-picker area showCustomColumn>
<template v-slot:select>
<el-form-item label='关键词:'>
<el-input

View File

@@ -10,7 +10,6 @@ import { compact, isEmpty, reverse } from 'lodash-es'
import { getRouteMenu, dictDataCache } from '@/api/auth'
import { isAdminApp } from '@/utils/common'
import { adminBaseRoutePath } from '@/router/static'
const route:any = useRouter()
/**
* 导航失败有错误消息的路由push
* @param to — 导航位置,同 router.push
@@ -319,8 +318,9 @@ export const getMenu = () => {
}
handlerMenu(res.data)
handleAdminRoute(res.data)
if (route?.params.to) {
const lastRoute = JSON.parse(route.params.to as string)
const currentRoute = router.currentRoute.value
if (currentRoute?.params.to) {
const lastRoute = JSON.parse(currentRoute.params.to as string)
if (lastRoute.path != adminBaseRoutePath) {
let query = !isEmpty(lastRoute.query) ? lastRoute.query : {}
routePush({ path: lastRoute.path, query: query })

View File

@@ -48,6 +48,7 @@ export default class TableStore {
filename: null,
loading: true,
exportLoading: false,
customColumnInHeader: false,
column: [],
loadCallback: null,
exportProcessingData: null,

View File

@@ -1,6 +1,6 @@
<template>
<div class="dictiontary-list-detail child-router">
<TableHeader :showSearch="false">
<TableHeader :showSearch="false" showCustomColumn>
<template #select>
<el-form-item label="">
<span class="text-large font-600 mr-3">{{ props.timePopUpBox.time }}</span>

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader ref="TableHeaderRef">
<TableHeader ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="新能源场站名称">
<el-input v-model="tableStore.table.params.name" clearable placeholder="输入关键字筛选" />

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="flg">
<TableHeader datePicker showExport ref="TableHeaderRef">
<TableHeader datePicker showExport ref="TableHeaderRef" showCustomColumn>
<template v-slot:select>
<el-form :inline="true" label-width="90px" class="">
<el-form-item label="用户名:">

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="addedShow">
<TableHeader datePicker showExport ref="TableHeaderRef">
<TableHeader datePicker showExport ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="评估类型">
<el-select

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div>
<TableHeader :showTimeAll="false" showExport ref="TableHeaderRef">
<TableHeader :showTimeAll="false" showExport ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="用户类型">
<el-select

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader datePicker showExport>
<TableHeader datePicker showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入筛选数据" clearable maxlength="32" show-word-limit/>

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader :showReset="false" showExport>
<TableHeader :showReset="false" showExport showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input

View File

@@ -30,7 +30,7 @@
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item class="uploadFile" for="-" label="设备检测报告:" prop="checkUrl">
<el-form-item class="uploadFile" for="-" label="设备检测报告:">
<el-upload
v-model:file-list="uploadForm.checkUrl"
ref="uploadRef"
@@ -64,7 +64,7 @@
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { ref, reactive, nextTick } from 'vue'
import type { UploadFile } from 'element-plus'
import { ElMessage } from 'element-plus'
import { uploadFile } from '@/api/system-boot/file'
@@ -110,7 +110,6 @@ const uploadRules = reactive({
const submitUploadReport = async () => {
await uploadFormRef.value?.validate(async (valid: boolean) => {
if (!valid) return
if (!uploadForm.checkUrl.length) return ElMessage.warning('请先上传检测报告文件')
submitLoading.value = true
try {
const params = {
@@ -134,17 +133,29 @@ const submitUploadReport = async () => {
})
}
const getFileName = (filePath: string) => {
if (!filePath) return ''
const parts = filePath.split('/')
return parts[parts.length - 1] || filePath.replace(/^.*?\/(.*?)\//, '')
}
const openUpload = (row: any) => {
console.log("🚀 ~ openUpload ~ row:", row)
uploadForm.thisCheckTime = ''
uploadForm.nextCheckTime = ''
uploadForm.checkUrl = []
uploadForm.devId = row.devId
uploadForm.objId = row.objId
uploadForm.thisCheckTime = row.thisCheckTime || ''
uploadForm.nextCheckTime = row.nextCheckTime || ''
if (row.checkUrl) {
checkUrlFile.value = row.checkUrl
uploadForm.checkUrl = [{ name: getFileName(row.checkUrl), url: row.checkUrl }]
} else {
checkUrlFile.value = ''
uploadFormRef.value?.clearValidate()
uploadForm.checkUrl = []
}
dialogMode.value = 'upload'
dialogShow.value = true
nextTick(() => {
uploadFormRef.value?.clearValidate()
})
}
const openDetail = (id: string) => {

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader ref="TableHeaderRef">
<TableHeader ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="地市">
<el-select v-model="tableStore.table.params.city" clearable placeholder="请选择地市">

View File

@@ -41,7 +41,7 @@
</el-col>
<el-col :span="19">
<div class="mt10">
<TableHeader showExport :showSearch="false" ref="TableHeaderRef">
<TableHeader showExport :showSearch="false" ref="TableHeaderRef" showCustomColumn>
<template v-slot:select>
<span style="font-size: 14px; line-height: 40px; color: red;">
所选变电站:

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="项目名称">
<el-input

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker>
<TableHeader date-picker showCustomColumn>
<template v-slot:select>
<!-- <el-form-item label="用户名">
<el-select v-model="value" class="m-2" placeholder="Select" size="large">
@@ -33,14 +33,22 @@ const tableStore = new TableStore({
url: '/system-boot/audit/getAuditLog',
method: 'POST',
column: [
{ title: '操作时间', field: 'time', align: 'center', width: 200 },
{ title: '操作人员', field: 'userName', align: 'center', width: 120 },
{ title: '操作类型', field: 'operate', align: 'center', width: 220 },
{ title: '事件描述', field: 'describe', align: 'center', showOverflow: true,minWidth: 200 },
{ title: '事件类型', field: 'type', align: 'center', width: 160 },
{ title: '操作结果', field: 'type', align: 'center', width: 100 },
{ title: '操作IP', field: 'ip', align: 'center', width: 120 },
{ title: '事件等级', field: 'level', align: 'center', width: 100 }
{
title: '序号',
field: 'index',
minWidth: 80,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '操作时间', field: 'time', align: 'center', minWidth: 200 },
{ title: '操作人员', field: 'userName', align: 'center', minWidth: 120 },
{ title: '操作类型', field: 'operate', align: 'center', minWidth: 220 },
{ title: '事件描述', field: 'describe', align: 'center', minWidth: 200 },
{ title: '事件类型', field: 'type', align: 'center', minWidth: 160 },
{ title: '操作结果', field: 'type', align: 'center', minWidth: 100 },
{ title: '操作IP', field: 'ip', align: 'center', minWidth: 120 },
{ title: '事件等级', field: 'level', align: 'center', minWidth: 100 }
]
})
tableStore.table.params.loginName = ''

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader datePicker area showExport>
<TableHeader datePicker area showExport showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input

View File

@@ -2,7 +2,7 @@
<div class="default-main online">
<div class="online_header">
<TableHeader date-picker ref="tableHeaderRef">
<TableHeader date-picker ref="tableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="统计类型">
<el-select v-model="formData.statisticalType" placeholder="请选择统计类型" value-key="id"

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker area showExport>
<TableHeader date-picker area showExport showCustomColumn>
<template #select>
<el-form-item label="统计类型" v-if="false">
<el-select

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker area showExport>
<TableHeader date-picker area showExport showCustomColumn>
<template #select>
<el-form-item label="统计类型:" v-if="false">
<el-select

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<TableHeader date-picker area showExport>
<TableHeader date-picker area showExport showCustomColumn>
<template #select>
<!-- <el-form-item label="统计类型:">
<el-select v-model="tableStore.table.params.statisticalType" placeholder="请选择统计类型" value-key="id">

View File

@@ -5,7 +5,7 @@
用采数据列表
<back-component />
</div>
<TableHeader :showReset="false" ref="TableHeaderRef">
<TableHeader :showReset="false" ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" maxlength="32" show-word-limit/>
@@ -63,6 +63,10 @@ const tableStore = new TableStore({
method: 'POST',
publicHeight: 52,
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '表名', field: 'name' },
{ title: '起始时间', field: 'startTime' },
{ title: '截止时间', field: 'endTime' },

View File

@@ -1,6 +1,6 @@
<template>
<el-dialog v-model="dialogVisible" draggable title="完整性不足详情" width="1000">
<TableHeader :showReset="false" ref="TableHeaderRef">
<TableHeader :showReset="false" ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />
@@ -27,6 +27,10 @@ const tableStore = new TableStore({
method: 'POST',
publicHeight: 547,
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '数据名', field: 'name' },
{ title: '用户名', field: 'userName' },
{ title: '测量点局号', field: 'lineNo' },

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<!-- 模版 -->
<TableHeader datePicker showExport :showReset="false" ref="TableHeaderRef">
<TableHeader datePicker showExport :showReset="false" ref="TableHeaderRef" showCustomColumn>
<template #select>
<!-- <el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<TableHeader datePicker area showExport>
<TableHeader datePicker area showExport showCustomColumn>
<template #select>
<!-- <el-form-item label="统计类型:">
<el-select v-model="tableStore.table.params.statisticalType" placeholder="请选择统计类型" value-key="id">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader datePicker area ref="TableHeaderRef" showExport>
<TableHeader datePicker area ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="统计类型">
<el-select

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader datePicker area showExport>
<TableHeader datePicker area showExport showCustomColumn>
<template #select>
<el-form-item label="统计类型">
<el-select

View File

@@ -339,7 +339,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -355,7 +354,6 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
name: '',
@@ -371,7 +369,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -391,14 +388,11 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
},
symbolRepeat: 50,
// symbolMargin: 300,
@@ -419,11 +413,9 @@ const echart = () => {
barWidth: 18,
itemStyle: {
normal: {
color: 'transparent',
barBorderColor: 'rgb(148,217,249)',
barBorderWidth: 1
}
borderColor: 'rgb(148,217,249)',
borderWidth: 1
},
z: 2
}

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.filterName" @keyup="searchEvent" placeholder="输入关键字筛选" />

View File

@@ -346,7 +346,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -362,7 +361,6 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
name: '',
@@ -372,7 +370,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -392,14 +389,11 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
},
symbolRepeat: 50,
// symbolMargin: 300,
@@ -420,11 +414,9 @@ const echart = () => {
barWidth: 18,
itemStyle: {
normal: {
color: 'transparent',
barBorderColor: 'rgb(148,217,249)',
barBorderWidth: 1
}
borderColor: 'rgb(148,217,249)',
borderWidth: 1
},
z: 2
}

View File

@@ -1,7 +1,7 @@
<!--业务用户管理界面-->
<template>
<div class="default-main">
<TableHeader datePicker area showExport>
<TableHeader datePicker area showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="筛选数据">
<el-input

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader area ref="TableHeaderRef" showExport>
<TableHeader area ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="运行状态">
<el-select filterable multiple collapse-tags v-model="tableStore.table.params.runFlag" clearable

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader area ref="TableHeaderRef" showExport>
<TableHeader area ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<!-- <el-form-item label="统计类型:">
<el-select v-model="tableStore.table.params.statisticalType" placeholder="请选择统计类型" value-key="id">

View File

@@ -2,7 +2,7 @@
<template>
<div class="default-main">
<div v-show="addedShow">
<TableHeader>
<TableHeader showCustomColumn>
<template v-slot:select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.name" clearable placeholder="筛选数据" />

View File

@@ -1,6 +1,6 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<TableHeader :showReset="false" ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="导线型号">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入导线型号" show-word-limit

View File

@@ -1,6 +1,6 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<TableHeader :showReset="false" ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="谐波源名称">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入谐波源名称" show-word-limit

View File

@@ -1,6 +1,6 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<TableHeader :showReset="false" ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="变压器型号">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入变压器型号" show-word-limit

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader ref="TableHeaderRef" area showExport>
<TableHeader ref="TableHeaderRef" area showExport showCustomColumn>
<template #select>
<!-- <el-form-item label="所在地市">
<el-select v-model="tableStore.table.params.deptId" clearable placeholder="请选择所在地市">

View File

@@ -288,7 +288,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -304,7 +303,6 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
name: '异常占比',
@@ -314,7 +312,6 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
@@ -334,14 +331,11 @@ const echart = () => {
global: false // 缺省为 false
}
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
},
symbolRepeat: 50,
// symbolMargin: 300,
@@ -362,11 +356,9 @@ const echart = () => {
barWidth: 18,
itemStyle: {
normal: {
color: 'transparent',
barBorderColor: 'rgb(148,217,249)',
barBorderWidth: 1
}
borderColor: 'rgb(148,217,249)',
borderWidth: 1
},
z: 2
}

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="问题来源">
<el-select v-model="tableStore.table.params.problemSources" clearable placeholder="请选择问题来源">

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="问题来源" >
<el-select v-model="tableStore.table.params.problemSources" clearable placeholder="请选择问题来源">

View File

@@ -2,7 +2,7 @@
<!-- 用户投诉 -->
<!-- 2 有新增 发起 预警单 -->
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="是否解决">
<el-select v-model="tableStore.table.params.dealState" clearable placeholder="请选择是否解决">

View File

@@ -1,7 +1,7 @@
<template>
<!-- <div>1 监测点信息 发起预告警单 </div> -->
<TableHeader datePicker nextFlag theCurrentTime ref="TableHeaderRef" showExport>
<TableHeader datePicker nextFlag theCurrentTime ref="TableHeaderRef" showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="区域">
<Area ref="areaRef" v-model="tableStore.table.params.deptId" @changeValue="changeArea" />

View File

@@ -1,6 +1,6 @@
<template>
<!-- <div> 普测结果 发起预告警单</div> -->
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="计划名称">
<el-input

View File

@@ -1,7 +1,7 @@
<!---试运行列表-->
<template>
<div>
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="是否上传">
<el-select v-model="tableStore.table.params.isFileUpload" placeholder="请选择是否上传">

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader area datePicker ref="TableHeaderRef" />
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn/>
<Table ref="tableRef" />
<!-- 审核 -->
<planAdd ref="planAddRef" @onsubmit="tableStore.index()" />
@@ -26,6 +26,10 @@ const tableStore = new TableStore({
publicHeight: 65,
method: 'POST',
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'orgName', title: '所属单位' },
{ field: 'planNo', title: '普测计划编号' },
{ field: 'planName', title: '普测计划名称' },

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="监督类型">
<el-select v-model="tableStore.table.params.supvType" clearable placeholder="请选择监督类型">

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="监督类型">
<el-select v-model="tableStore.table.params.supvType" clearable placeholder="请选择监督类型">

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area ref="TableHeaderRef">
<TableHeader area ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="干扰源类型">
<el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择干扰源类型">
@@ -49,6 +49,10 @@ const tableStore = new TableStore({
publicHeight: 65,
method: 'POST',
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'orgName', title: '所属单位' },
{
field: 'loadType',

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader area ref="TableHeaderRef">
<TableHeader area ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="干扰源类型">
<el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择干扰源类型">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader datePicker nextFlag theCurrentTime showTimeAll showExport ref='TableHeaderRef'>
<TableHeader datePicker nextFlag theCurrentTime showTimeAll showExport ref='TableHeaderRef' showCustomColumn>
<template #select>
<el-form-item label='项目名称'>
<el-input v-model='tableStore.table.params.projectName' placeholder='请输入项目名称' maxlength="32" show-word-limit clearable></el-input>

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="项目名称">
<el-input v-model="tableStore.table.params.projectName" placeholder="请输入项目名称" maxlength="32" show-word-limit clearable></el-input>

View File

@@ -11,7 +11,7 @@
custom-class="fixed-dialog"
@closed="close"
> -->
<TableHeader :showSearch="false" ref="TableHeaderRef">
<TableHeader :showSearch="false" ref="TableHeaderRef" showCustomColumn>
<!-- <template #select>
<el-form-item label="用户名称">
<el-input v-model="tableStore.table.params.searchValue" clearable></el-input>

View File

@@ -1,7 +1,7 @@
<!---技术监督计划-->
<template>
<div class="default-main">
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,7 +1,7 @@
<!--待办事项列表-->
<template>
<div>
<TableHeader date-picker nextFlag theCurrentTime showTimeAll showExport>
<TableHeader date-picker nextFlag theCurrentTime showTimeAll showExport showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,7 +1,7 @@
<!--待办事项列表-->
<template>
<div>
<TableHeader date-picker nextFlag theCurrentTime showTimeAll showExport>
<TableHeader date-picker nextFlag theCurrentTime showTimeAll showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader datePicker ref="TableHeaderRef">
<TableHeader datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input
@@ -45,6 +45,14 @@ const tableStore = new TableStore({
publicHeight: 345,
method: 'POST',
column: [
{
title: '序号',
field: 'index',
width: 80,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'name', title: '事务名称' },
{ field: 'type', title: '事务类型' },
{ field: 'createUser', title: '创建人员' },
@@ -56,7 +64,8 @@ const tableStore = new TableStore({
{ field: 'alertType', title: '预警类型' },
{
title: '操作',fixed: 'right',
title: '操作',
fixed: 'right',
width: '180',
render: 'buttons',
buttons: [

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader datePicker ref="TableHeaderRef">
<TableHeader datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input
@@ -102,6 +102,10 @@ const tableStore = new TableStore({
publicHeight: 65,
method: 'POST',
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'name', title: '名称' },
{
field: 'grade',

View File

@@ -130,6 +130,10 @@ const tableStore = new TableStore({
publicHeight: 85,
method: 'POST',
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'id', title: '终端编号' },
{
field: 'manufacture',

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader area ref="TableHeaderRef" showExport>
<TableHeader area ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="运行状态">
<el-select v-model="tableStore.table.params.runF" clearable placeholder="请选择运行状态">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="项目名称">
<el-input style="width: 200px" placeholder="请输入项目名称" v-model="tableStore.table.params.projectName"

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader area ref="TableHeaderRef" showExport>
<TableHeader area ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="运行状态">
<el-select v-model="tableStore.table.params.runF" clearable placeholder="请选择运行状态">
@@ -131,6 +131,7 @@ const tableStore = new TableStore({
minWidth: 150
},
{ field: 'lineName', title: '监测点名称', minWidth: 130 },
{ field: 'ip', title: 'IP', minWidth: 110 },
{ field: 'scale', title: '监测点电压等级', minWidth: 120 },
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div>
<TableHeader area ref="TableHeaderRef">
<TableHeader area ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="终端名称">
<el-input

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="项目名称">
<el-input style="width: 200px" placeholder="请输入项目名称" v-model="tableStore.table.params.projectName"

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="数据筛选">
<el-input
@@ -36,6 +36,10 @@ const tableStore = new TableStore({
paramsPOST: true,
filename: '变电站台账',
column: [
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'deptName', title: '所在地市', minWidth: 100 },
{ field: 'substationName', title: '变电站名称', minWidth: 100 },

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<!-- <el-form-item label="数据类型">
<el-select v-model="tableStore.table.params.dataType" clearable placeholder="请选择运行状态">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="筛选数据">
<el-input

View File

@@ -1,6 +1,6 @@
<!---终端入网检测-->
<template>
<TableHeader area ref='TableHeaderRef' showExport>
<TableHeader area ref='TableHeaderRef' showExport showCustomColumn>
<template #select>
<el-form-item label='搜索'>
<el-input

View File

@@ -1,6 +1,6 @@
<!---终端入网检测-->
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"

View File

@@ -1,6 +1,6 @@
<!---终端入网检测-->
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"

View File

@@ -1,5 +1,5 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端名称"

View File

@@ -3,7 +3,7 @@
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="试运行评估" name="1">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
@@ -82,6 +82,10 @@ const tableStore = new TableStore({
publicHeight: 65,
column: [
{ title: '', type: 'checkbox', width: 40 },
{ title: '序号', field: 'index', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'lineName', title: '监测点名称', minWidth: 160 },
{ field: 'connectedBus', title: '接入母线', minWidth: 160 },
// { field: 'monitoringTerminalCode', title: '终端编号', minWidth: 140 },

View File

@@ -1,6 +1,6 @@
<template>
<div class='default-main'>
<TableHeader>
<TableHeader showCustomColumn>
<template v-slot:select>
<el-form-item label='筛选数据'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='筛选数据' />
@@ -11,7 +11,7 @@
</template>
</TableHeader>
<!--表格-->
<Table ref='tableRef'></Table>
<Table ref='tableRef' :checkbox-config="checkboxConfig"></Table>
</div>
</template>
<script setup lang='ts'>

View File

@@ -1,7 +1,7 @@
<!--业务用户管理界面-->
<template>
<div class="default-main">
<TableHeader>
<TableHeader showCustomColumn>
<template v-slot:select>
<el-form-item label='流程名称'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='流程名称' />

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader datePicker showExport>
<TableHeader datePicker showExport showCustomColumn>
<template #select>
<el-form-item label="统计类型:">
<el-radio-group v-model="tableStore.table.params.isType">

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader datePicker :showReset="false" showExport ref="TableHeaderRef">
<TableHeader datePicker :showReset="false" showExport ref="TableHeaderRef" showCustomColumn>
<template #select>
<!-- <el-form-item label="筛选数据">-->
<!-- <el-input v-model="tableStore.table.params.searchValue" clearable placeholder="输入关键字筛选" />-->

View File

@@ -2,7 +2,7 @@
<div>
<div v-show="view">
<!-- 表头 -->
<TableHeader ref="TableHeaderRef" date-picker showExport>
<TableHeader ref="TableHeaderRef" date-picker showExport showCustomColumn>
<template v-slot:operation>
<el-button :icon="Download" type="primary" @click="download">下载波形</el-button>
</template>

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader datePicker ref="TableHeaderRef" showExport>
<TableHeader datePicker ref="TableHeaderRef" showExport showCustomColumn>
<template #select>
<el-form-item label="筛选数据:">
<el-input

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker area showExport>
<TableHeader date-picker area showExport showCustomColumn>
<template v-slot:select>
<el-form-item label="终端状态">
<el-select

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker area>
<TableHeader date-picker area showCustomColumn>
<template v-slot:select>
<el-form-item label="干扰源类型">
<el-select
@@ -50,7 +50,7 @@
maxlength="32"
show-word-limit
clearable
style="width: 280px;"
style="minWidth: 280px;"
/>
</el-form-item>
</template>
@@ -78,65 +78,66 @@ const tableStore = new TableStore({
url: '/device-boot/runManage/getLineLedger',
method: 'POST',
column: [
{ field: 'areaName', title: '省公司', width: 120 },
{ field: 'gdName', title: '公司', width: 120 },
{ field: 'scale', title: '监测点电压等级', width: 150 },
{ field: 'lineName', title: '监测点名称', width: 120 },
{ field: 'bdName', title: '所属变电站', width: 120 },
{ field: 'loadType', title: '干扰源类型', width: 120 },
{ field: 'objName', title: '监测对象名称', width: 180 },
{ field: 'shortCapacity', title: '最小短路容量(MVA)', width: 190 },
{ field: 'devCapacity', title: '供电终端容量(MVA )', width: 190 },
{ field: 'dealCapacity', title: '用户协议容量(MVA)', width: 190 },
{ field: 'comFlag', title: '通讯状态 ', width: 120 },
{ field: 'id', title: '监测点序号', width: 120 },
{ field: 'devName', title: '监测终端编号 ', width: 140 },
{ field: 'ptType', title: '监测终端接线方式', width: 160 },
{ field: 'voltageDev', title: '电压偏差上限(%)', width: 160 },
{ field: 'uvoltageDev', title: '电压偏差限(%)', width: 160 },
{ field: 'areaName', title: '公司', minWidth: 120 },
{ field: 'gdName', title: '市公司', minWidth: 120 },
{ field: 'scale', title: '监测点电压等级', minWidth: 150 },
{ field: 'lineName', title: '监测点名称', minWidth: 120 },
{ field: 'bdName', title: '所属变电站', minWidth: 120 },
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },
{ field: 'objName', title: '监测对象名称', minWidth: 180 },
{ field: 'shortCapacity', title: '最小短路容量(MVA)', minWidth: 190 },
{ field: 'devCapacity', title: '供电终端容量(MVA )', minWidth: 190 },
{ field: 'dealCapacity', title: '用户协议容量(MVA)', minWidth: 190 },
{ field: 'comFlag', title: '通讯状态 ', minWidth: 120 },
{ field: 'id', title: '监测点序号', minWidth: 120 },
{ field: 'devName', title: '监测终端编号 ', minWidth: 140 },
{ field: 'ptType', title: '监测终端接线方式', minWidth: 160 },
{ field: 'voltageDev', title: '电压偏差限(%)', minWidth: 160 },
{ field: 'uvoltageDev', title: '电压偏差下限(%)', minWidth: 160 },
{
field: 'limitValue',
title: '限值',
children: [
{ field: 'freqDev', title: '频率(Hz)', width: 120 },
{ field: 'ubalance', title: '三相电压不平衡度(%)', width: 190 },
{ field: 'ineg', title: '负序电流(A)', width: 120 },
{ field: 'flicker', title: '长时间闪变', width: 120 },
{ field: 'uaberrance', title: '电压总谐波畸变率(%)', width: 190 },
{ field: 'oddHarm', title: '奇数次谐波电压(%)', width: 180 },
{ field: 'evenHarm', title: '偶数次谐波电压(%)', width: 180 }
{ field: 'freqDev', title: '频率(Hz)', minWidth: 120 },
{ field: 'ubalance', title: '三相电压不平衡度(%)', minWidth: 190 },
{ field: 'ineg', title: '负序电流(A)', minWidth: 120 },
{ field: 'flicker', title: '长时间闪变', minWidth: 120 },
{ field: 'uaberrance', title: '电压总谐波畸变率(%)', minWidth: 190 },
{ field: 'oddHarm', title: '奇数次谐波电压(%)', minWidth: 180 },
{ field: 'evenHarm', title: '偶数次谐波电压(%)', minWidth: 180 }
]
},
{
field: 'evaluate',
title: '电流限值',
children: [
{ field: 'iharm2', title: '2次谐波(A)', width: 120 },
{ field: 'iharm3', title: '3次谐波(A)', width: 120 },
{ field: 'iharm4', title: '4次谐波(A)', width: 120 },
{ field: 'iharm5', title: '5次谐波(A)', width: 120 },
{ field: 'iharm6', title: '6次谐波(A)', width: 120 },
{ field: 'iharm7', title: '7次谐波(A)', width: 120 },
{ field: 'iharm8', title: '8次谐波(A)', width: 120 },
{ field: 'iharm9', title: '9次谐波(A)', width: 120 },
{ field: 'iharm10', title: '10次谐波(A)', width: 140 },
{ field: 'iharm11', title: '11次谐波(A)', width: 140 },
{ field: 'iharm12', title: '12次谐波(A)', width: 140 },
{ field: 'iharm13', title: '13次谐波(A)', width: 140 },
{ field: 'iharm14', title: '14次谐波(A)', width: 140 },
{ field: 'iharm15', title: '15次谐波(A)', width: 140 },
{ field: 'iharm16', title: '16次谐波(A)', width: 140 },
{ field: 'iharm17', title: '17次谐波(A)', width: 140 },
{ field: 'iharm18', title: '18次谐波(A)', width: 140 },
{ field: 'iharm19', title: '19次谐波(A)', width: 140 },
{ field: 'iharm10', title: '20次谐波(A)', width: 140 },
{ field: 'iharm21', title: '21次谐波(A)', width: 140 },
{ field: 'iharm22', title: '22次谐波(A)', width: 140 },
{ field: 'iharm23', title: '23次谐波(A)', width: 140 },
{ field: 'iharm24', title: '24次谐波(A)', width: 140 },
{ field: 'iharm25', title: '25次谐波(A)', width: 140 },
{ field: 'inUharm', title: '0.5-1.5次间谐波(A)', width: 180 },
{ field: 'inUharm16', title: '2.5-15.5次间谐波(A)', width: 190 }
{ field: 'iharm2', title: '2次谐波(A)', minWidth: 120 },
{ field: 'iharm3', title: '3次谐波(A)', minWidth: 120 },
{ field: 'iharm4', title: '4次谐波(A)', minWidth: 120 },
{ field: 'iharm5', title: '5次谐波(A)', minWidth: 120 },
{ field: 'iharm6', title: '6次谐波(A)', minWidth: 120 },
{ field: 'iharm7', title: '7次谐波(A)', minWidth: 120 },
{ field: 'iharm8', title: '8次谐波(A)', minWidth: 120 },
{ field: 'iharm9', title: '9次谐波(A)', minWidth: 120 },
{ field: 'iharm10', title: '10次谐波(A)', minWidth: 140 },
{ field: 'iharm11', title: '11次谐波(A)', minWidth: 140 },
{ field: 'iharm12', title: '12次谐波(A)', minWidth: 140 },
{ field: 'iharm13', title: '13次谐波(A)', minWidth: 140 },
{ field: 'iharm14', title: '14次谐波(A)', minWidth: 140 },
{ field: 'iharm15', title: '15次谐波(A)', minWidth: 140 },
{ field: 'iharm16', title: '16次谐波(A)', minWidth: 140 },
{ field: 'iharm17', title: '17次谐波(A)', minWidth: 140 },
{ field: 'iharm18', title: '18次谐波(A)', minWidth: 140 },
{ field: 'iharm19', title: '19次谐波(A)', minWidth: 140 },
{ field: 'iharm10', title: '20次谐波(A)', minWidth: 140 },
{ field: 'iharm21', title: '21次谐波(A)', minWidth: 140 },
{ field: 'iharm22', title: '22次谐波(A)', minWidth: 140 },
{ field: 'iharm23', title: '23次谐波(A)', minWidth: 140 },
{ field: 'iharm24', title: '24次谐波(A)', minWidth: 140 },
{ field: 'iharm25', title: '25次谐波(A)', minWidth: 140 },
{ field: 'inUharm', title: '0.5-1.5次间谐波(A)', minWidth: 180 },
{ field: 'inUharm16', title: '2.5-15.5次间谐波(A)', minWidth: 190 }
]
}
],

View File

@@ -1,6 +1,6 @@
<template>
<div class="default-main">
<TableHeader date-picker area>
<TableHeader date-picker area showCustomColumn>
<template v-slot:select>
<el-form-item label="统计类型">
<el-radio-group v-model="tableStore.table.params.comFlag">

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader date-picker :showReset="false">
<TableHeader date-picker :showReset="false" showCustomColumn>
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
</template>

View File

@@ -1,7 +1,7 @@
<template>
<div class='default-main'>
<!-- 表头 -->
<TableHeader date-picker ref='tableHeader'>
<TableHeader date-picker ref='tableHeader' showCustomColumn>
<template v-slot:select>
<el-form-item label='用户'>
<el-select v-model='tableStore.table.params.userId' filterable @change='changeUser'>

View File

@@ -1,7 +1,7 @@
<!--业务用户管理界面-->
<template>
<div class='default-main'>
<TableHeader>
<TableHeader showCustomColumn>
<template #select>
<el-form-item label='筛选数据'>
<el-input
@@ -67,12 +67,12 @@ const tableStore = new TableStore({
{ title: '用户名', field: 'userName' },
{ title: '所属行业', field: 'industry' },
{ title: '所属地区', field: 'addr' },
{ title: '产线数', width: '130', field: 'productCount' },
{ title: '进线数', width: '130', field: 'lineCount' },
{ title: '产线数', minWidth: '130', field: 'productCount' },
{ title: '进线数', minWidth: '130', field: 'lineCount' },
{
title: '暂降数据',
align: 'center',
width: '180',
minWidth: '180',
render: 'buttons',
buttons: [
{

View File

@@ -1,7 +1,7 @@
<!--终端管理界面-->
<template>
<div class='default-main'>
<TableHeader :showReset="false">
<TableHeader :showReset="false" showCustomColumn>
<template v-slot:select>
<el-form-item label='生产线'>
<el-select v-model='tableStore.table.params.productLineId'>

View File

@@ -1,7 +1,7 @@
<!--生产线管理界面-->
<template>
<div class='default-main'>
<TableHeader :showReset="false">
<TableHeader :showReset="false" showCustomColumn>
<template v-slot:operation>
<!-- <el-button type='primary' @click='refresh' class='ml10' :icon='Refresh'>刷新</el-button>-->
<el-button type='primary' @click='add' class='ml10' :icon='Plus'>新增</el-button>
@@ -47,15 +47,15 @@ const tableStore = new TableStore({
{ title: '用户名', minWidth: '130', field: 'userName' },
{ title: '进线名称', minWidth: '130', field: 'incomingLineName' },
{ title: '产线名称', minWidth: '130', field: 'name' },
{ title: '产能损失(万元)', width: '120', field: 'capacityLoss' },
{ title: '终端损失(万元)', width: '120', field: 'machineLoss' },
{ title: '原料损失(万元)', width: '120', field: 'materialLoss' },
{ title: '产线功率(kW)', width: '120', field: 'machinePower' },
{ title: '产能损失(万元)', minWidth: '120', field: 'capacityLoss' },
{ title: '终端损失(万元)', minWidth: '120', field: 'machineLoss' },
{ title: '原料损失(万元)', minWidth: '120', field: 'materialLoss' },
{ title: '产线功率(kW)', minWidth: '120', field: 'machinePower' },
{
title: '计算模式',
titlePrefix: { message: '模式一:单次中断不计算终端、原料损失 \n 模式二:单次中断计算终端、原料损失', icon: 'vxe-icon-question-circle-fill' },
render: 'tag',
width: '120',
minWidth: '120',
field: 'calcMode',
replaceValue: {
'0': '模式一',

View File

@@ -1,7 +1,7 @@
<!--进线管理界面-->
<template>
<div class='default-main unitButton'>
<TableHeader style='padding: 0 0 !important;'>
<TableHeader style='padding: 0 0 !important;' showCustomColumn>
<template v-slot:operation>
<el-button type='primary' @click='add' class='ml10' :icon='Plus'>新增</el-button>
</template>

View File

@@ -1,7 +1,7 @@
<!--暂降治理历史数据管理界面-->
<template>
<div class='default-main'>
<TableHeader>
<TableHeader showCustomColumn>
<template v-slot:select>
<el-form-item label='用户'>
<el-select v-model='tableStore.table.params.userId' filterable clearable>

Some files were not shown because too many files have changed in this diff Show More