Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-ui
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-ui
Commits
89998429
提交
89998429
authored
9月 18, 2025
作者:
lidongxu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(display_schedule): 新增:合并陈列计划和档期计划在同一个菜单,用 tab 区分,并完成了陈列计划的接口调用对接完成
上级
6612037f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
217 行增加
和
88 行删除
+217
-88
display.js
src/api/promotion/display.js
+11
-0
index.vue
src/views/promotion/display_schedule/index.vue
+206
-88
没有找到文件。
src/api/promotion/display.js
浏览文件 @
89998429
...
@@ -6,3 +6,14 @@ export function getDisplayList(params) {
...
@@ -6,3 +6,14 @@ export function getDisplayList(params) {
params
params
});
});
}
}
// 填报-陈列计划
export
function
submitDisplayPlan
(
data
)
{
return
request
({
url
:
`/operation/sales/ap_display/core/
${
data
.
id
}
`
,
method
:
'PUT'
,
data
:
{
display
:
data
}
});
}
src/views/promotion/display/index.vue
→
src/views/promotion/display
_schedule
/index.vue
浏览文件 @
89998429
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div
class=
"container"
>
<div
class=
"container"
>
<el-row>
<el-tabs
v-model=
"activeName"
<el-form-item
label=
"操作类型"
>
type=
"card"
<el-radio-group
v-model=
"operation"
class=
"demo-tabs"
@
change=
"checkTableColumns"
>
@
tab-click=
"handleClickTabs"
>
<el-radio-button
label=
"全部列"
<el-tab-pane
label=
"陈列计划"
value=
"全部列"
/>
name=
"陈列计划"
>
<el-radio-button
label=
"填报列"
<el-row>
value=
"填报列"
/>
<el-form-item
label=
"操作类型"
>
</el-radio-group>
<el-radio-group
v-model=
"operation"
</el-form-item>
@
change=
"checkTableColumns"
>
<right-toolbar
v-model:showSearch=
"showSearch"
<el-radio-button
label=
"全部列"
@
queryTable=
"getTableList()"
value=
"全部列"
/>
:columns=
"chooseColumns"
<el-radio-button
label=
"填报列"
:showColumnsType=
"operation === '全部列' ? 'tree' : 'checkbox'"
value=
"填报列"
/>
:defaultCheckedKeys=
"visibleProps"
>
</el-radio-group>
</right-toolbar>
</el-form-item>
</el-row>
<right-toolbar
v-model:showSearch=
"showSearch"
<!-- 筛选列组的按钮 -->
@
queryTable=
"getTableList()"
<el-table
:data=
"tableData"
:columns=
"chooseColumns"
border
:showColumnsType=
"operation === '全部列' ? 'tree' : 'checkbox'"
:scroll-x=
"'max-content'"
:defaultCheckedKeys=
"visibleProps"
>
class=
"auto-fit-header-table"
</right-toolbar>
fit
</el-row>
:loading=
"isLoading"
>
<!-- 筛选列组的按钮 -->
<el-table-column
v-for=
"col in tableColumns"
<el-table
:data=
"tableData"
:label=
"col.label"
height=
"100%"
align=
"center"
border
:min-width=
"getColumnMinWidth(col)"
:scroll-x=
"'max-content'"
show-overflow-tooltip
>
class=
"auto-fit-header-table"
<template
#
default=
"
{ row }">
fit
<div
v-if=
"col.type === 'select'"
>
v-loading=
"isLoading"
>
<!-- 实际主货架-数量(要根据实际主货架-形式不为空时才可以选择否则为 0) -->
<el-table-column
v-for=
"col in tableColumns"
<div
v-if=
"col.prop === 'actualMainShelfQty'"
>
:label=
"col.label"
<el-select
:disabled=
"!row.actualMainShelfType"
align=
"center"
v-model=
"row[col.prop]"
:min-width=
"getColumnMinWidth(col)"
placeholder=
"请选择"
show-overflow-tooltip
>
clearable
>
<template
#
header=
"
{ column }">
<el-option
v-for=
"item in col.options"
<!-- 只为特定列添加问号图标 -->
:key=
"item.value"
<span
class=
"formula-column"
>
:label=
"item.label"
{{
column
.
label
}}
:value=
"item.value"
/>
<el-tooltip
v-if=
"col.type === 'formula'"
</el-select>
:content=
"col.formulaStr"
</div>
placement=
"top"
>
<el-select
v-else
<el-icon><question-filled
/></el-icon>
v-model=
"row[col.prop]"
</el-tooltip>
placeholder=
"请选择"
</span>
clearable
>
</
template
>
<el-option
v-for=
"item in col.options"
<
template
#
default=
"{ row }"
>
:key=
"item.value"
<div
v-if=
"col.type === 'select'"
>
:label=
"item.label"
<!-- 实际主货架-数量(要根据实际主货架-形式不为空时才可以选择否则为 0) -->
:value=
"item.value"
/>
<div
v-if=
"col.prop === 'actualMainShelfQty'"
>
</el-select>
<el-select
:disabled=
"!row.actualMainShelfType"
</div>
v-model=
"row[col.prop]"
<!-- 公式计算 -->
placeholder=
"请选择"
<div
v-else-if=
"col.type === 'formula'"
>
clearable
{{
col
.
func
(
row
)
}}
@
change=
"submitChange(row, col)"
>
</div>
<el-option
v-for=
"item in col.options"
<!-- 输入框 -->
:key=
"item.value"
<div
v-else-if=
"col.type === 'input'"
>
:label=
"item.label"
<el-input
v-model=
"row[col.prop]"
:value=
"item.value"
/>
placeholder=
"请输入"
</el-select>
@
input=
"col.func(row)"
/>
</div>
</div>
<el-select
v-else
<!-- 为其他类型或未定义类型提供默认显示 -->
v-model=
"row[col.prop]"
<div
v-else
>
placeholder=
"请选择"
{{
row
[
col
.
prop
]
||
'-'
}}
clearable
</div>
@
change=
"submitChange(row, col)"
>
</
template
>
<el-option
v-for=
"item in col.options"
</el-table-column>
:key=
"item.value"
</el-table>
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
<!-- 公式计算 -->
<div
v-else-if=
"col.type === 'formula'"
>
{{
col
.
func
(
row
)
}}
</div>
<!-- 输入框 -->
<div
v-else-if=
"col.type === 'input'"
>
<el-input
v-model=
"row[col.prop]"
placeholder=
"请输入"
@
input=
"submitChange(row, col)"
/>
</div>
<!-- 为其他类型或未定义类型提供默认显示 -->
<div
v-else
>
{{
row
[
col
.
prop
]
||
'-'
}}
</div>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination
:total=
"total"
v-model:page=
"params.pageNum"
v-model:limit=
"params.pageSize"
@
pagination=
"getTableList"
/>
</el-tab-pane>
<el-tab-pane
label=
"档期计划"
name=
"档期计划"
>
Config
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
getDisplayList
}
from
'@/api'
import
{
getDisplayList
,
submitDisplayPlan
}
from
'@/api'
const
activeName
=
ref
(
'陈列计划'
);
const
handleClickTabs
=
(
tab
)
=>
{
activeName
.
value
=
tab
.
name
;
}
/*************** 操作类型 ***************/
/*************** 操作类型 ***************/
const
operation
=
ref
(
'全部列'
);
const
operation
=
ref
(
'全部列'
);
...
@@ -161,7 +196,8 @@ const baseColumns = ref([
...
@@ -161,7 +196,8 @@ const baseColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualMainShelfExecuted
=
((
parseInt
(
row
.
actualMainShelfType
)
>=
parseInt
(
row
.
plannedMainShelfType
))
&&
(
parseInt
(
row
.
actualMainShelfQty
)
>=
parseInt
(
row
.
plannedMainShelfQty
)))
?
'是'
:
'否'
;
row
.
actualMainShelfExecuted
=
((
parseInt
(
row
.
actualMainShelfType
)
>=
parseInt
(
row
.
plannedMainShelfType
))
&&
(
parseInt
(
row
.
actualMainShelfQty
)
>=
parseInt
(
row
.
plannedMainShelfQty
)))
?
'是'
:
'否'
;
return
row
.
actualMainShelfExecuted
;
return
row
.
actualMainShelfExecuted
;
}
},
formulaStr
:
'公式:(实际主货架形式 >= 计划主货架形式)并且(实际主货架数量 >= 计划主货架数量)'
,
},
},
{
label
:
"计划端架-数量"
,
prop
:
"plannedEndCapQty"
,
visible
:
true
},
{
label
:
"计划端架-数量"
,
prop
:
"plannedEndCapQty"
,
visible
:
true
},
{
label
:
"计划端架-总费用"
,
prop
:
"plannedEndCapTotalCost"
,
visible
:
true
},
{
label
:
"计划端架-总费用"
,
prop
:
"plannedEndCapTotalCost"
,
visible
:
true
},
...
@@ -186,7 +222,8 @@ const baseColumns = ref([
...
@@ -186,7 +222,8 @@ const baseColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualEndCapExecuted
=
((
parseFloat
(
row
.
actualEndCapQty
)
>=
parseFloat
(
row
.
plannedEndCapQty
)))
?
'是'
:
'否'
;
row
.
actualEndCapExecuted
=
((
parseFloat
(
row
.
actualEndCapQty
)
>=
parseFloat
(
row
.
plannedEndCapQty
)))
?
'是'
:
'否'
;
return
row
.
actualEndCapExecuted
;
return
row
.
actualEndCapExecuted
;
}
},
formulaStr
:
'公式:(实际端架数量 >= 计划端架数量)'
,
},
},
{
{
label
:
"计划地堆-平米数(㎡)"
,
label
:
"计划地堆-平米数(㎡)"
,
...
@@ -242,7 +279,8 @@ const baseColumns = ref([
...
@@ -242,7 +279,8 @@ const baseColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
return
row
.
actualFloorStackExecuted
;
return
row
.
actualFloorStackExecuted
;
}
},
formulaStr
:
'公式:(实际地堆平米数 >= 计划地堆平米数)并且(实际地堆数量 >= 计划地堆数量)'
,
},
},
{
label
:
"计划多点陈列-数量+形式"
,
prop
:
"plannedMultiDisplay"
,
visible
:
true
},
{
label
:
"计划多点陈列-数量+形式"
,
prop
:
"plannedMultiDisplay"
,
visible
:
true
},
{
label
:
"计划多点陈列-总费用"
,
prop
:
"plannedMultiDisplayTotalCost"
,
visible
:
true
},
{
label
:
"计划多点陈列-总费用"
,
prop
:
"plannedMultiDisplayTotalCost"
,
visible
:
true
},
...
@@ -292,10 +330,11 @@ const baseColumns = ref([
...
@@ -292,10 +330,11 @@ const baseColumns = ref([
]);
]);
// 填报列
// 填报列
const
fillColumns
=
ref
([
const
fillColumns
=
ref
([
{
label
:
"
经销商名称"
,
prop
:
"dealerName"
,
visible
:
true
},
{
label
:
"
系统名称"
,
prop
:
"lineName"
,
visible
:
true
,
type
:
'string'
},
{
label
:
"门店编码"
,
prop
:
"storeCode"
,
visible
:
true
},
{
label
:
"门店编码"
,
prop
:
"storeCode"
,
visible
:
true
},
{
label
:
"门店名称"
,
prop
:
"storeName"
,
visible
:
true
},
{
label
:
"门店名称"
,
prop
:
"storeName"
,
visible
:
true
},
// 从fpColumns中提取的匹配对象
{
label
:
"计划主货架-形式"
,
prop
:
"plannedMainShelfType"
,
visible
:
true
,
type
:
'string'
},
{
label
:
"计划主货架-数量"
,
prop
:
"plannedMainShelfQty"
,
visible
:
true
,
type
:
'string'
},
{
{
label
:
"实际主货架-形式"
,
label
:
"实际主货架-形式"
,
prop
:
"actualMainShelfType"
,
prop
:
"actualMainShelfType"
,
...
@@ -327,8 +366,10 @@ const fillColumns = ref([
...
@@ -327,8 +366,10 @@ const fillColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualMainShelfExecuted
=
((
parseInt
(
row
.
actualMainShelfType
)
>=
parseInt
(
row
.
plannedMainShelfType
))
&&
(
parseInt
(
row
.
actualMainShelfQty
)
>=
parseInt
(
row
.
plannedMainShelfQty
)))
?
'是'
:
'否'
;
row
.
actualMainShelfExecuted
=
((
parseInt
(
row
.
actualMainShelfType
)
>=
parseInt
(
row
.
plannedMainShelfType
))
&&
(
parseInt
(
row
.
actualMainShelfQty
)
>=
parseInt
(
row
.
plannedMainShelfQty
)))
?
'是'
:
'否'
;
return
row
.
actualMainShelfExecuted
;
return
row
.
actualMainShelfExecuted
;
}
},
formulaStr
:
'公式:(实际主货架形式 >= 计划主货架形式)并且(实际主货架数量 >= 计划主货架数量)'
,
},
},
{
label
:
"计划端架-数量"
,
prop
:
"plannedEndCapQty"
,
visible
:
true
},
{
{
label
:
"实际端架-数量"
,
label
:
"实际端架-数量"
,
prop
:
"actualEndCapQty"
,
prop
:
"actualEndCapQty"
,
...
@@ -349,8 +390,16 @@ const fillColumns = ref([
...
@@ -349,8 +390,16 @@ const fillColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualEndCapExecuted
=
((
parseFloat
(
row
.
actualEndCapQty
)
>=
parseFloat
(
row
.
plannedEndCapQty
)))
?
'是'
:
'否'
;
row
.
actualEndCapExecuted
=
((
parseFloat
(
row
.
actualEndCapQty
)
>=
parseFloat
(
row
.
plannedEndCapQty
)))
?
'是'
:
'否'
;
return
row
.
actualEndCapExecuted
;
return
row
.
actualEndCapExecuted
;
}
},
formulaStr
:
'公式:(实际端架数量 >= 计划端架数量)'
,
},
},
{
label
:
"计划地堆-平米数(㎡)"
,
prop
:
"plannedFloorStackArea"
,
visible
:
true
},
{
label
:
"计划地堆-数量"
,
prop
:
"plannedFloorStackQty"
,
visible
:
true
},
{
label
:
"计划主题地堆-是否"
,
prop
:
"plannedThemedFloorStack"
,
visible
:
true
},
{
{
label
:
"实际地堆-平米数(㎡)"
,
label
:
"实际地堆-平米数(㎡)"
,
prop
:
"actualFloorStackArea"
,
prop
:
"actualFloorStackArea"
,
...
@@ -396,8 +445,11 @@ const fillColumns = ref([
...
@@ -396,8 +445,11 @@ const fillColumns = ref([
func
:
(
row
)
=>
{
func
:
(
row
)
=>
{
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
return
row
.
actualFloorStackExecuted
;
return
row
.
actualFloorStackExecuted
;
}
},
formulaStr
:
'公式:(实际地堆平米数 >= 计划地堆平米数)并且(实际地堆数量 >= 计划地堆数量)'
,
},
},
{
label
:
"计划多点陈列-数量+形式"
,
prop
:
"plannedMultiDisplay"
,
visible
:
true
},
{
label
:
"计划多点陈列-总费用"
,
prop
:
"plannedMultiDisplayTotalCost"
,
visible
:
true
},
{
{
label
:
"实际多点陈列-数量+形式"
,
label
:
"实际多点陈列-数量+形式"
,
prop
:
"actualMultiDisplay"
,
prop
:
"actualMultiDisplay"
,
...
@@ -418,6 +470,8 @@ const fillColumns = ref([
...
@@ -418,6 +470,8 @@ const fillColumns = ref([
{
label
:
'否'
,
value
:
'否'
},
{
label
:
'否'
,
value
:
'否'
},
]
]
},
},
{
label
:
"合计费用-费用"
,
prop
:
"totalCost"
,
visible
:
true
},
{
label
:
"合计费用-费率"
,
prop
:
"totalCostRate"
,
visible
:
true
},
{
{
label
:
"常规陈列是否执行"
,
label
:
"常规陈列是否执行"
,
prop
:
"regularDisplayExecuted"
,
prop
:
"regularDisplayExecuted"
,
...
@@ -427,7 +481,8 @@ const fillColumns = ref([
...
@@ -427,7 +481,8 @@ const fillColumns = ref([
// 实际主货架-是否执行 && 实际端架-是否执行 && 实际地堆-是否执行 && 实际多点陈列-是否执行
// 实际主货架-是否执行 && 实际端架-是否执行 && 实际地堆-是否执行 && 实际多点陈列-是否执行
row
.
regularDisplayExecuted
=
(
row
.
actualMainShelfExecuted
===
'是'
&&
row
.
actualEndCapExecuted
===
'是'
&&
row
.
actualFloorStackExecuted
===
'是'
&&
row
.
actualMultiDisplayExecuted
===
'是'
)
?
'是'
:
'否'
;
row
.
regularDisplayExecuted
=
(
row
.
actualMainShelfExecuted
===
'是'
&&
row
.
actualEndCapExecuted
===
'是'
&&
row
.
actualFloorStackExecuted
===
'是'
&&
row
.
actualMultiDisplayExecuted
===
'是'
)
?
'是'
:
'否'
;
return
row
.
regularDisplayExecuted
;
return
row
.
regularDisplayExecuted
;
}
},
formulaStr
:
'公式:(实际主货架是否执行 = 是)并且(实际端架是否执行 = 是)并且(实际地堆是否执行 = 是)并且(实际多点陈列是否执行 = 是)'
,
}
}
])
])
...
@@ -435,8 +490,6 @@ const fillColumns = ref([
...
@@ -435,8 +490,6 @@ const fillColumns = ref([
const
tableColumns
=
ref
([])
const
tableColumns
=
ref
([])
// 右上角工具选择列
// 右上角工具选择列
const
chooseColumns
=
ref
([])
const
chooseColumns
=
ref
([])
// 加载进度
const
isLoading
=
ref
(
false
)
// 计算列具体数据
// 计算列具体数据
const
checkTableColumns
=
()
=>
{
const
checkTableColumns
=
()
=>
{
if
(
operation
.
value
===
'全部列'
)
{
if
(
operation
.
value
===
'全部列'
)
{
...
@@ -451,7 +504,6 @@ const checkTableColumns = () => {
...
@@ -451,7 +504,6 @@ const checkTableColumns = () => {
}).
filter
(
Boolean
);
// 过滤掉空数组项
}).
filter
(
Boolean
);
// 过滤掉空数组项
}
else
if
(
operation
.
value
===
'填报列'
)
{
}
else
if
(
operation
.
value
===
'填报列'
)
{
chooseColumns
.
value
=
fillColumns
.
value
chooseColumns
.
value
=
fillColumns
.
value
console
.
log
(
fillColumns
,
'fill'
)
tableColumns
.
value
=
fillColumns
.
value
.
filter
(
item
=>
item
.
visible
);
tableColumns
.
value
=
fillColumns
.
value
.
filter
(
item
=>
item
.
visible
);
}
}
}
}
...
@@ -476,9 +528,48 @@ watch(
...
@@ -476,9 +528,48 @@ watch(
{
deep
:
true
}
{
deep
:
true
}
);
);
// 提交变更
const
submitChange
=
async
(
row
,
col
)
=>
{
// 有个类型输入框的需要调用 func
if
(
col
.
type
===
'input'
)
{
col
.
func
(
row
)
}
await
submitDisplayPlan
({
id
:
row
.
sadId
,
[
col
.
prop
]:
row
[
col
.
prop
]
})
// 这些提交变化的,同时会影响公式计算的,需要把公式计算的字段列结果,一起发给后台
// 主货架
if
([
'actualMainShelfType'
,
'actualMainShelfQty'
].
includes
(
col
.
prop
))
{
await
submitDisplayPlan
({
id
:
row
.
sadId
,
actualMainShelfExecuted
:
row
.
actualMainShelfExecuted
,
})
}
// 端架
if
([
'actualEndCapQty'
].
includes
(
col
.
prop
))
{
await
submitDisplayPlan
({
id
:
row
.
sadId
,
actualEndCapExecuted
:
row
.
actualEndCapExecuted
,
})
}
// 地堆
if
([
'actualFloorStackArea'
,
'actualFloorStackQty'
].
includes
(
col
.
prop
))
{
await
submitDisplayPlan
({
id
:
row
.
sadId
,
actualFloorStackExecuted
:
row
.
actualFloorStackExecuted
,
})
}
// 常规陈列是否执行
await
submitDisplayPlan
({
id
:
row
.
sadId
,
regularDisplayExecuted
:
row
.
regularDisplayExecuted
,
})
}
// 表格数据
// 表格数据
const
tableData
=
ref
([])
const
tableData
=
ref
([])
const
isLoading
=
ref
(
true
)
const
params
=
reactive
({
const
params
=
reactive
({
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
10
,
...
@@ -494,10 +585,7 @@ const getTableList = async () => {
...
@@ -494,10 +585,7 @@ const getTableList = async () => {
})
})
tableData
.
value
=
res
.
data
.
rows
tableData
.
value
=
res
.
data
.
rows
total
.
value
=
res
.
data
.
total
total
.
value
=
res
.
data
.
total
setTimeout
(()
=>
{
isLoading
.
value
=
false
isLoading
.
value
=
false
},
3000
)
}
}
getTableList
()
getTableList
()
...
@@ -536,7 +624,8 @@ const getColumnMinWidth = (column) => {
...
@@ -536,7 +624,8 @@ const getColumnMinWidth = (column) => {
'actualFloorStackArea'
:
170
,
'actualFloorStackArea'
:
170
,
'actualMultiDisplay'
:
190
,
'actualMultiDisplay'
:
190
,
'plannedMultiDisplay'
:
190
,
'plannedMultiDisplay'
:
190
,
'actualMultiDisplayExecuted'
:
170
'actualMultiDisplayExecuted'
:
170
,
'actualMainShelfExecuted'
:
190
,
};
};
return
widthMap
[
column
.
prop
]
||
150
;
// 默认宽度
return
widthMap
[
column
.
prop
]
||
150
;
// 默认宽度
...
@@ -547,6 +636,35 @@ const getColumnMinWidth = (column) => {
...
@@ -547,6 +636,35 @@ const getColumnMinWidth = (column) => {
<
style
scoped
<
style
scoped
lang=
"scss"
>
lang=
"scss"
>
.container
{
.container
{
.el-tabs
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column-reverse
;
.el-tabs__content
{
display
:
flex
;
flex-direction
:
column
;
height
:
100%
;
.el-tab-pane
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.formula-column
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
.el-icon
{
margin-left
:
2px
;
}
}
}
}
.el-form-item
{
.el-form-item
{
align-items
:
center
;
align-items
:
center
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论