Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-dml
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-dml
Commits
4791c309
提交
4791c309
authored
7月 17, 2024
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: bug fixes
上级
faa6ac77
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
40 行增加
和
12 行删除
+40
-12
Step7Form.vue
src/modules/market/my/components/Step7Form.vue
+29
-6
trip.ts
src/modules/market/my/stores/trip.ts
+11
-6
没有找到文件。
src/modules/market/my/components/Step7Form.vue
浏览文件 @
4791c309
...
...
@@ -12,7 +12,9 @@ const props = defineProps(['data'])
const
form
=
reactive
({
node1
:
''
,
node1_id
:
''
,
node2
:
''
,
node2_id
:
''
,
type
:
''
,
style
:
''
,
desc
:
''
,
...
...
@@ -24,8 +26,8 @@ watchEffect(() => {
const
formRef
=
ref
(
null
)
const
rules
=
reactive
({
node1
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
node2
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
node1
_id
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
node2
_id
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
type
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
style
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}],
desc
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
...
...
@@ -38,16 +40,37 @@ const handleSubmit = async () => {
emit
(
'update:modelValue'
,
false
)
}
const
styleList
=
[
'专业权威'
,
'详细深入'
,
'时尚年轻'
,
'种草分享'
,
'网红推荐'
,
'生动有趣'
]
const
node2List
=
computed
(()
=>
{
return
tripStore
.
node2List
(
form
.
node1_id
)
})
function
handleNode1Change
(
nodeId
)
{
const
found
=
tripStore
.
node1List
.
find
(
node
=>
node
.
id
===
nodeId
)
if
(
!
found
)
return
form
.
node1
=
found
.
label
||
found
.
data
?.
label
form
.
node2
=
''
form
.
node2_id
=
''
}
function
handleNode2Change
(
nodeId
)
{
const
found
=
node2List
.
value
.
find
(
node
=>
node
.
id
===
nodeId
)
if
(
!
found
)
return
form
.
node2
=
found
.
label
||
found
.
data
?.
label
}
</
script
>
<
template
>
<el-dialog
title=
"自动化营销旅程设计-营销物料"
width=
"600"
@
closed=
"$emit('update:modelValue', false)"
>
<el-form
label-suffix=
":"
label-width=
"140"
:model=
"form"
:rules=
"rules"
ref=
"formRef"
>
<el-form-item
label=
"一级流程节点"
prop=
"node1"
>
<el-select-v2
v-model=
"form.node1"
:options=
"tripStore.node1List"
:props=
"
{ label: 'label', value: 'label' }">
</el-select-v2>
<el-form-item
label=
"一级流程节点"
prop=
"node1_id"
>
<el-select-v2
v-model=
"form.node1_id"
:options=
"tripStore.node1List"
:props=
"
{ label: 'label', value: 'id' }"
@change="handleNode1Change">
</el-select-v2>
</el-form-item>
<el-form-item
label=
"二级流程节点"
prop=
"node2"
>
<el-select-v2
v-model=
"form.node2
"
:options=
"tripStore.node2List"
:props=
"
{ label: 'label', value: 'label' }
">
</el-select-v2>
<el-form-item
label=
"二级流程节点"
prop=
"node2
_id
"
>
<el-select-v2
v-model=
"form.node2
_id"
:options=
"node2List"
:props=
"
{ label: 'label', value: 'id' }" @change="handleNode2Change
">
</el-select-v2>
</el-form-item>
<el-form-item
label=
"营销物料类型"
prop=
"type"
>
<el-select-v2
v-model=
"form.type"
:options=
"materialTypeList"
:props=
"
{ label: 'label', value: 'label' }">
</el-select-v2>
...
...
src/modules/market/my/stores/trip.ts
浏览文件 @
4791c309
...
...
@@ -12,6 +12,10 @@ export interface ElementState {
type
:
string
}
function
getCustomNodes
(
nodes
:
Node
[]
=
[])
{
return
nodes
.
filter
(
node
=>
node
.
type
===
'custom'
)
}
export
const
useTripStore
=
defineStore
(
'trip'
,
{
state
:
():
State
=>
{
return
{
...
...
@@ -61,14 +65,15 @@ export const useTripStore = defineStore('trip', {
getters
:
{
// 一级节点
node1List
(
state
)
{
return
state
.
nodes
.
filter
(
node
=>
node
.
type
===
'custom'
)
return
getCustomNodes
(
state
.
nodes
)
},
// 二级节点
node2List
():
Node
[]
{
return
this
.
node1List
?.
reduce
((
list
:
Node
[],
node
:
Node
)
=>
{
const
nodes
=
node
.
data
.
nodes
?.
filter
((
node
:
Node
)
=>
node
.
type
===
'custom'
)
||
[]
return
list
.
concat
(
nodes
)
},
[])
node2List
()
{
return
(
node1Id
:
string
)
=>
{
const
node1
=
this
.
nodes
.
find
(
node
=>
node
.
id
===
node1Id
)
if
(
!
node1
||
!
node1
?.
data
?.
nodes
)
return
[]
return
getCustomNodes
(
node1
.
data
.
nodes
)
}
}
},
actions
:
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论