二级列表初步绘制

This commit is contained in:
BianLzhaoMin 2025-03-21 16:38:15 +08:00
parent 524ddc0a4e
commit 9bb9a57f90
4 changed files with 180 additions and 83 deletions

View File

@ -1,5 +1,5 @@
<template>
<div class="card-model" :style="{ backgroundColor: theme }">
<div class="card-model" :style="{ backgroundColor: theme }" @click="onHandleViewDetails">
<div class="f-14">
<svg-icon :icon-class="iconType" class="icon-box" />
{{ cardTitle }}
@ -25,7 +25,7 @@ export default {
//
cardTitle: {
type: String,
default: '标题'
default: ''
},
//
iconType: {
@ -37,6 +37,14 @@ export default {
type: Boolean,
default: true
}
},
methods: {
onHandleViewDetails() {
console.log('查询二级页面', this.cardTitle)
// 使
this.$emit('onOpenLevelTwoPages', this.cardTitle)
}
}
}
</script>

View File

@ -3,8 +3,7 @@
<div class="chart-title">{{ chartTitle }}</div>
<div class="chart-content">
<!-- <PieChart /> -->
<component :is="ChartTypeName" />
<component :is="ChartTypeName" :chartData="chartData" />
</div>
</div>
</template>
@ -30,6 +29,11 @@ export default {
type: String,
default: 'PieChart'
}
},
data() {
return {
chartData: {}
}
}
}
</script>

View File

@ -0,0 +1,44 @@
<template>
<div class="table-container">
<PageHeader :pageContent="levelTwoTitle" @goBack="goBack" />
<el-table>
<el-table-column type="index" width="55" />
<el-table-column align="center" label="占位1" prop="maCode" />
<el-table-column align="center" label="占位2" prop="maCode" />
<el-table-column align="center" label="占位3" prop="maCode" />
<el-table-column align="center" label="占位4" prop="maCode" />
<el-table-column align="center" label="占位5" prop="maCode" />
<el-table-column align="center" label="占位6" prop="maCode" />
<el-table-column align="center" label="占位7" prop="maCode" />
<el-table-column align="center" label="占位8" prop="maCode" />
</el-table>
</div>
</template>
<script>
import PageHeader from '@/components/pageHeader'
export default {
components: {
PageHeader
},
props: {
levelTwoTitle: {
type: String,
default: '详情'
}
},
data() {
return {}
},
methods: {
goBack() {
this.$emit('onCloseLevelTwoPages')
}
}
}
</script>
<style lang="scss" scoped>
.table-container {
}
</style>

View File

@ -1,104 +1,135 @@
<template>
<div class="app-container">
<!-- 机具供应展示 -->
<el-form size="small" :model="queryParams">
<el-row>
<el-col :span="6">
<el-form-item>
<el-date-picker
v-model="queryDate"
type="monthrange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-M"
<template v-if="!isHome">
<!-- 机具供应展示 -->
<el-form size="small" :model="queryParams" ref="queryFormRef">
<el-row>
<el-col :span="6">
<el-form-item>
<el-date-picker
v-model="queryDate"
type="monthrange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-M"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="company">
<el-select
clearable
filterable
style="width: 95%"
placeholder="选择公司"
v-model="queryParams.company"
>
<el-option label="全部" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="project">
<el-select
clearable
filterable
style="width: 95%"
placeholder="选择工程"
v-model="queryParams.project"
>
<el-option label="全部" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onHandleSearch">查询</el-button>
<el-button icon="el-icon-refresh" @click="onHandleReset">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 卡片区域 -->
<div class="card-box">
<div class="title">需求供应</div>
<div class="card-box-content-1">
<div v-for="(card, index) in cardList_1" :key="index">
<CardModel
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
:isReduce="card.isReduce"
@onOpenLevelTwoPages="onOpenLevelTwoPages"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-select placeholder="选择公司" style="width: 95%">
<el-option label="全部" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-select placeholder="选择工程" style="width: 95%">
<el-option label="全部" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onHandleSearch">查询</el-button>
<el-button icon="el-icon-refresh" @click="onHandleReset">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 卡片区域 -->
<div class="card-box">
<div class="title">需求供应</div>
<div class="card-box-content-1">
<div v-for="(card, index) in cardList_1" :key="index">
<CardModel
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
:isReduce="card.isReduce"
/>
</div>
<div class="card-box-space-last">
<CardModelSpace
:key="index"
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
v-for="(card, index) in cardList_3"
/>
</div>
<div class="card-box-space-last">
<CardModelSpace
:key="index"
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
v-for="(card, index) in cardList_3"
/>
</div>
</div>
</div>
</div>
<div class="card-box">
<div class="title">仓储状态</div>
<div class="card-box-content">
<div v-for="(card, index) in cardList_2" :key="index">
<CardModel
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
:isReduce="card.isReduce"
/>
<div class="card-box">
<div class="title">仓储状态</div>
<div class="card-box-content">
<div v-for="(card, index) in cardList_2" :key="index">
<CardModel
:theme="card.theme"
:cardTitle="card.title"
:iconType="card.icon"
:isReduce="card.isReduce"
@onOpenLevelTwoPages="onOpenLevelTwoPages"
/>
</div>
</div>
</div>
</div>
<!-- 图表区域 -->
<!-- 图表区域 -->
<div class="chart-box">
<div :key="index" v-for="(chart, index) in chartList">
<ChartModelBox :chartTitle="chart.title" :ChartTypeName="chart.type" />
<div class="chart-box">
<div :key="index" v-for="(chart, index) in chartList">
<ChartModelBox :chartTitle="chart.title" :ChartTypeName="chart.type" />
</div>
</div>
</div>
</template>
<template v-else>
<TableModel @onCloseLevelTwoPages="onCloseLevelTwoPages" :levelTwoTitle="levelTwoTitle" />
</template>
</div>
</template>
<script>
import CardModel from './components/card-model'
import CardModelSpace from './components/card-model-space'
import ChartModelBox from './components/chart-model-box'
import CardModel from './components/card-model' //
import CardModelSpace from './components/card-model-space' //
import ChartModelBox from './components/chart-model-box' //
import TableModel from './components/table-model' //
export default {
components: {
CardModel,
CardModelSpace,
ChartModelBox
ChartModelBox,
TableModel
},
data() {
return {
//
isHome: false,
//
levelTwoTitle: '',
//
queryParams: {},
queryParams: {
startTime: '',
endTime: '',
company: '',
project: ''
},
//
queryDate: [],
cardList_1: [
@ -198,6 +229,16 @@ export default {
//
onHandleReset() {
this.queryDate = []
this.$refs.queryFormRef.resetFields()
},
//
onOpenLevelTwoPages(title) {
this.levelTwoTitle = title
this.isHome = true
},
//
onCloseLevelTwoPages() {
this.isHome = false
}
}
}