|
@@ -13,11 +13,14 @@
|
|
<div class="hc-datav-search-select hc-flex w-full">
|
|
<div class="hc-datav-search-select hc-flex w-full">
|
|
<div ref="searchRef" class="relative">
|
|
<div ref="searchRef" class="relative">
|
|
<HcDatavSelect v-model="searchForm.year" :datas="yearArr" />
|
|
<HcDatavSelect v-model="searchForm.year" :datas="yearArr" />
|
|
- <HcDatavSelect v-model="searchForm.quarter" :datas="quarterArr" />
|
|
|
|
- <HcDatavSelect v-model="searchForm.level" :datas="levelArr" />
|
|
|
|
- <HcDatavSelect v-model="searchForm.stage" :datas="stageArr" />
|
|
|
|
- <HcDatavSelect v-model="searchForm.type" :datas="typeArr" />
|
|
|
|
|
|
+ <HcDatavSelect v-model="pageType" :datas="pageTypeArr" :clearable="false" @change="pageTypeChange" />
|
|
|
|
+ <HcDatavSelect v-model="searchForm.month" :datas="monthArr" placeholder="选择月份" />
|
|
|
|
+ <HcDatavSelect v-model="searchForm.lag" :datas="lagArr" />
|
|
|
|
+ <HcDatavSelect v-model="searchForm.level" :datas="levelArr" placeholder="滞后等级" />
|
|
|
|
+ <HcDatavSelect v-model="searchForm.stage" :datas="stageArr" placeholder="项目阶段" />
|
|
|
|
+ <HcDatavSelect v-model="searchForm.type" :datas="typeArr" placeholder="项目类型" />
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="date flex-1">截止时间:2024年04月08日</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hc-datav-total relative p-[14px]">
|
|
<div class="hc-datav-total relative p-[14px]">
|
|
@@ -29,10 +32,15 @@
|
|
<HcDatavCard title="计划总投资额" num="1590" unit="亿" color="#EEB500" />
|
|
<HcDatavCard title="计划总投资额" num="1590" unit="亿" color="#EEB500" />
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
- <HcDatavCard title="目前实际完成投资额" num="590" unit="亿" color="#0DD70C" />
|
|
|
|
|
|
+ <HcDatavCard num="590" unit="亿" color="#0DD70C">
|
|
|
|
+ <template #title>
|
|
|
|
+ <span style="color: #FE0301;">目前</span>
|
|
|
|
+ <span>实际完成投资额</span>
|
|
|
|
+ </template>
|
|
|
|
+ </HcDatavCard>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
- <HcDatavCard title="未完成投资额" num="1000" unit="亿" color="#FF0000" />
|
|
|
|
|
|
+ <HcDatavCard title="投资完成比例" num="58" unit="%" color="#1DC98B" />
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
@@ -110,7 +118,17 @@
|
|
</div>
|
|
</div>
|
|
<div class="hc-datav-divider" />
|
|
<div class="hc-datav-divider" />
|
|
<div class="hc-datav-table relative">
|
|
<div class="hc-datav-table relative">
|
|
- <HcDatavTable1 :datas="tableData1" />
|
|
|
|
|
|
+ <HcDatavTable :column="tableColumn1" :datas="tableData1" is-current @row-click="tableRowClick">
|
|
|
|
+ <template #key3="{ row }">
|
|
|
|
+ <span style="color: #06A3FF;" class="font-bold">{{ row.key3 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #key4="{ row }">
|
|
|
|
+ <span style="color: #10C90F;" class="font-bold">{{ row.key4 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #key5="{ row }">
|
|
|
|
+ <span style="color: #D7A70D;" class="font-bold">{{ row.key5 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </HcDatavTable>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -132,7 +150,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hc-datav-row-line relative">
|
|
<div class="hc-datav-row-line relative">
|
|
- <div class="title">项目进度趋势</div>
|
|
|
|
|
|
+ <div class="title">项目数据</div>
|
|
<div class="hc-full relative">
|
|
<div class="hc-full relative">
|
|
<HcDatavCharts />
|
|
<HcDatavCharts />
|
|
</div>
|
|
</div>
|
|
@@ -204,7 +222,17 @@
|
|
</div>
|
|
</div>
|
|
<div class="hc-datav-divider" />
|
|
<div class="hc-datav-divider" />
|
|
<div class="hc-datav-table relative">
|
|
<div class="hc-datav-table relative">
|
|
- <HcDatavTable2 :datas="tableData2" />
|
|
|
|
|
|
+ <HcDatavTable :column="tableColumn2" :datas="tableData2">
|
|
|
|
+ <template #key3="{ row }">
|
|
|
|
+ <span style="color: #D8A70F;" class="font-bold">{{ row.key3 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #key4="{ row }">
|
|
|
|
+ <span style="color: #0BD70E;" class="font-bold">{{ row.key4 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #key5="{ row }">
|
|
|
|
+ <span style="color: #FF0000;" class="font-bold">{{ row.key5 }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </HcDatavTable>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -226,8 +254,7 @@ import bgPng from '~src/assets/images/datav-bg.png'
|
|
import png2 from '~src/assets/images/datav-2.png'
|
|
import png2 from '~src/assets/images/datav-2.png'
|
|
import HcDatavSelect from './modules/select.vue'
|
|
import HcDatavSelect from './modules/select.vue'
|
|
import HcDatavCard from './modules/card.vue'
|
|
import HcDatavCard from './modules/card.vue'
|
|
-import HcDatavTable1 from './modules/table1.vue'
|
|
|
|
-import HcDatavTable2 from './modules/table2.vue'
|
|
|
|
|
|
+import HcDatavTable from './modules/table.vue'
|
|
import HcDatavCharts from './modules/charts.vue'
|
|
import HcDatavCharts from './modules/charts.vue'
|
|
import { isNullES } from 'js-fast-way'
|
|
import { isNullES } from 'js-fast-way'
|
|
|
|
|
|
@@ -250,6 +277,13 @@ onMounted(() => {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
onWindowResize()
|
|
onWindowResize()
|
|
}, 100)
|
|
}, 100)
|
|
|
|
+
|
|
|
|
+ //生成月份
|
|
|
|
+ let newMonthArr = [{ id: 0, name: '所有' }]
|
|
|
|
+ for (let i = 0; i < 12; i++) {
|
|
|
|
+ newMonthArr.push({ id: i + 1, name: `${i + 1}月` })
|
|
|
|
+ }
|
|
|
|
+ monthArr.value = newMonthArr
|
|
})
|
|
})
|
|
|
|
|
|
//关闭引导提示
|
|
//关闭引导提示
|
|
@@ -259,14 +293,27 @@ const tourFinishClose = () => {
|
|
}
|
|
}
|
|
|
|
|
|
//搜索表单
|
|
//搜索表单
|
|
-const searchForm = ref({ year: '2024', quarter: '1', level: '0', stage: '1', type: '1' })
|
|
|
|
|
|
+const pageType = ref('1')
|
|
|
|
+const searchForm = ref({ year: '2024', month: 0, level: '0', stage: '1', type: '1' })
|
|
const yearArr = [{ id: '2024', name: '2024年' }, { id: '2023', name: '2023年' }, { id: '2022', name: '2022年' }]
|
|
const yearArr = [{ id: '2024', name: '2024年' }, { id: '2023', name: '2023年' }, { id: '2022', name: '2022年' }]
|
|
-const quarterArr = [{ id: '1', name: '一季度' }, { id: '2', name: '二季度' }, { id: '3', name: '三季度' }, { id: '4', name: '四季度' }, { id: '0', name: '所有' }]
|
|
|
|
|
|
+const pageTypeArr = [{ id: '1', name: '项目数据看板' }, { id: '2', name: '工作要点' }]
|
|
|
|
+const monthArr = ref([])
|
|
|
|
+const lagArr = [{ id: '1', name: '超进度项目' }, { id: '2', name: '常规项目' }, { id: '3', name: '滞后项目' }, { id: '0', name: '所有' }]
|
|
const levelArr = [{ id: '1', name: '一级' }, { id: '2', name: '二级' }, { id: '3', name: '三级' }, { id: '0', name: '所有' }]
|
|
const levelArr = [{ id: '1', name: '一级' }, { id: '2', name: '二级' }, { id: '3', name: '三级' }, { id: '0', name: '所有' }]
|
|
const stageArr = [{ id: '1', name: '项目阶段' }, { id: '2', name: '在建项目' }, { id: '3', name: '新开工项目' }, { id: '4', name: '建成项目' }]
|
|
const stageArr = [{ id: '1', name: '项目阶段' }, { id: '2', name: '在建项目' }, { id: '3', name: '新开工项目' }, { id: '4', name: '建成项目' }]
|
|
const typeArr = [{ id: '1', name: '公路' }, { id: '2', name: '水利' }, { id: '3', name: '房建' }, { id: '4', name: '铁路' }]
|
|
const typeArr = [{ id: '1', name: '公路' }, { id: '2', name: '水利' }, { id: '3', name: '房建' }, { id: '4', name: '铁路' }]
|
|
|
|
|
|
|
|
+//页面类型改变
|
|
|
|
+const pageTypeChange = () => {
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
//表格1
|
|
//表格1
|
|
|
|
+const tableColumn1 = [
|
|
|
|
+ { key: 'key1', name: '项目阶段' }, { key: 'key2', name: '项目类型' },
|
|
|
|
+ { key: 'key3', name: '计划总投资' }, { key: 'key4', name: '实际已投资' },
|
|
|
|
+ { key: 'key5', name: '未完成投资' },
|
|
|
|
+]
|
|
const tableData1 = ref([
|
|
const tableData1 = ref([
|
|
{ key1: '在建项目', key2: '铁路', key3: '12000', key4: '12000', key5: 2000 },
|
|
{ key1: '在建项目', key2: '铁路', key3: '12000', key4: '12000', key5: 2000 },
|
|
{ key1: '在建项目', key2: '民航', key3: '12000', key4: '12000', key5: 2000 },
|
|
{ key1: '在建项目', key2: '民航', key3: '12000', key4: '12000', key5: 2000 },
|
|
@@ -285,7 +332,17 @@ const tableData1 = ref([
|
|
{ key1: '在建项目', key2: 'xx', key3: '12000', key4: '12000', key5: 2000 },
|
|
{ key1: '在建项目', key2: 'xx', key3: '12000', key4: '12000', key5: 2000 },
|
|
])
|
|
])
|
|
|
|
|
|
|
|
+//表格被点击
|
|
|
|
+const tableRowClick = (row) => {
|
|
|
|
+ console.log(row)
|
|
|
|
+}
|
|
|
|
+
|
|
//表格2
|
|
//表格2
|
|
|
|
+const tableColumn2 = [
|
|
|
|
+ { key: 'key1', name: '项目阶段' }, { key: 'key2', name: '项目类型' },
|
|
|
|
+ { key: 'key3', name: '项目数' }, { key: 'key4', name: '已完成项目数' },
|
|
|
|
+ { key: 'key5', name: '未完成项目数' },
|
|
|
|
+]
|
|
const tableData2 = ref([
|
|
const tableData2 = ref([
|
|
{ key1: '在建项目', key2: '铁路', key3: '12', key4: '12', key5: 12, key6: 12 },
|
|
{ key1: '在建项目', key2: '铁路', key3: '12', key4: '12', key5: 12, key6: 12 },
|
|
{ key1: '在建项目', key2: '民航', key3: '12', key4: '12', key5: 12, key6: 12 },
|
|
{ key1: '在建项目', key2: '民航', key3: '12', key4: '12', key5: 12, key6: 12 },
|