Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-ui
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-ui
Commits
bc59528c
提交
bc59528c
authored
11月 24, 2025
作者:
lidongxu
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'ap' into dev
上级
237e5fc8
28532147
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
191 行增加
和
137 行删除
+191
-137
display_schedule.js
src/api/promotion/display_schedule.js
+1
-1
index.vue
...s/mobile/pages/cp_activity/promotion/plan/index/index.vue
+0
-1
display.vue
src/views/promotion/display_schedule/tabs/display.vue
+55
-39
schedule.vue
src/views/promotion/display_schedule/tabs/schedule.vue
+40
-18
schedule_dis.vue
src/views/promotion/display_schedule/tabs/schedule_dis.vue
+57
-38
six_little_diamonds.vue
...s/promotion/display_schedule/tabs/six_little_diamonds.vue
+0
-1
snack.vue
src/views/promotion/display_schedule/tabs/snack.vue
+33
-33
three_two_seconds.vue
...ews/promotion/display_schedule/tabs/three_two_seconds.vue
+5
-5
index.vue
src/views/system/user/index.vue
+0
-1
没有找到文件。
src/api/promotion/display_schedule.js
浏览文件 @
bc59528c
...
@@ -9,7 +9,7 @@ export function getDisplayList(params) {
...
@@ -9,7 +9,7 @@ export function getDisplayList(params) {
// 填报-陈列计划
// 填报-陈列计划
export
function
submitDisplayPlan
(
data
)
{
export
function
submitDisplayPlan
(
data
)
{
// 遍历 data 每对 key value,发现 value 是 undefined 替换成空字符串
// 遍历 data 每对 key value,发现 value 是 undefined
/ null
替换成空字符串
Object
.
keys
(
data
).
forEach
(
key
=>
{
Object
.
keys
(
data
).
forEach
(
key
=>
{
if
(
data
[
key
]
===
undefined
||
data
[
key
]
===
null
)
{
if
(
data
[
key
]
===
undefined
||
data
[
key
]
===
null
)
{
data
[
key
]
=
''
data
[
key
]
=
''
...
...
src/views/mobile/pages/cp_activity/promotion/plan/index/index.vue
浏览文件 @
bc59528c
...
@@ -105,7 +105,6 @@ const showSearch = ref(false)
...
@@ -105,7 +105,6 @@ const showSearch = ref(false)
// 从新增页面跳转回来需要刷新列表
// 从新增页面跳转回来需要刷新列表
watch
(()
=>
route
.
path
,
(
newPath
,
oldPath
)
=>
{
watch
(()
=>
route
.
path
,
(
newPath
,
oldPath
)
=>
{
console
.
log
(
oldPath
,
newPath
)
if
(
oldPath
.
includes
(
'/cp_activity/promotion_plan_editing'
)
&&
newPath
===
'/cp_activity/promotion_plan'
)
{
if
(
oldPath
.
includes
(
'/cp_activity/promotion_plan_editing'
)
&&
newPath
===
'/cp_activity/promotion_plan'
)
{
planSearch
.
value
.
resetFn
()
planSearch
.
value
.
resetFn
()
}
}
...
...
src/views/promotion/display_schedule/tabs/display.vue
浏览文件 @
bc59528c
...
@@ -667,24 +667,6 @@
...
@@ -667,24 +667,6 @@
// 请求时需要额外携带影响的列字段值
// 请求时需要额外携带影响的列字段值
requestKey
:
[
"actualFloorStackExecuted"
,
"regularDisplayExecuted"
]
requestKey
:
[
"actualFloorStackExecuted"
,
"regularDisplayExecuted"
]
},
},
{
label
:
"实际地堆是否执行"
,
prop
:
"actualFloorStackExecuted"
,
visible
:
true
,
type
:
'formula'
,
func
:
(
row
)
=>
{
// 如果参考值是空则返回 '-'
if
(
!
row
.
plannedFloorStackArea
||
!
row
.
plannedFloorStackQty
)
{
row
.
actualFloorStackExecuted
=
'-'
return
'-'
;
}
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
return
row
.
actualFloorStackExecuted
;
},
formulaStr
:
'公式:(实际地堆平米数 >= 计划地堆平米数)并且(实际地堆数量 >= 计划地堆数量)'
,
fill
:
true
,
width
:
150
},
{
{
label
:
"实际主题地堆-是否"
,
label
:
"实际主题地堆-是否"
,
prop
:
"actualThemedFloorStack"
,
prop
:
"actualThemedFloorStack"
,
...
@@ -695,7 +677,7 @@
...
@@ -695,7 +677,7 @@
{
label
:
'是'
,
value
:
'是'
},
{
label
:
'是'
,
value
:
'是'
},
{
label
:
'否'
,
value
:
'否'
}
{
label
:
'否'
,
value
:
'否'
}
],
],
fill
:
tru
e
,
fill
:
fals
e
,
width
:
140
,
width
:
140
,
render
:
(
_
,
row
,
col
)
=>
{
render
:
(
_
,
row
,
col
)
=>
{
return
(
return
(
...
@@ -720,6 +702,25 @@
...
@@ -720,6 +702,25 @@
)
)
}
}
},
},
{
label
:
"实际地堆是否执行"
,
prop
:
"actualFloorStackExecuted"
,
visible
:
true
,
type
:
'formula'
,
func
:
(
row
)
=>
{
// 如果参考值是空则返回 '-'
if
(
!
row
.
plannedFloorStackArea
||
!
row
.
plannedFloorStackQty
)
{
row
.
actualFloorStackExecuted
=
'-'
return
'-'
;
}
row
.
actualFloorStackExecuted
=
((
parseFloat
(
row
.
actualFloorStackArea
)
>=
parseFloat
(
row
.
plannedFloorStackArea
))
&&
(
parseInt
(
row
.
actualFloorStackQty
)
>=
parseInt
(
row
.
plannedFloorStackQty
)))
?
'是'
:
'否'
;
return
row
.
actualFloorStackExecuted
;
},
formulaStr
:
'公式:(实际地堆平米数 >= 计划地堆平米数)并且(实际地堆数量 >= 计划地堆数量)'
,
fill
:
true
,
width
:
150
},
{
{
label
:
"计划多点陈列-数量+形式"
,
label
:
"计划多点陈列-数量+形式"
,
prop
:
"plannedMultiDisplay"
,
prop
:
"plannedMultiDisplay"
,
...
@@ -740,11 +741,11 @@
...
@@ -740,11 +741,11 @@
label
:
"实际多点陈列-数量+形式"
,
label
:
"实际多点陈列-数量+形式"
,
prop
:
"actualMultiDisplay"
,
prop
:
"actualMultiDisplay"
,
visible
:
true
,
visible
:
true
,
type
:
'
inpu
t'
,
type
:
'
selec
t'
,
func
:
(
row
)
=>
{
options
:
[
// 没有输入内容时,则是否执行设置为否
{
label
:
'执行与计划一致'
,
value
:
'执行与计划一致'
},
// row.actualMultiDisplayExecuted = !row.actualMultiDisplay ? '否' : '是'
{
label
:
'执行与计划不一致'
,
value
:
'执行与计划不一致'
}
}
,
]
,
referenceKey
:
"plannedMultiDisplay"
,
referenceKey
:
"plannedMultiDisplay"
,
fill
:
true
,
fill
:
true
,
width
:
175
,
width
:
175
,
...
@@ -752,14 +753,22 @@
...
@@ -752,14 +753,22 @@
return
(
return
(
<
div
>
<
div
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
el
-
inpu
t
modelValue
=
{
row
[
col
.
prop
]}
<
el
-
selec
t
modelValue
=
{
row
[
col
.
prop
]}
onUpdate
:
modelValue
=
{(
value
)
=>
{
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
[
col
.
prop
]
=
value
;
row
[
col
.
prop
]
=
value
;
submitChange
(
row
,
col
);
submitChange
(
row
,
col
);
}}
}}
disabled
=
{
!
row
[
col
.
referenceKey
]}
disabled
=
{
!
row
[
col
.
referenceKey
]}
placeholder
=
""
>
placeholder
=
""
<
/el-input
>
clearable
>
{
col
.
options
.
map
(
item
=>
(
<
el
-
option
key
=
{
item
.
value
}
label
=
{
item
.
label
}
value
=
{
item
.
value
}
/
>
))}
<
/el-select
>
<
/div
>
<
/div
>
)
)
},
},
...
@@ -778,7 +787,7 @@
...
@@ -778,7 +787,7 @@
row
.
actualMultiDisplayExecuted
=
'-'
row
.
actualMultiDisplayExecuted
=
'-'
return
'-'
;
return
'-'
;
}
}
row
.
actualMultiDisplayExecuted
=
(
row
.
actualMultiDisplay
)
?
'是'
:
'否'
;
row
.
actualMultiDisplayExecuted
=
row
.
actualMultiDisplay
===
'执行与计划一致'
?
'是'
:
'否'
;
return
row
.
actualMultiDisplayExecuted
;
return
row
.
actualMultiDisplayExecuted
;
},
},
formulaStr
:
'公式:实际多点陈列-数量+形式,有值'
,
formulaStr
:
'公式:实际多点陈列-数量+形式,有值'
,
...
@@ -797,11 +806,11 @@
...
@@ -797,11 +806,11 @@
label
:
"实际挂条-数量+形式"
,
label
:
"实际挂条-数量+形式"
,
prop
:
"actualHangingStripQuantityForm"
,
prop
:
"actualHangingStripQuantityForm"
,
visible
:
true
,
visible
:
true
,
type
:
'
inpu
t'
,
type
:
'
selec
t'
,
func
:
(
row
)
=>
{
options
:
[
// 没有输入内容时,则是否执行设置为否
{
label
:
'执行与计划一致'
,
value
:
'执行与计划一致'
},
// row.actualMultiDisplayExecuted = !row.actualMultiDisplay ? '否' : '是'
{
label
:
'执行与计划不一致'
,
value
:
'执行与计划不一致'
}
}
,
]
,
referenceKey
:
"plannedHangingStripQuantityForm"
,
referenceKey
:
"plannedHangingStripQuantityForm"
,
fill
:
true
,
fill
:
true
,
width
:
175
,
width
:
175
,
...
@@ -809,14 +818,22 @@
...
@@ -809,14 +818,22 @@
return
(
return
(
<
div
>
<
div
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
el
-
inpu
t
modelValue
=
{
row
[
col
.
prop
]}
<
el
-
selec
t
modelValue
=
{
row
[
col
.
prop
]}
onUpdate
:
modelValue
=
{(
value
)
=>
{
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
[
col
.
prop
]
=
value
;
row
[
col
.
prop
]
=
value
;
submitChange
(
row
,
col
);
submitChange
(
row
,
col
);
}}
}}
disabled
=
{
!
row
[
col
.
referenceKey
]}
disabled
=
{
!
row
[
col
.
referenceKey
]}
placeholder
=
""
>
placeholder
=
""
<
/el-input
>
clearable
>
{
col
.
options
.
map
(
item
=>
(
<
el
-
option
key
=
{
item
.
value
}
label
=
{
item
.
label
}
value
=
{
item
.
value
}
/
>
))}
<
/el-select
>
<
/div
>
<
/div
>
)
)
},
},
...
@@ -835,8 +852,7 @@
...
@@ -835,8 +852,7 @@
row
.
hangingStripExecuted
=
'-'
row
.
hangingStripExecuted
=
'-'
return
'-'
;
return
'-'
;
}
}
console
.
log
(
row
.
actualHangingStripQuantityForm
,
row
.
plannedHangingStripQuantityForm
)
row
.
hangingStripExecuted
=
(
row
.
actualHangingStripQuantityForm
===
'执行与计划一致'
)
?
'是'
:
'否'
;
row
.
hangingStripExecuted
=
(
row
.
actualHangingStripQuantityForm
===
row
.
plannedHangingStripQuantityForm
)
?
'是'
:
'否'
;
return
row
.
hangingStripExecuted
;
return
row
.
hangingStripExecuted
;
},
},
formulaStr
:
'公式:实际挂条-数量+形式 === 计划挂条-数量+形式'
,
formulaStr
:
'公式:实际挂条-数量+形式 === 计划挂条-数量+形式'
,
...
@@ -1002,7 +1018,7 @@
...
@@ -1002,7 +1018,7 @@
[
col
.
prop
]:
row
[
col
.
prop
],
// 当前修改列的值
[
col
.
prop
]:
row
[
col
.
prop
],
// 当前修改列的值
...
requestObj
...
requestObj
})
})
}
}
// 表格数据
// 表格数据
...
...
src/views/promotion/display_schedule/tabs/schedule.vue
浏览文件 @
bc59528c
...
@@ -377,7 +377,6 @@
...
@@ -377,7 +377,6 @@
submitChange
(
row
,
{
prop
:
'actualPromotionSpecRe'
})
submitChange
(
row
,
{
prop
:
'actualPromotionSpecRe'
})
}).
catch
(()
=>
{
}).
catch
(()
=>
{
// 用户点击取消或关闭弹窗
// 用户点击取消或关闭弹窗
console
.
log
(
'用户取消了输入'
)
})
})
}
else
{
}
else
{
// 没选其他,则清空实际执行规格
// 没选其他,则清空实际执行规格
...
@@ -397,13 +396,17 @@
...
@@ -397,13 +396,17 @@
render
:
(
_
,
row
,
col
)
=>
{
render
:
(
_
,
row
,
col
)
=>
{
return
(
return
(
<
div
>
<
div
>
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
{
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
.
actualPromotionSpec
!==
'其他'
?
(
<
div
style
=
"width: 100%; text-align: center;"
>-<
/div>
)
:
(
row
[
col
.
prop
]
=
value
;
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
submitChange
(
row
,
col
);
onUpdate
:
modelValue
=
{(
value
)
=>
{
}}
row
[
col
.
prop
]
=
value
;
placeholder
=
""
>
submitChange
(
row
,
col
);
<
/el-input
>
}}
placeholder
=
""
>
<
/el-input
>
)
}
<
/div
>
<
/div
>
)
)
},
},
...
@@ -519,7 +522,6 @@
...
@@ -519,7 +522,6 @@
submitChange
(
row
,
{
prop
:
'actualPromotionFlavorRe'
})
submitChange
(
row
,
{
prop
:
'actualPromotionFlavorRe'
})
}).
catch
(()
=>
{
}).
catch
(()
=>
{
// 用户点击取消或关闭弹窗
// 用户点击取消或关闭弹窗
console
.
log
(
'用户取消了输入'
)
})
})
}
else
{
}
else
{
// 没选其他,则清空实际执行口味
// 没选其他,则清空实际执行口味
...
@@ -539,13 +541,17 @@
...
@@ -539,13 +541,17 @@
render
:
(
_
,
row
,
col
)
=>
{
render
:
(
_
,
row
,
col
)
=>
{
return
(
return
(
<
div
>
<
div
>
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
{
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
.
actualPromotionFlavor
[
0
]
!==
'其他'
?
(
<
div
style
=
"width: 100%; text-align: center;"
>-<
/div>
)
:
(
row
[
col
.
prop
]
=
value
;
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
submitChange
(
row
,
col
);
onUpdate
:
modelValue
=
{(
value
)
=>
{
}}
row
[
col
.
prop
]
=
value
;
placeholder
=
""
>
submitChange
(
row
,
col
);
<
/el-input
>
}}
placeholder
=
""
>
<
/el-input
>
)
}
<
/div
>
<
/div
>
)
)
},
},
...
@@ -861,7 +867,6 @@
...
@@ -861,7 +867,6 @@
submitChange
(
row
,
{
prop
:
'actualPromotionPriceRe'
})
submitChange
(
row
,
{
prop
:
'actualPromotionPriceRe'
})
}).
catch
(()
=>
{
}).
catch
(()
=>
{
// 用户点击取消或关闭弹窗
// 用户点击取消或关闭弹窗
console
.
log
(
'用户取消了输入'
)
})
})
}
else
{
}
else
{
// 没选其他,则清空实际执行价格
// 没选其他,则清空实际执行价格
...
@@ -875,7 +880,24 @@
...
@@ -875,7 +880,24 @@
label
:
"实际执行价格"
,
label
:
"实际执行价格"
,
prop
:
"actualPromotionPriceRe"
,
prop
:
"actualPromotionPriceRe"
,
visible
:
true
,
visible
:
true
,
type
:
'string'
,
type
:
"input"
,
render
:
(
_
,
row
,
col
)
=>
{
return
(
<
div
>
{
row
.
actualPromotionMechanism
!==
'执行与计划不一致'
?
(
<
div
style
=
"width: 100%; text-align: center;"
>-<
/div>
)
:
(
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
[
col
.
prop
]
=
value
;
submitChange
(
row
,
col
);
}}
placeholder
=
""
>
<
/el-input
>
)
}
<
/div
>
)
},
fill
:
true
,
fill
:
true
,
width
:
200
width
:
200
},
},
...
...
src/views/promotion/display_schedule/tabs/schedule_dis.vue
浏览文件 @
bc59528c
...
@@ -111,31 +111,31 @@
...
@@ -111,31 +111,31 @@
showOverflowTooltip
:
true
,
showOverflowTooltip
:
true
,
fixed
:
'left'
fixed
:
'left'
},
},
{
//
{
"label"
:
"经销商类型"
,
//
"label": "经销商类型",
"prop"
:
"dealerType"
,
//
"prop": "dealerType",
showOverflowTooltip
:
true
,
//
showOverflowTooltip: true,
"visible"
:
true
,
//
"visible": true,
"type"
:
"string"
,
//
"type": "string",
"fill"
:
false
,
//
"fill": false,
"width"
:
150
//
"width": 150
},
//
},
{
//
{
"label"
:
"开户日期"
,
//
"label": "开户日期",
"prop"
:
"openingDate"
,
//
"prop": "openingDate",
"visible"
:
true
,
//
"visible": true,
"type"
:
"string"
,
//
"type": "string",
"fill"
:
false
,
//
"fill": false,
"width"
:
120
//
"width": 120
},
//
},
{
//
{
"label"
:
"闭户日期"
,
//
"label": "闭户日期",
"prop"
:
"closingDate"
,
//
"prop": "closingDate",
"visible"
:
true
,
//
"visible": true,
"type"
:
"string"
,
//
"type": "string",
"fill"
:
false
,
//
"fill": false,
"width"
:
120
//
"width": 120
},
//
},
{
{
"label"
:
"大区总监"
,
"label"
:
"大区总监"
,
"prop"
:
"regionManager"
,
"prop"
:
"regionManager"
,
...
@@ -515,6 +515,10 @@
...
@@ -515,6 +515,10 @@
{
{
"label"
:
"4"
,
"label"
:
"4"
,
"value"
:
4
"value"
:
4
},
{
"label"
:
"6"
,
"value"
:
6
}
}
],
],
render
:
(
_
,
row
,
col
)
=>
{
render
:
(
_
,
row
,
col
)
=>
{
...
@@ -565,7 +569,12 @@
...
@@ -565,7 +569,12 @@
{
{
"label"
:
"3"
,
"label"
:
"3"
,
"value"
:
3
"value"
:
3
},
{
"label"
:
"4"
,
"value"
:
4
}
}
],
],
render
:
(
_
,
row
,
col
)
=>
{
render
:
(
_
,
row
,
col
)
=>
{
return
(
return
(
...
@@ -629,7 +638,11 @@
...
@@ -629,7 +638,11 @@
"label"
:
"实际其他陈列 - 数量 + 形式"
,
"label"
:
"实际其他陈列 - 数量 + 形式"
,
"prop"
:
"actualOtherDisplay"
,
"prop"
:
"actualOtherDisplay"
,
"visible"
:
true
,
"visible"
:
true
,
"type"
:
"input"
,
"type"
:
"select"
,
"options"
:
[
{
label
:
'执行与计划一致'
,
value
:
'执行与计划一致'
},
{
label
:
'执行与计划不一致'
,
value
:
'执行与计划不一致'
}
],
"fill"
:
true
,
"fill"
:
true
,
"width"
:
190
,
"width"
:
190
,
referenceKey
:
"plannedOtherDisplay"
,
referenceKey
:
"plannedOtherDisplay"
,
...
@@ -637,17 +650,23 @@
...
@@ -637,17 +650,23 @@
return
(
return
(
<
div
>
<
div
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
span
>
{
row
[
col
.
referenceKey
]
||
'-'
}
<
/span
>
<
div
>
<
el
-
select
modelValue
=
{
row
[
col
.
prop
]}
<
el
-
input
modelValue
=
{
row
[
col
.
prop
]}
onUpdate
:
modelValue
=
{(
value
)
=>
{
onUpdate
:
modelValue
=
{(
value
)
=>
{
row
[
col
.
prop
]
=
value
;
row
[
col
.
prop
]
=
value
;
submitChange
(
row
,
col
);
submitChange
(
row
,
col
);
}}
}}
disabled
=
{
!
row
[
col
.
referenceKey
]}
disabled
=
{
!
row
[
col
.
referenceKey
]}
placeholder
=
""
placeholder
=
""
clearable
clearable
>
/>
{
col
.
options
.
map
(
item
=>
(
<
/div
>
<
el
-
option
key
=
{
item
.
value
}
label
=
{
item
.
label
}
value
=
{
item
.
value
}
/
>
))}
<
/el-select
>
<
/div
>
<
/div
>
)
)
},
},
...
@@ -665,7 +684,7 @@
...
@@ -665,7 +684,7 @@
row
.
actualOtherDisplayExecuted
=
'-'
row
.
actualOtherDisplayExecuted
=
'-'
return
'-'
;
return
'-'
;
}
}
row
.
actualOtherDisplayExecuted
=
row
.
actualOtherDisplay
?
'是'
:
'否'
row
.
actualOtherDisplayExecuted
=
row
.
actualOtherDisplay
===
'执行与计划一致'
?
'是'
:
'否'
return
row
.
actualOtherDisplayExecuted
return
row
.
actualOtherDisplayExecuted
},
},
formulaStr
:
"公式:实际其他陈列-数量+形式,有值"
formulaStr
:
"公式:实际其他陈列-数量+形式,有值"
...
...
src/views/promotion/display_schedule/tabs/six_little_diamonds.vue
浏览文件 @
bc59528c
...
@@ -351,7 +351,6 @@
...
@@ -351,7 +351,6 @@
const
getTableList
=
()
=>
{
const
getTableList
=
()
=>
{
isLoading
.
value
=
true
isLoading
.
value
=
true
getSixLittleDiamondsPlanList
(
params
.
value
).
then
(
res
=>
{
getSixLittleDiamondsPlanList
(
params
.
value
).
then
(
res
=>
{
console
.
log
(
res
,
'res'
)
isLoading
.
value
=
false
isLoading
.
value
=
false
tableData
.
value
=
res
.
data
.
rows
.
map
(
item
=>
{
tableData
.
value
=
res
.
data
.
rows
.
map
(
item
=>
{
// 计划月份
// 计划月份
...
...
src/views/promotion/display_schedule/tabs/snack.vue
浏览文件 @
bc59528c
...
@@ -264,12 +264,12 @@
...
@@ -264,12 +264,12 @@
"type"
:
"input"
,
"type"
:
"input"
,
options
:
[
options
:
[
{
{
label
:
'
是
'
,
label
:
'
执行与计划一致
'
,
value
:
'
是
'
value
:
'
执行与计划一致
'
},
},
{
{
label
:
'
否
'
,
label
:
'
执行与计划不一致
'
,
value
:
'
否
'
value
:
'
执行与计划不一致
'
}
}
],
],
referenceKey
:
"plannedDisplay"
,
referenceKey
:
"plannedDisplay"
,
...
@@ -413,43 +413,43 @@
...
@@ -413,43 +413,43 @@
// requestKey: ["endCapQtyExecuted", "snackDisplayExecuted"]
// requestKey: ["endCapQtyExecuted", "snackDisplayExecuted"]
requestKey
:
[
"endCapQtyExecuted"
]
requestKey
:
[
"endCapQtyExecuted"
]
},
},
{
"label"
:
"端架数量是否执行"
,
"prop"
:
"endCapQtyExecuted"
,
"visible"
:
true
,
"type"
:
"formula"
,
"fill"
:
true
,
"width"
:
150
,
func
:
(
row
)
=>
{
if
(
!
row
.
plannedEndCapQty
)
{
row
.
endCapQtyExecuted
=
'-'
return
'-'
}
// 截取计划端架数量数据
row
.
endCapQtyExecuted
=
row
.
actualEndCapQty
==
row
.
plannedEndCapQty
?
'是'
:
'否'
return
row
.
endCapQtyExecuted
},
formulaStr
:
"执行端架数量 == 计划端架数量"
},
// {
// {
// "label": "
零食陈列
是否执行",
// "label": "
端架数量
是否执行",
// "prop": "
snackDispla
yExecuted",
// "prop": "
endCapQt
yExecuted",
// "visible": true,
// "visible": true,
// "type": "formula",
// "type": "formula",
// "fill": true,
// "fill": true,
// "width": 150,
// "width": 150,
// func: (row) => {
// func: (row) => {
// const executionStatuses = [
// if (!row.plannedEndCapQty) {
// row.displayExecuted,
// row.endCapQtyExecuted = '-'
// row.endCapQtyExecuted
// return '-'
// ].filter(status => status !== '-');
// }
// // 截取计划端架数量数据
// // 如果所有过滤后的状态都是'是',则返回'是',否则返回'否'
// row.endCapQtyExecuted = row.actualEndCapQty == row.plannedEndCapQty ? '是' : '否'
// row.snackDisplayExecuted = executionStatuses.every(status => status === '是') ? '是' : '否';
// return row.endCapQtyExecuted
// return row.snackDisplayExecuted;
// },
// },
// formulaStr: "
公式:陈列形式执行,并且端架数量执行(某项无计划时,忽略该项)
"
// formulaStr: "
执行端架数量 == 计划端架数量
"
// },
// },
{
"label"
:
"零食陈列是否执行"
,
"prop"
:
"snackDisplayExecuted"
,
"visible"
:
true
,
"type"
:
"formula"
,
"fill"
:
true
,
"width"
:
150
,
func
:
(
row
)
=>
{
const
executionStatuses
=
[
row
.
displayExecuted
,
row
.
endCapQtyExecuted
].
filter
(
status
=>
status
!==
'-'
);
// 如果所有过滤后的状态都是'是',则返回'是',否则返回'否'
row
.
snackDisplayExecuted
=
executionStatuses
.
every
(
status
=>
status
===
'是'
)
?
'是'
:
'否'
;
return
row
.
snackDisplayExecuted
;
},
formulaStr
:
"公式:陈列形式执行,并且端架数量执行(某项无计划时,忽略该项)"
},
{
{
"label"
:
"计划 - 陈列费用"
,
"label"
:
"计划 - 陈列费用"
,
"prop"
:
"totalCost"
,
"prop"
:
"totalCost"
,
...
...
src/views/promotion/display_schedule/tabs/three_two_seconds.vue
浏览文件 @
bc59528c
...
@@ -268,7 +268,8 @@
...
@@ -268,7 +268,8 @@
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
);
}
},
requestKey
:
[
"displayQtyExecuted60"
]
},
},
// 60g挂条陈列-是否执行
// 60g挂条陈列-是否执行
{
{
...
@@ -282,10 +283,10 @@
...
@@ -282,10 +283,10 @@
row
.
displayQtyExecuted60
=
'-'
;
row
.
displayQtyExecuted60
=
'-'
;
return
'-'
;
return
'-'
;
}
}
row
.
displayQtyExecuted60
=
row
.
plannedDisplayQty60
==
row
.
actualDisplayQty60
?
'是'
:
'否'
;
row
.
displayQtyExecuted60
=
(
row
.
actualDisplayQty60
*
1
)
>=
(
row
.
plannedDisplayQty60
*
1
)
?
'是'
:
'否'
;
return
row
.
displayQtyExecuted60
;
return
row
.
displayQtyExecuted60
;
},
},
formulaStr
:
'公式:(
计划-60g挂条陈列数量 = 实际
-60g挂条陈列数量)'
,
formulaStr
:
'公式:(
实际-60g挂条陈列数量 >= 计划
-60g挂条陈列数量)'
,
fill
:
true
,
fill
:
true
,
width
:
200
width
:
200
},
},
...
@@ -349,8 +350,6 @@
...
@@ -349,8 +350,6 @@
const
getTableList
=
()
=>
{
const
getTableList
=
()
=>
{
isLoading
.
value
=
true
isLoading
.
value
=
true
getThreeMetersTwoSecondsPlanList
(
params
.
value
).
then
(
res
=>
{
getThreeMetersTwoSecondsPlanList
(
params
.
value
).
then
(
res
=>
{
console
.
log
(
res
)
console
.
log
(
res
.
data
.
rows
)
isLoading
.
value
=
false
isLoading
.
value
=
false
tableData
.
value
=
res
.
data
.
rows
.
map
(
item
=>
{
tableData
.
value
=
res
.
data
.
rows
.
map
(
item
=>
{
// 计划月份
// 计划月份
...
@@ -370,6 +369,7 @@
...
@@ -370,6 +369,7 @@
// 提交变更
// 提交变更
const
submitChange
=
async
(
row
,
col
)
=>
{
const
submitChange
=
async
(
row
,
col
)
=>
{
let
requestObj
=
{}
let
requestObj
=
{}
if
(
col
.
requestKey
)
{
if
(
col
.
requestKey
)
{
// 关联的公式计算列,需要特殊处理
// 关联的公式计算列,需要特殊处理
...
...
src/views/system/user/index.vue
浏览文件 @
bc59528c
...
@@ -681,7 +681,6 @@
...
@@ -681,7 +681,6 @@
dateRange
.
value
=
[]
// 创建时间置空
dateRange
.
value
=
[]
// 创建时间置空
proxy
.
resetForm
(
"queryRef"
)
proxy
.
resetForm
(
"queryRef"
)
queryParams
.
value
.
deptId
=
undefined
// 部门搜索置空
queryParams
.
value
.
deptId
=
undefined
// 部门搜索置空
console
.
log
(
deptTreeRef
.
value
)
deptTreeRef
.
value
.
setCurrentKey
(
null
)
deptTreeRef
.
value
.
setCurrentKey
(
null
)
handleQuery
()
handleQuery
()
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论