Merge branch 'main' of http://192.168.1.22:3000/zcy/canneng-admin
This commit is contained in:
@@ -26,10 +26,9 @@ const tableStore: any = new TableStore({
|
|||||||
// { width: '60', type: 'checkbox', fixed: 'left' },
|
// { width: '60', type: 'checkbox', fixed: 'left' },
|
||||||
{ title: '序号', type: 'seq', width: 80 },
|
{ title: '序号', type: 'seq', width: 80 },
|
||||||
{ field: 'projectName', title: '工程名称', minWidth: 170 },
|
{ field: 'projectName', title: '工程名称', minWidth: 170 },
|
||||||
// { field: 'allCount', title: '数据总数(条)', minWidth: 170 },
|
{ field: 'successCount', title: '成功解析数', minWidth: 170 },
|
||||||
{ field: 'successCount', title: '已入库总数(条)', minWidth: 170 },
|
{ field: 'startTime', title: '导入开始时间', minWidth: 170 },
|
||||||
{ field: 'startTime', title: '起始时间', minWidth: 170 },
|
{ field: 'endTime', title: '导入结束时间', minWidth: 170 },
|
||||||
{ field: 'endTime', title: '结束时间', minWidth: 170 },
|
|
||||||
{
|
{
|
||||||
title: '解析状态',
|
title: '解析状态',
|
||||||
field: 'status',
|
field: 'status',
|
||||||
@@ -116,8 +115,5 @@ defineExpose({ open })
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep .el-dialog_body {
|
::v-deep .el-dialog_body {
|
||||||
overflow-y: hidden !important;
|
overflow-y: hidden !important;
|
||||||
.analysisTable {
|
|
||||||
height: 400px !important;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,8 +1,25 @@
|
|||||||
<!-- 解析列表 -->
|
<!-- 解析列表 -->
|
||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="dialogVisible" title="解析列表" width="70%" draggable @closed="close">
|
<el-dialog v-model="dialogVisible" title="详情" width="70%" draggable @closed="close">
|
||||||
<TableHeader date-picker></TableHeader>
|
<vxe-table
|
||||||
<Table ref="tableRef" />
|
border
|
||||||
|
auto-resize
|
||||||
|
:data="tableData"
|
||||||
|
v-bind="defaultAttribute"
|
||||||
|
>
|
||||||
|
<vxe-column field="name" align="center" title="文件名称"></vxe-column>
|
||||||
|
<vxe-column field="createTime" align="center" title="导入时间"></vxe-column>
|
||||||
|
<vxe-column field="allCount" align="center" title="数据总数(条)" width="120"></vxe-column>
|
||||||
|
<vxe-column field="realCount" align="center" title="已入库总数(条)" width="120"></vxe-column>
|
||||||
|
<vxe-column field="state" align="center" title="解析状态" width="100">
|
||||||
|
<template v-slot:default="scoped">
|
||||||
|
<el-tag type="warning" v-if="scoped.row.state == 0">未解析</el-tag>
|
||||||
|
<el-tag type="success" v-if="scoped.row.state == 1">解析成功</el-tag>
|
||||||
|
<el-tag type="danger" v-if="scoped.row.state == 2">解析失败</el-tag>
|
||||||
|
<el-tag type="primary" v-if="scoped.row.state == 3">文件不存在</el-tag>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
</vxe-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@@ -11,6 +28,7 @@ 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 { ArrowLeft } from '@element-plus/icons-vue'
|
import { ArrowLeft } from '@element-plus/icons-vue'
|
||||||
|
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||||
const emit = defineEmits(['back'])
|
const emit = defineEmits(['back'])
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
const height = ref(0)
|
const height = ref(0)
|
||||||
@@ -19,17 +37,17 @@ height.value = window.innerHeight < 1080 ? 230 : 450
|
|||||||
const tableStore: any = new TableStore({
|
const tableStore: any = new TableStore({
|
||||||
url: '',
|
url: '',
|
||||||
publicHeight: height.value,
|
publicHeight: height.value,
|
||||||
|
showPage: false,
|
||||||
column: [
|
column: [
|
||||||
{ width: '60', type: 'checkbox', fixed: 'left' },
|
{ width: '60', type: 'checkbox', fixed: 'left' },
|
||||||
{ title: '序号', type: 'seq', width: 80 },
|
{ title: '序号', type: 'seq', width: 80 },
|
||||||
{ field: 'projectName', title: '工程名称', minWidth: 170 },
|
{ field: 'name', title: '文件名称', minWidth: 170 },
|
||||||
|
{ field: 'createTime', title: '导入时间', minWidth: 170 },
|
||||||
{ field: 'allCount', title: '数据总数(条)', minWidth: 170 },
|
{ field: 'allCount', title: '数据总数(条)', minWidth: 170 },
|
||||||
{ field: 'successCount', title: '已入库总数(条)', minWidth: 170 },
|
{ field: 'realCount', title: '已入库总数(条)', minWidth: 170 },
|
||||||
{ field: 'startTime', title: '起始时间', minWidth: 170 },
|
|
||||||
{ field: 'endTime', title: '结束时间', minWidth: 170 },
|
|
||||||
{
|
{
|
||||||
title: '解析状态',
|
title: '解析状态',
|
||||||
field: 'status',
|
field: 'state',
|
||||||
width: 100,
|
width: 100,
|
||||||
render: 'tag',
|
render: 'tag',
|
||||||
custom: {
|
custom: {
|
||||||
@@ -70,14 +88,14 @@ const tableStore: any = new TableStore({
|
|||||||
tableStore.table.data = []
|
tableStore.table.data = []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
provide('tableStore', tableStore)
|
|
||||||
//返回
|
//返回
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
emit('back')
|
emit('back')
|
||||||
}
|
}
|
||||||
|
const tableData: any = ref()
|
||||||
const open = (val: any) => {
|
const open = (val: any) => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
tableStore.table.data = val
|
tableData.value = val
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
}, 10)
|
}, 10)
|
||||||
|
|||||||
@@ -21,80 +21,6 @@
|
|||||||
<div class="right_charts"><MyEchart ref="pieChart6" :options="echartsDataA3"></MyEchart></div>
|
<div class="right_charts"><MyEchart ref="pieChart6" :options="echartsDataA3"></MyEchart></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="view_bot" style="display: none">
|
|
||||||
<div class="view_bot_tables">
|
|
||||||
<!-- 表格数据 -->
|
|
||||||
<div v-if="tableData.length != 0">
|
|
||||||
<!-- div设计table -->
|
|
||||||
<div class="table_container">
|
|
||||||
<div class="table" v-for="(item, index) in columnsDataTop" :key="index">
|
|
||||||
<div class="table_info">
|
|
||||||
<!-- 单层表头 -->
|
|
||||||
<div class="thead">
|
|
||||||
<div class="thead_top">
|
|
||||||
{{ item[0].showName ? item[0].showName : '' }}({{ item[0].unit }})
|
|
||||||
</div>
|
|
||||||
<div class="thead_bot">
|
|
||||||
<div class="thead_bot_cell" v-for="(vv, key) in item" :key="key">
|
|
||||||
{{ vv.phase == 'M' ? '' : vv.phase + '相 ' }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 有合并表头的数据 -->
|
|
||||||
<div class="tbody">
|
|
||||||
<div class="tbody_cell" v-for="(vv, key) in item" :key="key">
|
|
||||||
{{
|
|
||||||
tableData.find(item => {
|
|
||||||
return item.anotherName == vv.showName && item.phase == vv.phase
|
|
||||||
})?.statisticalData
|
|
||||||
? tableData.find(item => {
|
|
||||||
return item.anotherName == vv.showName && item.phase == vv.phase
|
|
||||||
})?.statisticalData
|
|
||||||
: '/'
|
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="table_container">
|
|
||||||
<div class="table" v-for="(item, index) in columnsDataBot" :key="index">
|
|
||||||
<div class="table_info">
|
|
||||||
<!-- 单层表头 -->
|
|
||||||
<div class="thead">
|
|
||||||
<div class="thead_top">
|
|
||||||
{{ item[0].showName ? item[0].showName : '' }}({{ item[0].unit }})
|
|
||||||
</div>
|
|
||||||
<div class="thead_bot">
|
|
||||||
<div class="thead_bot_cell" v-for="(vv, key) in item" :key="key">
|
|
||||||
{{ vv.phase == 'M' ? '' : vv.phase + '相 ' }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 有合并表头的数据 -->
|
|
||||||
<div class="tbody">
|
|
||||||
<div class="tbody_cell" v-for="(vv, key) in item" :key="key">
|
|
||||||
{{
|
|
||||||
tableData.find((item: any) => {
|
|
||||||
return item.anotherName == vv.showName && item.phase == vv.phase
|
|
||||||
})?.statisticalData
|
|
||||||
? tableData.find((item: any) => {
|
|
||||||
return item.anotherName == vv.showName && item.phase == vv.phase
|
|
||||||
})?.statisticalData
|
|
||||||
: '/'
|
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else style="border: 1px solid #eee">
|
|
||||||
<el-empty description="暂无数据" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="view_bot">
|
<div class="view_bot">
|
||||||
<vxe-table
|
<vxe-table
|
||||||
border
|
border
|
||||||
@@ -663,9 +589,9 @@ onMounted(() => {
|
|||||||
.view {
|
.view {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding-bottom: 200px;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow: auto;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
.view_top {
|
.view_top {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
@@ -718,6 +644,10 @@ onMounted(() => {
|
|||||||
.view_bot {
|
.view_bot {
|
||||||
min-height: 300px;
|
min-height: 300px;
|
||||||
margin: 10px 0 20px 0;
|
margin: 10px 0 20px 0;
|
||||||
|
overflow: auto !important;
|
||||||
|
flex: 1 !important;
|
||||||
|
padding-bottom: 200px !important;
|
||||||
|
box-sizing: border-box !important;
|
||||||
.view_bot_tables {
|
.view_bot_tables {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
height: auto;
|
height: auto;
|
||||||
|
|||||||
@@ -440,6 +440,9 @@ defineExpose({ open })
|
|||||||
|
|
||||||
.el-cascader-menu__list {
|
.el-cascader-menu__list {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
|
overflow-y: auto !important;
|
||||||
|
padding-bottom: 50px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user