提交 c723ba1b authored 作者: lidongxu's avatar lidongxu

refactor(prd_tag): 商品标签_样式重写

同上
上级 3dfe7d6d
...@@ -131,6 +131,7 @@ aside { ...@@ -131,6 +131,7 @@ aside {
padding: 20px; padding: 20px;
>div{ >div{
width: 100%; width: 100%;
padding: 20px;
} }
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<div class="scroll" <div class="scroll"
:class="{ 'row_gap': customOptions.rowGap }"> :class="{ 'row_gap': customOptions.rowGap }">
<el-tree :data="options" <el-tree :data="options"
v-loading="loading" v-loading="customOptions.loading"
:props="defaultProps" :props="defaultProps"
:expand-on-click-node="false" :expand-on-click-node="false"
:filter-node-method="filterNode" :filter-node-method="filterNode"
...@@ -35,10 +35,14 @@ ...@@ -35,10 +35,14 @@
<span v-if="customOptions.showTool" <span v-if="customOptions.showTool"
class="edit_del"> class="edit_del">
<span style="margin-right: 10px;">创建人:{{ data.createBy }}</span> <span style="margin-right: 10px;">创建人:{{ data.createBy }}</span>
<i class="el-icon-edit" <el-icon class="el-icon-edit"
@click.stop="$emit('flodEdit', data)"></i> @click.stop="$emit('flodEdit', data)">
<i class="el-icon-delete" <Edit />
@click.stop="$emit('flodDel', data)"></i> </el-icon>
<el-icon class="el-icon-delete"
@click.stop="$emit('flodDel', data)">
<Delete />
</el-icon>
</span> </span>
</template> </template>
</el-tree> </el-tree>
...@@ -92,13 +96,9 @@ const props = defineProps({ ...@@ -92,13 +96,9 @@ const props = defineProps({
type: String, type: String,
default: '搜索关键字' default: '搜索关键字'
}, },
// 加载状态
loading: {
type: Boolean,
default: false
},
// 选中某行数据对象 // 选中某行数据对象
value: { modelValue: {
type: [Number, String], type: [Number, String],
default: '' default: ''
}, },
...@@ -120,7 +120,9 @@ const props = defineProps({ ...@@ -120,7 +120,9 @@ const props = defineProps({
// 底部分页是否显示 // 底部分页是否显示
showPagination: false, showPagination: false,
// 分页数据总条数 // 分页数据总条数
total: 0 total: 0,
// 加载状态
loading: false
}) })
} }
}) })
...@@ -153,7 +155,7 @@ watch(searchValue, (val) => { ...@@ -153,7 +155,7 @@ watch(searchValue, (val) => {
}) })
// 如果有 v-model 则设置默认选中值 // 如果有 v-model 则设置默认选中值
watch(() => props.value, (val) => { watch(() => props.modelValue, (val) => {
if (val) { if (val) {
nextTick(() => { nextTick(() => {
treeRef.value.setCurrentKey(val) treeRef.value.setCurrentKey(val)
...@@ -203,61 +205,71 @@ const getPageList = () => { ...@@ -203,61 +205,71 @@ const getPageList = () => {
.el-col { .el-col {
padding: 0 !important; padding: 0 !important;
height: 100%; height: 100%;
display: flex;
flex-direction: column;
transition: all .3s;
position: relative;
.content { .content {
height: 100%; height: 100%;
display: flex;
flex-direction: column;
border-right: 1px solid rgb(208, 208, 208);
/* 按钮集合 */
.buttons_wrap { .buttons_wrap {
padding-right: 10px; display: flex;
gap: 50px;
margin-bottom: 20px;
} }
.scroll {
flex: 1;
overflow-y: scroll;
/* 灰色滚动条背景 */
&::-webkit-scrollbar-track {
background-color: transparent;
} }
} }
.el-tree{ /* 向左折叠的箭头 */
font-size: var(--xl-fontsize); .arrow {
right: -5px;
} }
.buttons_wrap {
::v-deep(.custom-tree-node) {
width: 100%;
padding-right: 20px; padding-right: 20px;
font-size: 14px; }
.edit_del { .edit_del {
float: right; padding-right: 10px;
margin-left: auto;
font-size: calc(var(--xl-fontsize));
display: flex;
align-items: center;
i { i {
margin-right: 5px; margin-right: 10px;
font-size: 13px;
}
} }
} }
/* 间距放大 */ .scroll {
::v-deep(.row_gap .el-tree-node .el-tree-node__content) { display: flex;
padding: 10px 0; flex-direction: column;
height: auto;
}
/* el-tree 取消选中时背景还有个颜色去掉 */ .el-tree {
::v-deep(.el-tree-node:focus>.el-tree-node__content) { flex: 1;
background-color: transparent; font-size: var(--xl-fontsize);
} }
/* el-tree 选中时的背景色设置 */ .pagination-container {
::v-deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) { position: sticky;
background-color: #edf6ff !important; bottom: 10px;
margin-top: auto;
}
} }
::v-deep .el-input--small {
padding-right: 10px;
} }
.el-col {
display: flex;
flex-direction: column;
transition: all .3s;
position: relative;
.arrow { .arrow {
position: absolute; position: absolute;
...@@ -273,39 +285,34 @@ const getPageList = () => { ...@@ -273,39 +285,34 @@ const getPageList = () => {
background-color: white; background-color: white;
z-index: 2; z-index: 2;
} }
.content {
height: 100%;
display: flex;
flex-direction: column;
/* 按钮集合 */
.buttons_wrap {
display: flex;
gap: 50px;
margin-bottom: 20px;
} }
.scroll {
flex: 1;
overflow-y: scroll;
/* 灰色滚动条背景 */
&::-webkit-scrollbar-track { ::v-deep(.custom-tree-node) {
background-color: transparent; width: 100%;
} padding-right: 20px;
font-size: 14px;
} }
/* 向左折叠的箭头 */ /* 间距放大 */
.arrow { ::v-deep(.row_gap .el-tree-node .el-tree-node__content) {
right: -5px; padding: 10px 0;
height: auto;
} }
& { /* el-tree 取消选中时背景还有个颜色去掉 */
border-right: 1px solid rgb(208, 208, 208); ::v-deep(.el-tree-node:focus>.el-tree-node__content) {
background-color: transparent;
} }
/* el-tree 选中时的背景色设置 */
::v-deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) {
background-color: #edf6ff !important;
} }
::v-deep(.el-input--small) {
padding-right: 10px;
} }
::v-deep(.el-input__suffix:last-of-type) { ::v-deep(.el-input__suffix:last-of-type) {
......
...@@ -33,7 +33,6 @@ provide('activeName', activeName); ...@@ -33,7 +33,6 @@ provide('activeName', activeName);
.tabs { .tabs {
background: var(--el-bg-color-overlay); background: var(--el-bg-color-overlay);
padding: 20px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-row :gutter="20" <el-row :gutter="20" class="client-fix-height">
class="row">
<!--商品分类--> <!--商品分类-->
<category-tree :options="tagsOptions" <category-tree :options="tagsOptions"
:defaultProps="defaultProps" :defaultProps="defaultProps"
:nodeKey="nodeKey" :nodeKey="nodeKey"
placeholder="搜索商品集合标签" placeholder="搜索商品集合标签"
v-model="queryParams.prdTagId" v-model="queryParams.prdTagId"
@search="handleQuery"
:colSpan="14" :colSpan="14"
:rowGap="true" :rowGap="true"
showEditDel :customOptions="{
showTool: true,
showIcon: true,
rowGap: 10,
showPagination: true,
total: tagTotal,
loading: flodLoading
}"
@flodEdit="handleFlodEdit" @flodEdit="handleFlodEdit"
@flodDel="handleFlodDel" @flodDel="handleFlodDel"
:loading="flodLoading" @search="handleQuery"
:showIcon="true"
:isPagination="true"
:total="tagTotal"
@pageChange="getSeriesGoodsTagList"> @pageChange="getSeriesGoodsTagList">
<template #buttons> <template #buttons>
<el-button type="primary" <el-button type="primary"
plain icon="Plus"
icon="el-icon-plus"
size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['gen:info:add']">新增</el-button> v-hasPermi="['gen:info:add']">新增</el-button>
</template> </template>
...@@ -36,13 +36,14 @@ ...@@ -36,13 +36,14 @@
<el-table-column label="商品编码" <el-table-column label="商品编码"
prop="prdCode" /> prop="prdCode" />
<el-table-column label="商品名称" <el-table-column label="商品名称"
width="300"
prop="prdName" /> prop="prdName" />
<el-table-column label="系列名称" <el-table-column label="系列名称"
prop="series" /> prop="series" />
</el-table> </el-table>
<!-- 添加或修改商品-标签详情对话框 --> <!-- 添加或修改商品-标签详情对话框 -->
<el-dialog :title="title" <el-dialog :title="title"
v-model:visible="open" v-model="open"
append-to-body> append-to-body>
<el-form ref="formRef" <el-form ref="formRef"
:model="form" :model="form"
...@@ -92,7 +93,7 @@ const defaultProps = reactive({ ...@@ -92,7 +93,7 @@ const defaultProps = reactive({
}); });
const nodeKey = 'prdTagId'; const nodeKey = 'prdTagId';
// 查询参数 // 查询参数
const queryParams = ref({ const queryParams = reactive({
prdTagId: null prdTagId: null
}); });
// 右侧-商品列表 // 右侧-商品列表
...@@ -160,15 +161,16 @@ const getSeriesList = async () => { ...@@ -160,15 +161,16 @@ const getSeriesList = async () => {
}; };
// 获取商品-标签集合列表 // 获取商品-标签集合列表
const getSeriesGoodsTagList = async (queryParams = { pageNum: 1, pageSize: 10 }) => { const getSeriesGoodsTagList = async (params = { pageNum: 1, pageSize: 10 }) => {
const { data: { total, rows } } = await getSeriesGoodsTagListAPI({ const { data: { total, rows } } = await getSeriesGoodsTagListAPI({
...queryParams, ...params,
tagNameLike: queryParams.searchKey tagNameLike: params.searchKey
}); });
tagTotal.value = total; tagTotal.value = total;
tagsOptions.value = rows; tagsOptions.value = rows;
// 获取商品-标签指定第一个详情 // 获取商品-标签指定第一个详情
queryParams.prdTagId = rows[0]?.prdTagId; queryParams.prdTagId = rows[0].prdTagId;
getTagDetailsList(); getTagDetailsList();
}; };
...@@ -176,7 +178,7 @@ const getSeriesGoodsTagList = async (queryParams = { pageNum: 1, pageSize: 10 }) ...@@ -176,7 +178,7 @@ const getSeriesGoodsTagList = async (queryParams = { pageNum: 1, pageSize: 10 })
const getTagDetailsList = async () => { const getTagDetailsList = async () => {
loading.value = true; loading.value = true;
const response = await getPrdTagDetailAPI({ const response = await getPrdTagDetailAPI({
prdTagId: queryParams.value.prdTagId prdTagId: queryParams.prdTagId
}); });
prdList.value = response.data; prdList.value = response.data;
loading.value = false; loading.value = false;
...@@ -247,7 +249,7 @@ const reset = () => { ...@@ -247,7 +249,7 @@ const reset = () => {
} }
/** 商品集合标签点击-搜索右侧商品列表 */ /** 商品集合标签点击-搜索右侧商品列表 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.pageNum = 1;
getTagDetailsList(); getTagDetailsList();
} }
/** 新增按钮操作 */ /** 新增按钮操作 */
...@@ -296,21 +298,34 @@ getSeriesGoodsTagList() ...@@ -296,21 +298,34 @@ getSeriesGoodsTagList()
<style scoped <style scoped
lang="scss"> lang="scss">
::v-deep .row { .app-container {
height: 100%; .el-row {
display: flex; background-color: var(--el-bg-color-overlay);
}
.right_col { .right_col {
flex: 1; flex: 1 !important;
overflow: scroll; transition: all .5s;
display: flex;
flex-direction: column;
height: 100%;
&::-webkit-scrollbar { .el-form-item {
height: 0; margin-bottom: 0;
}
} }
.pagination {
/* 没办法设置某个子元素单独在主轴排列方式,使用此方式可以 */
margin-top: auto;
} }
&.el-col-10 {
width: 41.666666%;
max-width: none;
}
}
}
</style> </style>
<style lang="scss"> <style lang="scss">
.my_popper { .my_popper {
......
...@@ -180,7 +180,6 @@ getProductList() ...@@ -180,7 +180,6 @@ getProductList()
>.el-row { >.el-row {
/* flex: 1; */ /* flex: 1; */
display: flex; display: flex;
padding: 20px;
background-color: var(--el-bg-color-overlay); background-color: var(--el-bg-color-overlay);
.right_col { .right_col {
......
...@@ -609,7 +609,6 @@ init() ...@@ -609,7 +609,6 @@ init()
background-color: var(--el-bg-color-overlay); background-color: var(--el-bg-color-overlay);
margin-top: 20px; margin-top: 20px;
width: 100%; width: 100%;
padding: 20px;
/* 图容器 */ /* 图容器 */
.echarts_wrap { .echarts_wrap {
......
<template> <template>
<div class="dashboard-editor-container app-container"> <div class="app-container">
<panel-group @handleSetLineChartData="handleSetLineChartData" /> <panel-group @handleSetLineChartData="handleSetLineChartData" />
<common-menu /> <common-menu />
<el-row :gutter="20" <el-row :gutter="20"
...@@ -69,8 +69,12 @@ const handleSetLineChartData = (type) => { ...@@ -69,8 +69,12 @@ const handleSetLineChartData = (type) => {
<style lang="scss" <style lang="scss"
scoped> scoped>
.dashboard-editor-container { .app-container {
padding: 20px;
>div {
padding: 0;
}
.chart-wrapper { .chart-wrapper {
background: var(--el-bg-color-overlay); background: var(--el-bg-color-overlay);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论