全局表格添加列配置功能

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

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,7 +1,7 @@
<template>
<!-- 新增 -->
<el-dialog draggable title="详情" v-model="dialogVisible" width="1200px">
<TableHeader datePicker showExport :showReset="false">
<TableHeader datePicker showExport :showReset="false" >
<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 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
checkUrlFile.value = ''
uploadFormRef.value?.clearValidate()
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 = ''
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,21 +339,19 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
@@ -371,34 +369,30 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#57bc6e' // 0% 处的颜色
},
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#57bc6e' // 0% 处的颜色
},
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
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
}
color: 'transparent',
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,21 +346,19 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
@@ -372,34 +370,30 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#57bc6e' // 0% 处的颜色
},
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#57bc6e' // 0% 处的颜色
},
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
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
}
color: 'transparent',
borderColor: 'rgb(148,217,249)',
borderWidth: 1
},
z: 2
}

View File

@@ -1,6 +1,6 @@
<template>
<div>
<TableHeader datePicker ref="TableHeaderRef">
<TableHeader datePicker ref="TableHeaderRef" >
<template v-slot:select>
<el-form-item label="超标指标">
<el-select

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,21 +288,19 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 1,
color: '#57bc6e' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
@@ -314,34 +312,30 @@ const echart = () => {
z: 0,
zlevel: 0,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#FF9100' // 0% 处的颜色
},
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
color: {
type: 'linear',
x: 0,
y: 0,
x2: 1,
y2: 0,
colorStops: [
{
offset: 0,
color: '#FF9100' // 0% 处的颜色
},
{
offset: 1,
color: '#FF9100' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
},
{
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#fff'
}
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
}
color: 'transparent',
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,7 +1,7 @@
<template>
<TableHeader area datePicker ref="TableHeaderRef">
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="问题来源">
<el-form-item label="问题来源" >
<el-select v-model="tableStore.table.params.problemSources" clearable placeholder="请选择问题来源">
<el-option
v-for="item in problemData"

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,186 +1,186 @@
<template>
<div>
<TableHeader area datePicker ref="TableHeaderRef">
<template #select>
<el-form-item label="是否上传">
<el-select v-model="tableStore.table.params.isFileUpload" placeholder="请选择是否上传">
<el-option label="未上传" value="0" />
<el-option label="已上传" value="1" />
</el-select>
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Upload" type="primary">上传</el-button>
<el-button icon="el-icon-Download" type="primary">导出</el-button>
</template>
</TableHeader>
<Table ref="tableRef" />
<!-- 上传弹窗 -->
<el-dialog draggable title="上传" v-model="addUpload" width="500px">
<el-upload
multiple
action=""
:auto-upload="false"
:limit="999"
:file-list="fileList"
:on-remove="handleRemove"
:on-change="chooseBatch"
ref="upload"
>
<el-button type="primary" icon="el-icon-Upload">选择文件</el-button>
</el-upload>
<template #footer>
<el-button type="primary" @click="BatchUpload">保存</el-button>
<el-button @click="handleClose">取消</el-button>
</template>
</el-dialog>
<!-- 文件查看 -->
<el-dialog draggable title="文件查看" v-model="dataShow" width="600px">
<vxe-table height="400" auto-resize :data="uploadList" v-bind="defaultAttribute">
<vxe-column field="minFileName" title="文件名称"></vxe-column>
<vxe-column title="操作" width="100">
<template #default="{ row }">
<el-button type="primary" size="small" link @click="downLownFn(row)">下载</el-button>
<!-- <el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
<template #reference>
<el-button type="danger" link>删除</el-button>
</template>
</el-popconfirm> -->
</template>
</vxe-column>
</vxe-table>
</el-dialog>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, 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 { defaultAttribute } from '@/components/table/defaultAttribute'
import { useDictData } from '@/stores/dictData'
import { MultipartFile, surveyResultDownload } from '@/api/process-boot/generalTest'
const dictData = useDictData()
const addUpload = ref(false)
const dataShow = ref(false)
const TableHeaderRef = ref()
const fileList: any = ref([])
const uploadList: any = ref([])
const planId = ref('')
const tableStore = new TableStore({
url: '/process-boot/rGeneralSurveyPlan/queryPlanResult',
publicHeight: 65,
method: 'POST',
column: [
// { width: '60', type: 'checkbox' },
{ field: 'orgName', title: '责任单位' },
{ field: 'planNo', title: '普测计划编号' },
{ field: 'planName', title: '普测计划名称' },
{ field: 'planStartTime', title: '开始时间' },
{ field: 'planEndTime', title: '结束时间' },
{ field: 'subCount', title: '普测变电站数量' },
{
field: 'isFileUpload',
title: '是否上传',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
replaceValue: {
0: '否',
1: '是'
}
},
{ field: 'fileCount', title: '上传文件数量' },
{ field: 'uploadTime', title: '上传时间' },
{
title: '操作文件',
width: '180',
render: 'buttons',
fixed: 'right',
buttons: [
{
title: '上传',
type: 'primary',
icon: 'el-icon-Plus',
render: 'basicButton',
click: row => {
planId.value = row.planNo
addUpload.value = true
}
},
{
title: '查看',
type: 'primary',
icon: 'el-icon-EditPen',
disabled: row => {
return row.isFileUpload !== 1
},
render: 'basicButton',
click: row => {
surveyResultDownload({ planNo: row.planNo }).then(res => {
uploadList.value = res.data
dataShow.value = true
})
}
}
]
}
],
beforeSearchFun: () => {
tableStore.table.params.planStartTime = tableStore.table.params.searchBeginTime
tableStore.table.params.planEndTime = tableStore.table.params.searchEndTime
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
tableStore.table.params.currentPage = tableStore.table.params.pageNum
}
})
tableStore.table.params.isFileUpload = ''
const handleRemove = (e: any) => {
fileList.value = fileList.value.filter((item: any) => item.uid !== e.uid)
}
const chooseBatch = (e: any) => {
fileList.value.push(e)
}
// 上传
const BatchUpload = () => {
let form = new FormData()
form.append('planId', planId.value)
fileList.value.forEach((item: any) => {
form.append('file', item.raw)
})
MultipartFile(form).then((res: any) => {
ElMessage.success('上传成功!')
handleClose()
tableStore.index()
})
}
const handleClose = () => {
fileList.value = []
addUpload.value = false
}
// 下载
const downLownFn = async (row: any) => {
let response = await fetch(row.minFileUrl)
let blob = await response.blob()
let a = document.createElement('a')
a.href = window.URL.createObjectURL(blob)
a.download = row.minFileName
a.click()
a.remove()
}
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
</script>
<template>
<div>
<TableHeader area datePicker ref="TableHeaderRef" showCustomColumn>
<template #select>
<el-form-item label="是否上传">
<el-select v-model="tableStore.table.params.isFileUpload" placeholder="请选择是否上传">
<el-option label="未上传" value="0" />
<el-option label="已上传" value="1" />
</el-select>
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Upload" type="primary">上传</el-button>
<el-button icon="el-icon-Download" type="primary">导出</el-button>
</template>
</TableHeader>
<Table ref="tableRef" />
<!-- 上传弹窗 -->
<el-dialog draggable title="上传" v-model="addUpload" width="500px">
<el-upload
multiple
action=""
:auto-upload="false"
:limit="999"
:file-list="fileList"
:on-remove="handleRemove"
:on-change="chooseBatch"
ref="upload"
>
<el-button type="primary" icon="el-icon-Upload">选择文件</el-button>
</el-upload>
<template #footer>
<el-button type="primary" @click="BatchUpload">保存</el-button>
<el-button @click="handleClose">取消</el-button>
</template>
</el-dialog>
<!-- 文件查看 -->
<el-dialog draggable title="文件查看" v-model="dataShow" width="600px">
<vxe-table height="400" auto-resize :data="uploadList" v-bind="defaultAttribute">
<vxe-column field="minFileName" title="文件名称"></vxe-column>
<vxe-column title="操作" width="100">
<template #default="{ row }">
<el-button type="primary" size="small" link @click="downLownFn(row)">下载</el-button>
<!-- <el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
<template #reference>
<el-button type="danger" link>删除</el-button>
</template>
</el-popconfirm> -->
</template>
</vxe-column>
</vxe-table>
</el-dialog>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, 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 { defaultAttribute } from '@/components/table/defaultAttribute'
import { useDictData } from '@/stores/dictData'
import { MultipartFile, surveyResultDownload } from '@/api/process-boot/generalTest'
const dictData = useDictData()
const addUpload = ref(false)
const dataShow = ref(false)
const TableHeaderRef = ref()
const fileList: any = ref([])
const uploadList: any = ref([])
const planId = ref('')
const tableStore = new TableStore({
url: '/process-boot/rGeneralSurveyPlan/queryPlanResult',
publicHeight: 65,
method: 'POST',
column: [
// { width: '60', type: 'checkbox' },
{ field: 'orgName', title: '责任单位' },
{ field: 'planNo', title: '普测计划编号' },
{ field: 'planName', title: '普测计划名称' },
{ field: 'planStartTime', title: '开始时间' },
{ field: 'planEndTime', title: '结束时间' },
{ field: 'subCount', title: '普测变电站数量' },
{
field: 'isFileUpload',
title: '是否上传',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
replaceValue: {
0: '否',
1: '是'
}
},
{ field: 'fileCount', title: '上传文件数量' },
{ field: 'uploadTime', title: '上传时间' },
{
title: '操作文件',
width: '180',
render: 'buttons',
fixed: 'right',
buttons: [
{
title: '上传',
type: 'primary',
icon: 'el-icon-Plus',
render: 'basicButton',
click: row => {
planId.value = row.planNo
addUpload.value = true
}
},
{
title: '查看',
type: 'primary',
icon: 'el-icon-EditPen',
disabled: row => {
return row.isFileUpload !== 1
},
render: 'basicButton',
click: row => {
surveyResultDownload({ planNo: row.planNo }).then(res => {
uploadList.value = res.data
dataShow.value = true
})
}
}
]
}
],
beforeSearchFun: () => {
tableStore.table.params.planStartTime = tableStore.table.params.searchBeginTime
tableStore.table.params.planEndTime = tableStore.table.params.searchEndTime
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
tableStore.table.params.currentPage = tableStore.table.params.pageNum
}
})
tableStore.table.params.isFileUpload = ''
const handleRemove = (e: any) => {
fileList.value = fileList.value.filter((item: any) => item.uid !== e.uid)
}
const chooseBatch = (e: any) => {
fileList.value.push(e)
}
// 上传
const BatchUpload = () => {
let form = new FormData()
form.append('planId', planId.value)
fileList.value.forEach((item: any) => {
form.append('file', item.raw)
})
MultipartFile(form).then((res: any) => {
ElMessage.success('上传成功!')
handleClose()
tableStore.index()
})
}
const handleClose = () => {
fileList.value = []
addUpload.value = false
}
// 下载
const downLownFn = async (row: any) => {
let response = await fetch(row.minFileUrl)
let blob = await response.blob()
let a = document.createElement('a')
a.href = window.URL.createObjectURL(blob)
a.download = row.minFileName
a.click()
a.remove()
}
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
</script>

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,13 +1,13 @@
<!---终端入网检测-->
<template>
<TableHeader area ref='TableHeaderRef' showExport>
<TableHeader area ref='TableHeaderRef' showExport showCustomColumn>
<template #select>
<el-form-item label='搜索'>
<el-input
v-model='tableStore.table.params.searchValue'
placeholder='输入变电站.终端名称'
clearable
maxlength="32"
maxlength="32"
show-word-limit
></el-input>
</el-form-item>

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,76 +1,76 @@
<template>
<div class='default-main'>
<TableHeader>
<template v-slot:select>
<el-form-item label='筛选数据'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='筛选数据' />
</el-form-item>
</template>
<template v-slot:operation>
<el-button type='primary' @click='exportEvent' class='ml10' icon='el-icon-Download'>导出</el-button>
</template>
</TableHeader>
<!--表格-->
<Table ref='tableRef'></Table>
</div>
</template>
<script setup lang='ts'>
import { ElMessage } from 'element-plus'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { onMounted, provide, ref } from 'vue'
import { useDictData } from '@/stores/dictData'
defineOptions({
name: 'admin/flowTask/mytask'
})
const tableStore = new TableStore({
url: '/process-boot/flowable/task/todoList',
method: 'GET',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{ title: '流程名称', field: 'procDefName', width: 200 },
{ title: '流程类别', field: 'category', width: 200 },
{ title: '流程版本', field: 'procDefVersion' },
{ title: '提交时间', field: 'createTime' },
{
title: '流程状态', field: 'finishTime',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
replaceValue: {
0: '进行中',
1: '已完成'
},
formatter(row: any) {
return row.finishTime == null ? '0' : '1'
}
},
{ title: '耗时', field: 'duration' },
{ title: '当前节点', field: 'taskName' },
{ title: '审核人', field: 'superiorsSubstation' }
],
beforeSearchFun: () => {
tableStore.table.params.beginTime = tableStore.table.params.startTime
tableStore.table.params.deptId = tableStore.table.params.deptIndex
}
})
onMounted(() => {
// 加载数据
tableStore.index()
})
</script>
<style lang="scss" scoped>
</style>
<template>
<div class='default-main'>
<TableHeader showCustomColumn>
<template v-slot:select>
<el-form-item label='筛选数据'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='筛选数据' />
</el-form-item>
</template>
<template v-slot:operation>
<el-button type='primary' @click='exportEvent' class='ml10' icon='el-icon-Download'>导出</el-button>
</template>
</TableHeader>
<!--表格-->
<Table ref='tableRef' :checkbox-config="checkboxConfig"></Table>
</div>
</template>
<script setup lang='ts'>
import { ElMessage } from 'element-plus'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { onMounted, provide, ref } from 'vue'
import { useDictData } from '@/stores/dictData'
defineOptions({
name: 'admin/flowTask/mytask'
})
const tableStore = new TableStore({
url: '/process-boot/flowable/task/todoList',
method: 'GET',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{ title: '流程名称', field: 'procDefName', width: 200 },
{ title: '流程类别', field: 'category', width: 200 },
{ title: '流程版本', field: 'procDefVersion' },
{ title: '提交时间', field: 'createTime' },
{
title: '流程状态', field: 'finishTime',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
replaceValue: {
0: '进行中',
1: '已完成'
},
formatter(row: any) {
return row.finishTime == null ? '0' : '1'
}
},
{ title: '耗时', field: 'duration' },
{ title: '当前节点', field: 'taskName' },
{ title: '审核人', field: 'superiorsSubstation' }
],
beforeSearchFun: () => {
tableStore.table.params.beginTime = tableStore.table.params.startTime
tableStore.table.params.deptId = tableStore.table.params.deptIndex
}
})
onMounted(() => {
// 加载数据
tableStore.index()
})
</script>
<style lang="scss" scoped>
</style>

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,75 +1,75 @@
<template>
<div>
<TableHeader date-picker :showReset="false">
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
</template>
</TableHeader>
<Table :isGroup="props.info.isGroup" ref="tableRef" />
</div>
</template>
<script setup lang="ts">
import TableHeader from '@/components/table/header/index.vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import { ref, onMounted, provide, nextTick } from 'vue'
import { useDictData } from '@/stores/dictData'
import createAxios from '@/utils/request'
import { requestPayload } from '@/utils/request'
interface Props {
info: any
}
const props = withDefaults(defineProps<Props>(), {})
const dictData = useDictData()
const tableRef = ref()
const tableStore = new TableStore({
url: props.info.url,
publicHeight: 62,
method: 'POST',
column: props.info.column,
loadCallback: () => {}
})
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', [
'Report_Type',
'Manufacturer',
'Voltage_Level',
'Load_Type'
])[0]
tableStore.table.params.deptIndex = dictData.state.area[0].id
tableStore.table.params.monitorFlag = 2
tableStore.table.params.powerFlag = 2
tableStore.table.params.serverName = 'event-boot'
tableStore.table.params.type = 0
provide('tableStore', tableStore)
nextTick(() => {
tableStore.index()
})
// 导出
const exportEvent = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1
form.pageSize = tableStore.table.total
createAxios(
Object.assign(
{
url: props.info.url,
method: 'post'
},
requestPayload('POST', form)
)
).then(res => {
tableRef.value.getRef().exportData({
filename: props.info.name, // 文件名字
sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true,
data: res.data.records, // 数据源 // 过滤那个字段导出
columnFilterMethod: function (column: any) {
return !(column.$columnIndex === 0)
}
})
})
}
</script>
<template>
<div>
<TableHeader date-picker :showReset="false" showCustomColumn>
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
</template>
</TableHeader>
<Table :isGroup="props.info.isGroup" ref="tableRef" />
</div>
</template>
<script setup lang="ts">
import TableHeader from '@/components/table/header/index.vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import { ref, onMounted, provide, nextTick } from 'vue'
import { useDictData } from '@/stores/dictData'
import createAxios from '@/utils/request'
import { requestPayload } from '@/utils/request'
interface Props {
info: any
}
const props = withDefaults(defineProps<Props>(), {})
const dictData = useDictData()
const tableRef = ref()
const tableStore = new TableStore({
url: props.info.url,
publicHeight: 62,
method: 'POST',
column: props.info.column,
loadCallback: () => {}
})
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', [
'Report_Type',
'Manufacturer',
'Voltage_Level',
'Load_Type'
])[0]
tableStore.table.params.deptIndex = dictData.state.area[0].id
tableStore.table.params.monitorFlag = 2
tableStore.table.params.powerFlag = 2
tableStore.table.params.serverName = 'event-boot'
tableStore.table.params.type = 0
provide('tableStore', tableStore)
nextTick(() => {
tableStore.index()
})
// 导出
const exportEvent = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1
form.pageSize = tableStore.table.total
createAxios(
Object.assign(
{
url: props.info.url,
method: 'post'
},
requestPayload('POST', form)
)
).then(res => {
tableRef.value.getRef().exportData({
filename: props.info.name, // 文件名字
sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true,
data: res.data.records, // 数据源 // 过滤那个字段导出
columnFilterMethod: function (column: any) {
return !(column.$columnIndex === 0)
}
})
})
}
</script>

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>