全局表格添加列配置功能

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

@@ -1,107 +1,108 @@
{ {
"name": "canneng-admin", "name": "canneng-admin",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite --mode dev", "dev": "vite --mode dev",
"dev:jibei": "vite --mode jibei", "dev:jibei": "vite --mode jibei",
"dev:hainan": "vite --mode hainan", "dev:hainan": "vite --mode hainan",
"dev:qujing": "vite --mode qujing", "dev:qujing": "vite --mode qujing",
"dev:LN": "vite --mode LN", "dev:LN": "vite --mode LN",
"dev:LNqr": "vite --mode LNqr", "dev:LNqr": "vite --mode LNqr",
"dev:removeMode": "vite --mode removeMode", "dev:removeMode": "vite --mode removeMode",
"build": "vite build --mode dev", "build": "vite build --mode dev",
"build:jibei": "vite build --mode jibei", "build:jibei": "vite build --mode jibei",
"build:hainan": "vite build --mode hainan", "build:hainan": "vite build --mode hainan",
"build:qujing": "vite build --mode qujing", "build:qujing": "vite build --mode qujing",
"build:LN": "vite build --mode LN", "build:LN": "vite build --mode LN",
"build:LNqr": "vite build --mode LNqr", "build:LNqr": "vite build --mode LNqr",
"build:removeMode": "vite build --mode removeMode", "build:removeMode": "vite build --mode removeMode",
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@ant-design/colors": "^7.0.2", "@ant-design/colors": "^7.0.2",
"@element-plus/icons-vue": "^2.3.1", "@element-plus/icons-vue": "^2.3.1",
"@form-create/designer": "^3.1.3", "@form-create/designer": "^3.1.3",
"@form-create/element-ui": "^3.1.24", "@form-create/element-ui": "^3.1.24",
"@fortawesome/fontawesome-free": "^6.5.1", "@fortawesome/fontawesome-free": "^6.5.1",
"@kjgl77/datav-vue3": "^1.7.4", "@kjgl77/datav-vue3": "^1.7.4",
"@vue-office/docx": "^1.6.3", "@vue-office/docx": "^1.6.3",
"@vue-office/excel": "^1.7.8", "@vue-office/excel": "^1.7.8",
"@vue-office/pdf": "^2.0.2", "@vue-office/pdf": "^2.0.2",
"@vueuse/core": "^10.7.0", "@vueuse/core": "^10.7.0",
"@wangeditor/editor": "^5.1.23", "@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"@wangeditor/plugin-formula": "^1.0.11", "@wangeditor/plugin-formula": "^1.0.11",
"axios": "^1.6.2", "axios": "^1.6.2",
"bpmn-js": "8.9.0", "bpmn-js": "8.9.0",
"bpmn-js-properties-panel": "0.46.0", "bpmn-js-properties-panel": "0.46.0",
"bpmn-js-token-simulation": "^0.10.0", "bpmn-js-token-simulation": "^0.10.0",
"bpmn-moddle": "^6.0.0", "bpmn-moddle": "^6.0.0",
"camunda-bpmn-moddle": "^7.0.1", "camunda-bpmn-moddle": "^7.0.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"diagram-js": "^11.4.1", "diagram-js": "^11.4.1",
"diagram-js-minimap": "^2.0.4", "diagram-js-minimap": "^2.0.4",
"echarts": "^5.4.3", "echarts": "^5.4.3",
"echarts-gl": "^2.0.9", "echarts-gl": "^2.0.9",
"echarts-liquidfill": "^3.1.0", "echarts-liquidfill": "^3.1.0",
"echarts4": "npm:echarts@^4.9.0", "echarts4": "npm:echarts@^4.9.0",
"element-plus": "^2.9.11", "element-plus": "^2.9.11",
"exceljs": "^4.4.0", "exceljs": "^4.4.0",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"grid-layout-plus": "^1.1.0", "grid-layout-plus": "^1.1.0",
"html2canvas": "^1.4.1", "html2canvas": "^1.4.1",
"jquery": "^3.7.1", "jquery": "^3.7.1",
"js-pinyin": "^0.2.5", "js-pinyin": "^0.2.5",
"jsencrypt": "^3.3.2", "jsencrypt": "^3.3.2",
"katex": "^0.16.11", "katex": "^0.16.11",
"less": "^4.2.0", "less": "^4.2.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"luckyexcel": "^1.0.1", "luckyexcel": "^1.0.1",
"luckysheet": "^2.1.13", "luckysheet": "^2.1.13",
"mathjax": "^3.2.2", "mathjax": "^3.2.2",
"min-dash": "^4.2.1", "min-dash": "^4.2.1",
"mitt": "^3.0.1", "mitt": "^3.0.1",
"mqtt": "^5.13.3", "mqtt": "^5.13.3",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.1", "pinia-plugin-persistedstate": "^3.2.1",
"qs": "^6.12.0", "qs": "^6.12.0",
"screenfull": "^6.0.2", "screenfull": "^6.0.2",
"splitpanes": "^3.1.5", "splitpanes": "^3.1.5",
"steady-xml": "0.1.0", "steady-xml": "0.1.0",
"svg-pan-zoom": "^3.6.2", "svg-pan-zoom": "^3.6.2",
"use-element-plus-theme": "^0.0.5", "use-element-plus-theme": "^0.0.5",
"vexip-ui": "^2.3.28", "vexip-ui": "^2.3.28",
"vue": "^3.3.11", "vue": "^3.3.11",
"vue-baidu-map-3x": "^1.0.35", "vue-baidu-map-3x": "^1.0.35",
"vue-baidu-map-offline": "^1.0.7", "vue-baidu-map-offline": "^1.0.7",
"vue-demi": "^0.14.8", "vue-demi": "^0.14.8",
"vue-draggable-resizable": "3.0.0-beta.2", "vue-draggable-resizable": "3.0.0-beta.2",
"vue-i18n": "9.10.2", "vue-i18n": "9.10.2",
"vue-katex": "^0.5.0", "vue-katex": "^0.5.0",
"vue-router": "4", "vue-router": "4",
"vue-types": "^5.1.1", "vue-types": "^5.1.1",
"vxe-table": "^4.5.17", "vxe-pc-ui": "~4.15.19",
"vxe-table-plugin-export-xlsx": "^4.0.1", "vxe-table": "^4.19.22",
"web-storage-cache": "^1.1.1", "vxe-table-plugin-export-xlsx": "^4.0.7",
"xe-utils": "^3.5.14", "web-storage-cache": "^1.1.1",
"yarn": "^1.22.22" "xe-utils": "^3.5.14",
}, "yarn": "^1.22.22"
"devDependencies": { },
"@purge-icons/generated": "^0.9.0", "devDependencies": {
"@types/lodash-es": "^4.17.12", "@purge-icons/generated": "^0.9.0",
"@types/node": "^20.10.5", "@types/lodash-es": "^4.17.12",
"@types/splitpanes": "^2.2.6", "@types/node": "^20.10.5",
"@vitejs/plugin-vue": "^4.5.2", "@types/splitpanes": "^2.2.6",
"@vitejs/plugin-vue-jsx": "^3.1.0", "@vitejs/plugin-vue": "^4.5.2",
"sass": "^1.69.5", "@vitejs/plugin-vue-jsx": "^3.1.0",
"typescript": "^5.2.2", "sass": "^1.69.5",
"unplugin-auto-import": "^0.16.7", "typescript": "^5.2.2",
"vite": "^5.0.8", "unplugin-auto-import": "^0.16.7",
"vite-plugin-mkcert": "^1.17.3", "vite": "^5.0.8",
"vue-tsc": "^1.8.25" "vite-plugin-mkcert": "^1.17.3",
} "vue-tsc": "^1.8.25"
}
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -31,6 +31,8 @@ $border-color: map.merge(
@include set-component-css-var('border-color', $border-color); @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-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-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-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-background-color: var(--el-color-primary-light-9);
// --vxe-table-row-hover-current-background-color: var(--el-color-primary-light-7); // --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{ // .vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{
// color: #fff0; // color: #fff0;
// } // }
.vxe-table--tooltip-wrapper { .vxe-table--tooltip-wrapper,
.vxe-tooltip--wrapper {
z-index: 10000 !important; z-index: 10000 !important;
} }
.is--disabled { .is--disabled {
@@ -98,3 +99,8 @@
background-color: #000 !important; 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'> <div class='default-main'>
<!-- 表头 --> <!-- 表头 -->
<!-- date-picker 时间组件 area区域组件--> <!-- date-picker 时间组件 area区域组件-->
<TableHeader date-picker area> <TableHeader date-picker area showCustomColumn>
<template v-slot:select> <template v-slot:select>
<el-form-item label='关键词:'> <el-form-item label='关键词:'>
<el-input <el-input

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
<template> <template>
<!-- 新增 --> <!-- 新增 -->
<el-dialog draggable title="详情" v-model="dialogVisible" width="1200px"> <el-dialog draggable title="详情" v-model="dialogVisible" width="1200px">
<TableHeader datePicker showExport :showReset="false"> <TableHeader datePicker showExport :showReset="false" >
<template v-slot:select> <template v-slot:select>
<el-form-item label="筛选数据"> <el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入筛选数据" clearable maxlength="32" show-word-limit/> <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入筛选数据" clearable maxlength="32" show-word-limit/>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,7 +5,7 @@
用采数据列表 用采数据列表
<back-component /> <back-component />
</div> </div>
<TableHeader :showReset="false" ref="TableHeaderRef"> <TableHeader :showReset="false" ref="TableHeaderRef" showCustomColumn>
<template #select> <template #select>
<el-form-item label="筛选数据"> <el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" maxlength="32" show-word-limit/> <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', method: 'POST',
publicHeight: 52, publicHeight: 52,
column: [ 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: 'name' },
{ title: '起始时间', field: 'startTime' }, { title: '起始时间', field: 'startTime' },
{ title: '截止时间', field: 'endTime' }, { title: '截止时间', field: 'endTime' },

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -339,21 +339,19 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 1,
offset: 1, color: '#FF9100' // 100% 处的颜色
color: '#FF9100' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
@@ -371,34 +369,30 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 0,
offset: 0, color: '#57bc6e' // 0% 处的颜色
color: '#57bc6e' // 0% 处的颜色 },
}, {
{ offset: 1,
offset: 1, color: '#57bc6e' // 100% 处的颜色
color: '#57bc6e' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
{ {
type: 'pictorialBar', type: 'pictorialBar',
itemStyle: { itemStyle: {
normal: { color: '#fff'
color: '#fff'
}
}, },
symbolRepeat: 50, symbolRepeat: 50,
// symbolMargin: 300, // symbolMargin: 300,
@@ -419,11 +413,9 @@ const echart = () => {
barWidth: 18, barWidth: 18,
itemStyle: { itemStyle: {
normal: { color: 'transparent',
color: 'transparent', borderColor: 'rgb(148,217,249)',
barBorderColor: 'rgb(148,217,249)', borderWidth: 1
barBorderWidth: 1
}
}, },
z: 2 z: 2
} }

View File

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

View File

@@ -346,21 +346,19 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 1,
offset: 1, color: '#FF9100' // 100% 处的颜色
color: '#FF9100' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
@@ -372,34 +370,30 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 0,
offset: 0, color: '#57bc6e' // 0% 处的颜色
color: '#57bc6e' // 0% 处的颜色 },
}, {
{ offset: 1,
offset: 1, color: '#57bc6e' // 100% 处的颜色
color: '#57bc6e' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
{ {
type: 'pictorialBar', type: 'pictorialBar',
itemStyle: { itemStyle: {
normal: { color: '#fff'
color: '#fff'
}
}, },
symbolRepeat: 50, symbolRepeat: 50,
// symbolMargin: 300, // symbolMargin: 300,
@@ -420,11 +414,9 @@ const echart = () => {
barWidth: 18, barWidth: 18,
itemStyle: { itemStyle: {
normal: { color: 'transparent',
color: 'transparent', borderColor: 'rgb(148,217,249)',
barBorderColor: 'rgb(148,217,249)', borderWidth: 1
barBorderWidth: 1
}
}, },
z: 2 z: 2
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -288,21 +288,19 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 1,
offset: 1, color: '#57bc6e' // 100% 处的颜色
color: '#57bc6e' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
@@ -314,34 +312,30 @@ const echart = () => {
z: 0, z: 0,
zlevel: 0, zlevel: 0,
itemStyle: { itemStyle: {
normal: { color: {
color: { type: 'linear',
type: 'linear', x: 0,
x: 0, y: 0,
y: 0, x2: 1,
x2: 1, y2: 0,
y2: 0, colorStops: [
colorStops: [ {
{ offset: 0,
offset: 0, color: '#FF9100' // 0% 处的颜色
color: '#FF9100' // 0% 处的颜色 },
}, {
{ offset: 1,
offset: 1, color: '#FF9100' // 100% 处的颜色
color: '#FF9100' // 100% 处的颜色 }
} ],
], global: false // 缺省为 false
global: false // 缺省为 false
}
} }
} }
}, },
{ {
type: 'pictorialBar', type: 'pictorialBar',
itemStyle: { itemStyle: {
normal: { color: '#fff'
color: '#fff'
}
}, },
symbolRepeat: 50, symbolRepeat: 50,
// symbolMargin: 300, // symbolMargin: 300,
@@ -362,11 +356,9 @@ const echart = () => {
barWidth: 18, barWidth: 18,
itemStyle: { itemStyle: {
normal: { color: 'transparent',
color: 'transparent', borderColor: 'rgb(148,217,249)',
barBorderColor: 'rgb(148,217,249)', borderWidth: 1
barBorderWidth: 1
}
}, },
z: 2 z: 2
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div> <div>
<TableHeader area datePicker ref="TableHeaderRef" /> <TableHeader area datePicker ref="TableHeaderRef" showCustomColumn/>
<Table ref="tableRef" /> <Table ref="tableRef" />
<!-- 审核 --> <!-- 审核 -->
<planAdd ref="planAddRef" @onsubmit="tableStore.index()" /> <planAdd ref="planAddRef" @onsubmit="tableStore.index()" />
@@ -26,6 +26,10 @@ const tableStore = new TableStore({
publicHeight: 65, publicHeight: 65,
method: 'POST', method: 'POST',
column: [ 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: 'orgName', title: '所属单位' },
{ field: 'planNo', title: '普测计划编号' }, { field: 'planNo', title: '普测计划编号' },
{ field: 'planName', title: '普测计划名称' }, { field: 'planName', title: '普测计划名称' },

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
<template> <template>
<TableHeader area ref="TableHeaderRef"> <TableHeader area ref="TableHeaderRef" showCustomColumn>
<template #select> <template #select>
<el-form-item label="干扰源类型"> <el-form-item label="干扰源类型">
<el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择干扰源类型"> <el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择干扰源类型">
@@ -49,6 +49,10 @@ const tableStore = new TableStore({
publicHeight: 65, publicHeight: 65,
method: 'POST', method: 'POST',
column: [ 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: 'orgName', title: '所属单位' },
{ {
field: 'loadType', field: 'loadType',

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
<template> <template>
<TableHeader datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport> <TableHeader datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport showCustomColumn>
<template #select> <template #select>
<el-form-item label="项目名称"> <el-form-item label="项目名称">
<el-input v-model="tableStore.table.params.projectName" placeholder="请输入项目名称" maxlength="32" show-word-limit clearable></el-input> <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" custom-class="fixed-dialog"
@closed="close" @closed="close"
> --> > -->
<TableHeader :showSearch="false" ref="TableHeaderRef"> <TableHeader :showSearch="false" ref="TableHeaderRef" showCustomColumn>
<!-- <template #select> <!-- <template #select>
<el-form-item label="用户名称"> <el-form-item label="用户名称">
<el-input v-model="tableStore.table.params.searchValue" clearable></el-input> <el-input v-model="tableStore.table.params.searchValue" clearable></el-input>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div> <div>
<TableHeader datePicker ref="TableHeaderRef"> <TableHeader datePicker ref="TableHeaderRef" showCustomColumn>
<template #select> <template #select>
<el-form-item label="筛选数据"> <el-form-item label="筛选数据">
<el-input <el-input
@@ -45,6 +45,14 @@ const tableStore = new TableStore({
publicHeight: 345, publicHeight: 345,
method: 'POST', method: 'POST',
column: [ 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: 'name', title: '事务名称' },
{ field: 'type', title: '事务类型' }, { field: 'type', title: '事务类型' },
{ field: 'createUser', title: '创建人员' }, { field: 'createUser', title: '创建人员' },
@@ -56,7 +64,8 @@ const tableStore = new TableStore({
{ field: 'alertType', title: '预警类型' }, { field: 'alertType', title: '预警类型' },
{ {
title: '操作',fixed: 'right', title: '操作',
fixed: 'right',
width: '180', width: '180',
render: 'buttons', render: 'buttons',
buttons: [ buttons: [

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div> <div>
<TableHeader datePicker ref="TableHeaderRef"> <TableHeader datePicker ref="TableHeaderRef" showCustomColumn>
<template #select> <template #select>
<el-form-item label="筛选数据"> <el-form-item label="筛选数据">
<el-input <el-input
@@ -102,6 +102,10 @@ const tableStore = new TableStore({
publicHeight: 65, publicHeight: 65,
method: 'POST', method: 'POST',
column: [ 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: 'name', title: '名称' },
{ {
field: 'grade', field: 'grade',

View File

@@ -130,6 +130,10 @@ const tableStore = new TableStore({
publicHeight: 85, publicHeight: 85,
method: 'POST', method: 'POST',
column: [ 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: 'id', title: '终端编号' },
{ {
field: 'manufacture', field: 'manufacture',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport> <TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport showCustomColumn>
<template #select> <template #select>
<el-form-item label="数据筛选"> <el-form-item label="数据筛选">
<el-input <el-input
@@ -36,6 +36,10 @@ const tableStore = new TableStore({
paramsPOST: true, paramsPOST: true,
filename: '变电站台账', filename: '变电站台账',
column: [ 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: 'deptName', title: '所在地市', minWidth: 100 },
{ field: 'substationName', title: '变电站名称', minWidth: 100 }, { field: 'substationName', title: '变电站名称', minWidth: 100 },

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
<div class="default-main"> <div class="default-main">
<el-tabs v-model="activeName" type="border-card"> <el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="试运行评估" name="1"> <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> <template #select>
<el-form-item label="流程状态"> <el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态"> <el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
@@ -82,6 +82,10 @@ const tableStore = new TableStore({
publicHeight: 65, publicHeight: 65,
column: [ column: [
{ title: '', type: 'checkbox', width: 40 }, { 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: 'lineName', title: '监测点名称', minWidth: 160 },
{ field: 'connectedBus', title: '接入母线', minWidth: 160 }, { field: 'connectedBus', title: '接入母线', minWidth: 160 },
// { field: 'monitoringTerminalCode', title: '终端编号', minWidth: 140 }, // { field: 'monitoringTerminalCode', title: '终端编号', minWidth: 140 },

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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