Compare commits
2 Commits
6a84d28101
...
cd2be0f4aa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd2be0f4aa | ||
|
|
855c569535 |
8813
package-lock.json
generated
8813
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
211
package.json
211
package.json
@@ -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"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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'
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -1,55 +1,22 @@
|
|||||||
import type { App } from 'vue'
|
import type { App } from 'vue'
|
||||||
// 👇使用 form-create 需额外全局引入 element plus 组件
|
import FcDesigner from '@form-create/designer'
|
||||||
import {
|
import formCreate from '@form-create/element-ui'
|
||||||
ElAlert,
|
import install from '@form-create/element-ui/auto-import'
|
||||||
ElAside,
|
//======================= 自定义组件 =======================
|
||||||
ElContainer,
|
import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
|
||||||
ElDivider,
|
import { DictSelect } from '@/components/DictSelect'
|
||||||
ElHeader,
|
import UserSelect from '@/views/system/auth/userList/UserSelect.vue'
|
||||||
ElMain,
|
import { Editor } from '@/components/Editor'
|
||||||
ElPopconfirm,
|
|
||||||
ElTable,
|
// Element Plus 已在 main.ts 通过 app.use(ElementPlus) 全局注册,此处仅注册 form-create 自定义组件
|
||||||
ElTableColumn,
|
const components = [UploadImg, UploadImgs, UploadFile, DictSelect, UserSelect, Editor]
|
||||||
ElTabPane,
|
|
||||||
ElTabs,
|
// 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
|
||||||
ElTransfer
|
export const setupFormCreate = (app: App<Element>) => {
|
||||||
} from 'element-plus'
|
components.forEach((component) => {
|
||||||
import FcDesigner from '@form-create/designer'
|
app.component(component.name!, component)
|
||||||
import formCreate from '@form-create/element-ui'
|
})
|
||||||
import install from '@form-create/element-ui/auto-import'
|
formCreate.use(install)
|
||||||
//======================= 自定义组件 =======================
|
app.use(formCreate)
|
||||||
import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
|
app.use(FcDesigner)
|
||||||
import { DictSelect } from '@/components/DictSelect'
|
}
|
||||||
import UserSelect from '@/views/system/auth/userList/UserSelect.vue'
|
|
||||||
import { Editor } from '@/components/Editor'
|
|
||||||
|
|
||||||
const components = [
|
|
||||||
ElAside,
|
|
||||||
ElPopconfirm,
|
|
||||||
ElHeader,
|
|
||||||
ElMain,
|
|
||||||
ElContainer,
|
|
||||||
ElDivider,
|
|
||||||
ElTransfer,
|
|
||||||
ElAlert,
|
|
||||||
ElTabs,
|
|
||||||
ElTable,
|
|
||||||
ElTableColumn,
|
|
||||||
ElTabPane,
|
|
||||||
UploadImg,
|
|
||||||
UploadImgs,
|
|
||||||
UploadFile,
|
|
||||||
DictSelect,
|
|
||||||
UserSelect,
|
|
||||||
Editor
|
|
||||||
]
|
|
||||||
|
|
||||||
// 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
|
|
||||||
export const setupFormCreate = (app: App<Element>) => {
|
|
||||||
components.forEach((component) => {
|
|
||||||
app.component(component.name, component)
|
|
||||||
})
|
|
||||||
formCreate.use(install)
|
|
||||||
app.use(formCreate)
|
|
||||||
app.use(FcDesigner)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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 })
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -1,119 +1,119 @@
|
|||||||
<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>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-radio-group v-model="radio2" @change="tableStore.index()">
|
<el-radio-group v-model="radio2" @change="tableStore.index()">
|
||||||
<el-radio-button label="基础数据" value="1" />
|
<el-radio-button label="基础数据" value="1" />
|
||||||
<el-radio-button label="谐波电压" value="2" />
|
<el-radio-button label="谐波电压" value="2" />
|
||||||
<el-radio-button label="谐波电流" value="3" />
|
<el-radio-button label="谐波电流" value="3" />
|
||||||
<el-radio-button label="间谐波电压" value="4" />
|
<el-radio-button label="间谐波电压" value="4" />
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template #operation>
|
<template #operation>
|
||||||
<el-button icon="el-icon-Back" @click="$emit('close')">返回</el-button>
|
<el-button icon="el-icon-Back" @click="$emit('close')">返回</el-button>
|
||||||
</template>
|
</template>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<Table ref="tableRef" isGroup />
|
<Table ref="tableRef" isGroup />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, provide } from 'vue'
|
import { ref, onMounted, provide } from 'vue'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { dictDataDelete } from '@/api/system-boot/dicData'
|
import { dictDataDelete } from '@/api/system-boot/dicData'
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'setting/dictionary/list/detail'
|
name: 'setting/dictionary/list/detail'
|
||||||
})
|
})
|
||||||
const radio2 = ref('1')
|
const radio2 = ref('1')
|
||||||
interface Props {
|
interface Props {
|
||||||
timePopUpBox: anyObj
|
timePopUpBox: anyObj
|
||||||
}
|
}
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
timePopUpBox: () => {
|
timePopUpBox: () => {
|
||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const popupEditRef = ref()
|
const popupEditRef = ref()
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/harmonic-boot/powerStatistics/getTargetByTime',
|
url: '/harmonic-boot/powerStatistics/getTargetByTime',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
showPage: false,
|
showPage: false,
|
||||||
column: [
|
column: [
|
||||||
{
|
{
|
||||||
title: '指标',
|
title: '指标',
|
||||||
field: 'anotherName',
|
field: 'anotherName',
|
||||||
minWidth: '120px',
|
minWidth: '120px',
|
||||||
formatter: row => {
|
formatter: row => {
|
||||||
row.column.title =
|
row.column.title =
|
||||||
radio2.value == '1' ? '指标' : (row.column.title = radio2.value == '4' ? '间谐波次数' : '谐波次数')
|
radio2.value == '1' ? '指标' : (row.column.title = radio2.value == '4' ? '间谐波次数' : '谐波次数')
|
||||||
return row.cellValue
|
return row.cellValue
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ title: '单位', field: 'unit' },
|
{ title: '单位', field: 'unit' },
|
||||||
{
|
{
|
||||||
title: '最小值',
|
title: '最小值',
|
||||||
field: 'min',
|
field: 'min',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: 'A',
|
title: 'A',
|
||||||
field: 'minphaseA',
|
field: 'minphaseA',
|
||||||
formatter: row => formatter(row)
|
formatter: row => formatter(row)
|
||||||
},
|
},
|
||||||
{ title: 'B', field: 'minphaseB', formatter: row => formatter(row) },
|
{ title: 'B', field: 'minphaseB', formatter: row => formatter(row) },
|
||||||
{ title: 'C', field: 'minphaseC', formatter: row => formatter(row) }
|
{ title: 'C', field: 'minphaseC', formatter: row => formatter(row) }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '最大值',
|
title: '最大值',
|
||||||
field: 'max',
|
field: 'max',
|
||||||
children: [
|
children: [
|
||||||
{ title: 'A', field: 'maxphaseA', formatter: row => formatter(row) },
|
{ title: 'A', field: 'maxphaseA', formatter: row => formatter(row) },
|
||||||
{ title: 'B', field: 'maxphaseB', formatter: row => formatter(row) },
|
{ title: 'B', field: 'maxphaseB', formatter: row => formatter(row) },
|
||||||
{ title: 'C', field: 'maxphaseC', formatter: row => formatter(row) }
|
{ title: 'C', field: 'maxphaseC', formatter: row => formatter(row) }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '平均值',
|
title: '平均值',
|
||||||
field: 'avg',
|
field: 'avg',
|
||||||
children: [
|
children: [
|
||||||
{ title: 'A', field: 'avgphaseA', formatter: row => formatter(row) },
|
{ title: 'A', field: 'avgphaseA', formatter: row => formatter(row) },
|
||||||
{ title: 'B', field: 'avgphaseB', formatter: row => formatter(row) },
|
{ title: 'B', field: 'avgphaseB', formatter: row => formatter(row) },
|
||||||
{ title: 'C', field: 'avgphaseC', formatter: row => formatter(row) }
|
{ title: 'C', field: 'avgphaseC', formatter: row => formatter(row) }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'cp95值',
|
title: 'cp95值',
|
||||||
field: 'cp95',
|
field: 'cp95',
|
||||||
children: [
|
children: [
|
||||||
{ title: 'A', field: 'cp95PhaseA', formatter: row => formatter(row) },
|
{ title: 'A', field: 'cp95PhaseA', formatter: row => formatter(row) },
|
||||||
{ title: 'B', field: 'cp95PhaseB', formatter: row => formatter(row) },
|
{ title: 'B', field: 'cp95PhaseB', formatter: row => formatter(row) },
|
||||||
{ title: 'C', field: 'cp95PhaseC', formatter: row => formatter(row) }
|
{ title: 'C', field: 'cp95PhaseC', formatter: row => formatter(row) }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
beforeSearchFun: () => {
|
beforeSearchFun: () => {
|
||||||
tableStore.table.params.field = props.timePopUpBox.field
|
tableStore.table.params.field = props.timePopUpBox.field
|
||||||
tableStore.table.params.lineId = props.timePopUpBox.lineId
|
tableStore.table.params.lineId = props.timePopUpBox.lineId
|
||||||
tableStore.table.params.searchBeginTime = props.timePopUpBox.time
|
tableStore.table.params.searchBeginTime = props.timePopUpBox.time
|
||||||
tableStore.table.params.searchEndTime = props.timePopUpBox.time
|
tableStore.table.params.searchEndTime = props.timePopUpBox.time
|
||||||
tableStore.table.params.statisticalId = radio2.value
|
tableStore.table.params.statisticalId = radio2.value
|
||||||
},
|
},
|
||||||
loadCallback: () => {}
|
loadCallback: () => {}
|
||||||
})
|
})
|
||||||
|
|
||||||
provide('tableStore', tableStore)
|
provide('tableStore', tableStore)
|
||||||
const formatter = (row: any) => {
|
const formatter = (row: any) => {
|
||||||
return row.cellValue || '/'
|
return row.cellValue || '/'
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -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="输入关键字筛选" />
|
||||||
|
|||||||
@@ -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="用户名:">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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/>
|
||||||
|
|||||||
@@ -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/>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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;">
|
||||||
所选变电站:
|
所选变电站:
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -91,7 +91,7 @@ const tableStore = new TableStore({
|
|||||||
},
|
},
|
||||||
{ field: 'city', title: '所在地市', minWidth: 100 },
|
{ field: 'city', title: '所在地市', minWidth: 100 },
|
||||||
/* { field: 'substation', title: '厂站名称', minWidth: 100 },*/
|
/* { field: 'substation', title: '厂站名称', minWidth: 100 },*/
|
||||||
{ field: 'projectName', title: '监测对象名称', minWidth: 150 },
|
{ field: 'projectName', title: '项目名称', minWidth: 150 },
|
||||||
{
|
{
|
||||||
field: 'userType',
|
field: 'userType',
|
||||||
title: '用户性质',
|
title: '用户性质',
|
||||||
@@ -104,7 +104,7 @@ const tableStore = new TableStore({
|
|||||||
|
|
||||||
// { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
// { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||||
{ field: 'ratePower', title: '装机容量(MW)', minWidth: 80 },
|
{ field: 'ratePower', title: '装机容量(MW)', minWidth: 80 },
|
||||||
{ field: 'stationId', title: '并网电站', minWidth: 150 },
|
{ field: 'stationId', title: '所属电站', minWidth: 150 },
|
||||||
{
|
{
|
||||||
field: 'checkUrl',
|
field: 'checkUrl',
|
||||||
title: '电能质量设备检测报告',
|
title: '电能质量设备检测报告',
|
||||||
@@ -244,7 +244,7 @@ const addFormModel = () => {
|
|||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
addForms.value.open({
|
addForms.value.open({
|
||||||
title: '新能源场站档案录入'
|
title: '用户档案录入'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = ''
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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' },
|
||||||
|
|||||||
@@ -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' },
|
||||||
|
|||||||
@@ -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="请输入关键字" />
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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="输入关键字筛选" />
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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="筛选数据" />
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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="请选择所在地市">
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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="请选择问题来源">
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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="请选择是否解决">
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -1,186 +1,186 @@
|
|||||||
<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="请选择是否上传">
|
||||||
<el-option label="未上传" value="0" />
|
<el-option label="未上传" value="0" />
|
||||||
<el-option label="已上传" value="1" />
|
<el-option label="已上传" value="1" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template #operation>
|
<template #operation>
|
||||||
<el-button icon="el-icon-Upload" type="primary">上传</el-button>
|
<el-button icon="el-icon-Upload" type="primary">上传</el-button>
|
||||||
<el-button icon="el-icon-Download" type="primary">导出</el-button>
|
<el-button icon="el-icon-Download" type="primary">导出</el-button>
|
||||||
</template>
|
</template>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<Table ref="tableRef" />
|
<Table ref="tableRef" />
|
||||||
<!-- 上传弹窗 -->
|
<!-- 上传弹窗 -->
|
||||||
<el-dialog draggable title="上传" v-model="addUpload" width="500px">
|
<el-dialog draggable title="上传" v-model="addUpload" width="500px">
|
||||||
<el-upload
|
<el-upload
|
||||||
multiple
|
multiple
|
||||||
action=""
|
action=""
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
:limit="999"
|
:limit="999"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:on-remove="handleRemove"
|
:on-remove="handleRemove"
|
||||||
:on-change="chooseBatch"
|
:on-change="chooseBatch"
|
||||||
ref="upload"
|
ref="upload"
|
||||||
>
|
>
|
||||||
<el-button type="primary" icon="el-icon-Upload">选择文件</el-button>
|
<el-button type="primary" icon="el-icon-Upload">选择文件</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button type="primary" @click="BatchUpload">保存</el-button>
|
<el-button type="primary" @click="BatchUpload">保存</el-button>
|
||||||
<el-button @click="handleClose">取消</el-button>
|
<el-button @click="handleClose">取消</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 文件查看 -->
|
<!-- 文件查看 -->
|
||||||
<el-dialog draggable title="文件查看" v-model="dataShow" width="600px">
|
<el-dialog draggable title="文件查看" v-model="dataShow" width="600px">
|
||||||
<vxe-table height="400" auto-resize :data="uploadList" v-bind="defaultAttribute">
|
<vxe-table height="400" auto-resize :data="uploadList" v-bind="defaultAttribute">
|
||||||
<vxe-column field="minFileName" title="文件名称"></vxe-column>
|
<vxe-column field="minFileName" title="文件名称"></vxe-column>
|
||||||
|
|
||||||
<vxe-column title="操作" width="100">
|
<vxe-column title="操作" width="100">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="primary" size="small" link @click="downLownFn(row)">下载</el-button>
|
<el-button type="primary" size="small" link @click="downLownFn(row)">下载</el-button>
|
||||||
<!-- <el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
|
<!-- <el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button type="danger" link>删除</el-button>
|
<el-button type="danger" link>删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-popconfirm> -->
|
</el-popconfirm> -->
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
</vxe-table>
|
</vxe-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, provide, nextTick } from 'vue'
|
import { ref, onMounted, provide, nextTick } from 'vue'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import { MultipartFile, surveyResultDownload } from '@/api/process-boot/generalTest'
|
import { MultipartFile, surveyResultDownload } from '@/api/process-boot/generalTest'
|
||||||
|
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
|
|
||||||
const addUpload = ref(false)
|
const addUpload = ref(false)
|
||||||
const dataShow = ref(false)
|
const dataShow = ref(false)
|
||||||
const TableHeaderRef = ref()
|
const TableHeaderRef = ref()
|
||||||
const fileList: any = ref([])
|
const fileList: any = ref([])
|
||||||
const uploadList: any = ref([])
|
const uploadList: any = ref([])
|
||||||
|
|
||||||
const planId = ref('')
|
const planId = ref('')
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/process-boot/rGeneralSurveyPlan/queryPlanResult',
|
url: '/process-boot/rGeneralSurveyPlan/queryPlanResult',
|
||||||
publicHeight: 65,
|
publicHeight: 65,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
column: [
|
column: [
|
||||||
// { width: '60', type: 'checkbox' },
|
// { width: '60', type: 'checkbox' },
|
||||||
{ field: 'orgName', title: '责任单位' },
|
{ field: 'orgName', title: '责任单位' },
|
||||||
{ field: 'planNo', title: '普测计划编号' },
|
{ field: 'planNo', title: '普测计划编号' },
|
||||||
{ field: 'planName', title: '普测计划名称' },
|
{ field: 'planName', title: '普测计划名称' },
|
||||||
{ field: 'planStartTime', title: '开始时间' },
|
{ field: 'planStartTime', title: '开始时间' },
|
||||||
{ field: 'planEndTime', title: '结束时间' },
|
{ field: 'planEndTime', title: '结束时间' },
|
||||||
{ field: 'subCount', title: '普测变电站数量' },
|
{ field: 'subCount', title: '普测变电站数量' },
|
||||||
{
|
{
|
||||||
field: 'isFileUpload',
|
field: 'isFileUpload',
|
||||||
title: '是否上传',
|
title: '是否上传',
|
||||||
render: 'tag',
|
render: 'tag',
|
||||||
custom: {
|
custom: {
|
||||||
0: 'warning',
|
0: 'warning',
|
||||||
1: 'success'
|
1: 'success'
|
||||||
},
|
},
|
||||||
replaceValue: {
|
replaceValue: {
|
||||||
0: '否',
|
0: '否',
|
||||||
1: '是'
|
1: '是'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: 'fileCount', title: '上传文件数量' },
|
{ field: 'fileCount', title: '上传文件数量' },
|
||||||
{ field: 'uploadTime', title: '上传时间' },
|
{ field: 'uploadTime', title: '上传时间' },
|
||||||
{
|
{
|
||||||
title: '操作文件',
|
title: '操作文件',
|
||||||
width: '180',
|
width: '180',
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
title: '上传',
|
title: '上传',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
icon: 'el-icon-Plus',
|
icon: 'el-icon-Plus',
|
||||||
render: 'basicButton',
|
render: 'basicButton',
|
||||||
click: row => {
|
click: row => {
|
||||||
planId.value = row.planNo
|
planId.value = row.planNo
|
||||||
addUpload.value = true
|
addUpload.value = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '查看',
|
title: '查看',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
icon: 'el-icon-EditPen',
|
icon: 'el-icon-EditPen',
|
||||||
disabled: row => {
|
disabled: row => {
|
||||||
return row.isFileUpload !== 1
|
return row.isFileUpload !== 1
|
||||||
},
|
},
|
||||||
render: 'basicButton',
|
render: 'basicButton',
|
||||||
click: row => {
|
click: row => {
|
||||||
surveyResultDownload({ planNo: row.planNo }).then(res => {
|
surveyResultDownload({ planNo: row.planNo }).then(res => {
|
||||||
uploadList.value = res.data
|
uploadList.value = res.data
|
||||||
dataShow.value = true
|
dataShow.value = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
beforeSearchFun: () => {
|
beforeSearchFun: () => {
|
||||||
tableStore.table.params.planStartTime = tableStore.table.params.searchBeginTime
|
tableStore.table.params.planStartTime = tableStore.table.params.searchBeginTime
|
||||||
tableStore.table.params.planEndTime = tableStore.table.params.searchEndTime
|
tableStore.table.params.planEndTime = tableStore.table.params.searchEndTime
|
||||||
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
|
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
|
||||||
tableStore.table.params.currentPage = tableStore.table.params.pageNum
|
tableStore.table.params.currentPage = tableStore.table.params.pageNum
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
tableStore.table.params.isFileUpload = ''
|
tableStore.table.params.isFileUpload = ''
|
||||||
|
|
||||||
const handleRemove = (e: any) => {
|
const handleRemove = (e: any) => {
|
||||||
fileList.value = fileList.value.filter((item: any) => item.uid !== e.uid)
|
fileList.value = fileList.value.filter((item: any) => item.uid !== e.uid)
|
||||||
}
|
}
|
||||||
const chooseBatch = (e: any) => {
|
const chooseBatch = (e: any) => {
|
||||||
fileList.value.push(e)
|
fileList.value.push(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 上传
|
// 上传
|
||||||
const BatchUpload = () => {
|
const BatchUpload = () => {
|
||||||
let form = new FormData()
|
let form = new FormData()
|
||||||
form.append('planId', planId.value)
|
form.append('planId', planId.value)
|
||||||
fileList.value.forEach((item: any) => {
|
fileList.value.forEach((item: any) => {
|
||||||
form.append('file', item.raw)
|
form.append('file', item.raw)
|
||||||
})
|
})
|
||||||
MultipartFile(form).then((res: any) => {
|
MultipartFile(form).then((res: any) => {
|
||||||
ElMessage.success('上传成功!')
|
ElMessage.success('上传成功!')
|
||||||
handleClose()
|
handleClose()
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
fileList.value = []
|
fileList.value = []
|
||||||
addUpload.value = false
|
addUpload.value = false
|
||||||
}
|
}
|
||||||
// 下载
|
// 下载
|
||||||
const downLownFn = async (row: any) => {
|
const downLownFn = async (row: any) => {
|
||||||
let response = await fetch(row.minFileUrl)
|
let response = await fetch(row.minFileUrl)
|
||||||
let blob = await response.blob()
|
let blob = await response.blob()
|
||||||
let a = document.createElement('a')
|
let a = document.createElement('a')
|
||||||
a.href = window.URL.createObjectURL(blob)
|
a.href = window.URL.createObjectURL(blob)
|
||||||
a.download = row.minFileName
|
a.download = row.minFileName
|
||||||
a.click()
|
a.click()
|
||||||
a.remove()
|
a.remove()
|
||||||
}
|
}
|
||||||
|
|
||||||
provide('tableStore', tableStore)
|
provide('tableStore', tableStore)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -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: '普测计划名称' },
|
||||||
|
|||||||
@@ -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="请选择监督类型">
|
||||||
|
|||||||
@@ -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="请选择监督类型">
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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="请选择干扰源类型">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -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="请选择流程状态">
|
||||||
|
|||||||
@@ -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: [
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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="请选择运行状态">
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|
||||||
|
|||||||
@@ -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="请选择运行状态">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<!---终端入网检测-->
|
<!---终端入网检测-->
|
||||||
<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
|
||||||
v-model='tableStore.table.params.searchValue'
|
v-model='tableStore.table.params.searchValue'
|
||||||
placeholder='输入变电站.终端名称'
|
placeholder='输入变电站.终端名称'
|
||||||
clearable
|
clearable
|
||||||
maxlength="32"
|
maxlength="32"
|
||||||
show-word-limit
|
show-word-limit
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -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="输入变电站、终端、监测点名称"
|
||||||
|
|||||||
@@ -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="输入变电站、终端、监测点名称"
|
||||||
|
|||||||
@@ -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="输入变电站、终端名称"
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
<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='筛选数据' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:operation>
|
<template v-slot:operation>
|
||||||
<el-button type='primary' @click='exportEvent' class='ml10' icon='el-icon-Download'>导出</el-button>
|
<el-button type='primary' @click='exportEvent' class='ml10' icon='el-icon-Download'>导出</el-button>
|
||||||
</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'>
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import { onMounted, provide, ref } from 'vue'
|
import { onMounted, provide, ref } from 'vue'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'admin/flowTask/mytask'
|
name: 'admin/flowTask/mytask'
|
||||||
})
|
})
|
||||||
|
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/process-boot/flowable/task/todoList',
|
url: '/process-boot/flowable/task/todoList',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
column: [
|
column: [
|
||||||
{ title: '序号', width: 80,formatter: (row: any) => {
|
{ title: '序号', width: 80,formatter: (row: any) => {
|
||||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||||
} },
|
} },
|
||||||
{ title: '流程名称', field: 'procDefName', width: 200 },
|
{ title: '流程名称', field: 'procDefName', width: 200 },
|
||||||
{ title: '流程类别', field: 'category', width: 200 },
|
{ title: '流程类别', field: 'category', width: 200 },
|
||||||
{ title: '流程版本', field: 'procDefVersion' },
|
{ title: '流程版本', field: 'procDefVersion' },
|
||||||
{ title: '提交时间', field: 'createTime' },
|
{ title: '提交时间', field: 'createTime' },
|
||||||
{
|
{
|
||||||
title: '流程状态', field: 'finishTime',
|
title: '流程状态', field: 'finishTime',
|
||||||
render: 'tag',
|
render: 'tag',
|
||||||
custom: {
|
custom: {
|
||||||
0: 'warning',
|
0: 'warning',
|
||||||
1: 'success'
|
1: 'success'
|
||||||
},
|
},
|
||||||
replaceValue: {
|
replaceValue: {
|
||||||
0: '进行中',
|
0: '进行中',
|
||||||
1: '已完成'
|
1: '已完成'
|
||||||
},
|
},
|
||||||
formatter(row: any) {
|
formatter(row: any) {
|
||||||
return row.finishTime == null ? '0' : '1'
|
return row.finishTime == null ? '0' : '1'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ title: '耗时', field: 'duration' },
|
{ title: '耗时', field: 'duration' },
|
||||||
{ title: '当前节点', field: 'taskName' },
|
{ title: '当前节点', field: 'taskName' },
|
||||||
{ title: '审核人', field: 'superiorsSubstation' }
|
{ title: '审核人', field: 'superiorsSubstation' }
|
||||||
],
|
],
|
||||||
beforeSearchFun: () => {
|
beforeSearchFun: () => {
|
||||||
tableStore.table.params.beginTime = tableStore.table.params.startTime
|
tableStore.table.params.beginTime = tableStore.table.params.startTime
|
||||||
tableStore.table.params.deptId = tableStore.table.params.deptIndex
|
tableStore.table.params.deptId = tableStore.table.params.deptIndex
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 加载数据
|
// 加载数据
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
})
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -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='流程名称' />
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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="输入关键字筛选" />-->
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -1,75 +1,75 @@
|
|||||||
<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>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<Table :isGroup="props.info.isGroup" ref="tableRef" />
|
<Table :isGroup="props.info.isGroup" ref="tableRef" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import { ref, onMounted, provide, nextTick } from 'vue'
|
import { ref, onMounted, provide, nextTick } from 'vue'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import createAxios from '@/utils/request'
|
import createAxios from '@/utils/request'
|
||||||
import { requestPayload } from '@/utils/request'
|
import { requestPayload } from '@/utils/request'
|
||||||
interface Props {
|
interface Props {
|
||||||
info: any
|
info: any
|
||||||
}
|
}
|
||||||
const props = withDefaults(defineProps<Props>(), {})
|
const props = withDefaults(defineProps<Props>(), {})
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: props.info.url,
|
url: props.info.url,
|
||||||
publicHeight: 62,
|
publicHeight: 62,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
column: props.info.column,
|
column: props.info.column,
|
||||||
|
|
||||||
loadCallback: () => {}
|
loadCallback: () => {}
|
||||||
})
|
})
|
||||||
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', [
|
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', [
|
||||||
'Report_Type',
|
'Report_Type',
|
||||||
'Manufacturer',
|
'Manufacturer',
|
||||||
'Voltage_Level',
|
'Voltage_Level',
|
||||||
'Load_Type'
|
'Load_Type'
|
||||||
])[0]
|
])[0]
|
||||||
tableStore.table.params.deptIndex = dictData.state.area[0].id
|
tableStore.table.params.deptIndex = dictData.state.area[0].id
|
||||||
tableStore.table.params.monitorFlag = 2
|
tableStore.table.params.monitorFlag = 2
|
||||||
tableStore.table.params.powerFlag = 2
|
tableStore.table.params.powerFlag = 2
|
||||||
tableStore.table.params.serverName = 'event-boot'
|
tableStore.table.params.serverName = 'event-boot'
|
||||||
tableStore.table.params.type = 0
|
tableStore.table.params.type = 0
|
||||||
provide('tableStore', tableStore)
|
provide('tableStore', tableStore)
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
})
|
})
|
||||||
// 导出
|
// 导出
|
||||||
const exportEvent = () => {
|
const exportEvent = () => {
|
||||||
let form = JSON.parse(JSON.stringify(tableStore.table.params))
|
let form = JSON.parse(JSON.stringify(tableStore.table.params))
|
||||||
form.pageNum = 1
|
form.pageNum = 1
|
||||||
form.pageSize = tableStore.table.total
|
form.pageSize = tableStore.table.total
|
||||||
createAxios(
|
createAxios(
|
||||||
Object.assign(
|
Object.assign(
|
||||||
{
|
{
|
||||||
url: props.info.url,
|
url: props.info.url,
|
||||||
method: 'post'
|
method: 'post'
|
||||||
},
|
},
|
||||||
requestPayload('POST', form)
|
requestPayload('POST', form)
|
||||||
)
|
)
|
||||||
).then(res => {
|
).then(res => {
|
||||||
tableRef.value.getRef().exportData({
|
tableRef.value.getRef().exportData({
|
||||||
filename: props.info.name, // 文件名字
|
filename: props.info.name, // 文件名字
|
||||||
sheetName: 'Sheet1',
|
sheetName: 'Sheet1',
|
||||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||||
useStyle: true,
|
useStyle: true,
|
||||||
data: res.data.records, // 数据源 // 过滤那个字段导出
|
data: res.data.records, // 数据源 // 过滤那个字段导出
|
||||||
columnFilterMethod: function (column: any) {
|
columnFilterMethod: function (column: any) {
|
||||||
return !(column.$columnIndex === 0)
|
return !(column.$columnIndex === 0)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -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'>
|
||||||
|
|||||||
@@ -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: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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'>
|
||||||
|
|||||||
@@ -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': '模式一',
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--进线管理界面-->
|
<!--进线管理界面-->
|
||||||
<template>
|
<template>
|
||||||
<div class='default-main unitButton'>
|
<div class='default-main unitButton'>
|
||||||
<TableHeader style='padding: 0 0 !important;'>
|
<TableHeader style='padding: 0 0 !important;' showCustomColumn>
|
||||||
<template v-slot:operation>
|
<template v-slot:operation>
|
||||||
<el-button type='primary' @click='add' class='ml10' :icon='Plus'>新增</el-button>
|
<el-button type='primary' @click='add' class='ml10' :icon='Plus'>新增</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user