Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-dml
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-dml
Commits
70901e2e
提交
70901e2e
authored
5月 08, 2024
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 新增RFM群组
上级
3e518ce7
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
93 行增加
和
60 行删除
+93
-60
api.ts
src/modules/group/api.ts
+19
-1
BindMembers.vue
src/modules/group/components/BindMembers.vue
+1
-1
FormDialog.vue
src/modules/group/components/FormDialog.vue
+52
-40
ViewDialog.vue
src/modules/group/components/ViewDialog.vue
+1
-1
types.ts
src/modules/group/types.ts
+7
-2
Index.vue
src/modules/group/views/Index.vue
+4
-9
StepThree.vue
src/modules/material/all/components/StepThree.vue
+3
-2
dictionary.ts
src/utils/dictionary.ts
+6
-4
没有找到文件。
src/modules/group/api.ts
浏览文件 @
70901e2e
import
httpRequest
from
'@/utils/axios'
import
httpRequest
from
'@/utils/axios'
import
type
{
GroupListRequest
,
StaticGroupCreateRequest
,
StaticGroupUpdateRequest
,
DynamicGroupCreateRequest
,
DynamicGroupUpdateRequest
}
from
'./types'
import
type
{
GroupListRequest
,
StaticGroupCreateRequest
,
StaticGroupUpdateRequest
,
DynamicGroupCreateRequest
,
DynamicGroupUpdateRequest
,
RFMGroupCreateRequest
,
RFMGroupUpdateRequest
}
from
'./types'
// 获取群组列表
// 获取群组列表
export
function
getGroupList
(
params
?:
GroupListRequest
)
{
export
function
getGroupList
(
params
?:
GroupListRequest
)
{
...
@@ -21,6 +29,16 @@ export function createDynamicGroup(data: DynamicGroupCreateRequest) {
...
@@ -21,6 +29,16 @@ export function createDynamicGroup(data: DynamicGroupCreateRequest) {
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-create-dynamic-group'
,
data
)
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-create-dynamic-group'
,
data
)
}
}
// 创建RFM群组
export
function
createRFMGroup
(
data
:
RFMGroupCreateRequest
)
{
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-create-frm-group'
,
data
)
}
// 更新RFM群组
export
function
updateRFMGroup
(
data
:
RFMGroupUpdateRequest
)
{
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-update-frm-group'
,
data
)
}
// 更新静态群组
// 更新静态群组
export
function
updateStaticGroup
(
data
:
StaticGroupUpdateRequest
)
{
export
function
updateStaticGroup
(
data
:
StaticGroupUpdateRequest
)
{
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-update-static-group'
,
data
)
return
httpRequest
.
post
(
'/api/lab/v1/experiment/group/bda-update-static-group'
,
data
)
...
...
src/modules/group/components/BindMembers.vue
浏览文件 @
70901e2e
...
@@ -56,7 +56,7 @@ function handleAdd() {
...
@@ -56,7 +56,7 @@ function handleAdd() {
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
title=
"添加群组用户"
width=
"
80
0px"
append-to-body
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-dialog
title=
"添加群组用户"
width=
"
98
0px"
append-to-body
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-form
label-suffix=
":"
label-width=
"82px"
>
<el-form
label-suffix=
":"
label-width=
"82px"
>
<el-row>
<el-row>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
...
src/modules/group/components/FormDialog.vue
浏览文件 @
70901e2e
...
@@ -2,12 +2,13 @@
...
@@ -2,12 +2,13 @@
import
type
{
Group
}
from
'../types'
import
type
{
Group
}
from
'../types'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
updateStatusRuleList
,
dateUnitList
,
week
List
}
from
'@/utils/dictionary'
import
{
getNameByValue
,
updateStatusRuleList
,
dateUnitList
,
weekList
,
groupType
List
}
from
'@/utils/dictionary'
import
{
createStaticGroup
,
updateStaticGroup
,
createDynamicGroup
,
updateDynamicGroup
,
getGroupInfo
}
from
'../api'
import
{
createStaticGroup
,
updateStaticGroup
,
createDynamicGroup
,
updateDynamicGroup
,
getGroupInfo
,
createRFMGroup
,
updateRFMGroup
}
from
'../api'
import
UserRule
from
'@/components/rule/UserRule.vue'
import
UserRule
from
'@/components/rule/UserRule.vue'
import
EventRule
from
'@/components/rule/EventRule.vue'
import
EventRule
from
'@/components/rule/EventRule.vue'
import
LabelRule
from
'@/components/rule/LabelRule.vue'
import
LabelRule
from
'@/components/rule/LabelRule.vue'
import
UserActionRule
from
'@/components/rule/UserActionRule.vue'
import
UserActionRule
from
'@/components/rule/UserActionRule.vue'
import
RFMRule
from
'@/components/rule/RFMRule.vue'
import
{
pick
}
from
'lodash-es'
import
{
pick
}
from
'lodash-es'
interface
Props
{
interface
Props
{
...
@@ -20,16 +21,13 @@ const emit = defineEmits<{
...
@@ -20,16 +21,13 @@ const emit = defineEmits<{
(
e
:
'update:modelValue'
,
visible
:
boolean
):
void
(
e
:
'update:modelValue'
,
visible
:
boolean
):
void
}
>
()
}
>
()
const
isUpdate
=
$computed
(()
=>
!!
props
.
data
?.
id
)
const
isUpdate
=
computed
(()
=>
!!
props
.
data
?.
id
)
const
title
=
$computed
(()
=>
{
const
title
=
computed
(()
=>
{
if
(
isUpdate
)
{
const
typeName
=
getNameByValue
(
props
.
data
.
type
as
string
,
groupTypeList
)
return
props
.
data
.
type
===
'1'
?
'修改静态群组'
:
'修改动态群组'
return
isUpdate
.
value
?
`修改
${
typeName
}
`
:
`新建
${
typeName
}
`
}
else
{
return
props
.
data
.
type
===
'1'
?
'新建静态群组'
:
'新建动态群组'
}
})
})
const
formRef
=
$
ref
<
FormInstance
>
()
const
formRef
=
ref
<
FormInstance
>
()
const
form
:
any
=
reactive
({
const
form
:
any
=
reactive
({
id
:
''
,
id
:
''
,
name
:
''
,
name
:
''
,
...
@@ -40,30 +38,20 @@ const form: any = reactive({
...
@@ -40,30 +38,20 @@ const form: any = reactive({
user_attr_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
user_attr_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
event_attr_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
event_attr_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
tag_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
tag_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
user_action_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
}
user_action_rule
:
{
current_logic_operate
:
'and'
,
items
:
[]
},
})
rules
:
{
R
:
{},
F
:
{},
M
:
{}
}
watchEffect
(()
=>
{
if
(
props
.
data
?.
id
)
{
let
updateRule
=
{
type
:
1
,
info
:
1
}
try
{
updateRule
=
JSON
.
parse
(
props
.
data
.
update_rule
as
string
)
}
catch
(
error
)
{
console
.
log
(
error
)
}
Object
.
assign
(
form
,
props
.
data
,
{
update_rule
:
updateRule
})
}
})
})
function
fetchInfo
()
{
function
fetchInfo
()
{
if
(
!
props
.
data
.
id
)
return
if
(
!
props
.
data
.
id
)
return
getGroupInfo
({
id
:
props
.
data
.
id
}).
then
(
res
=>
{
getGroupInfo
({
id
:
props
.
data
.
id
}).
then
(
res
=>
{
const
{
detail
}
=
res
.
data
const
{
detail
}
=
res
.
data
const
[
user_attr_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
detail
.
user_attr_rule
const
[
user_attr_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
detail
.
user_attr_rule
||
[]
const
[
event_attr_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
detail
.
event_attr_rule
const
[
event_attr_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
detail
.
event_attr_rule
||
[]
const
[
tag_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
detail
.
tag_rule
.
map
((
item
:
any
)
=>
{
const
[
tag_rule
=
{
current_logic_operate
:
'and'
,
items
:
[]
}]
=
return
{
...
item
,
items
:
item
.
items
.
map
((
item
:
any
)
=>
item
.
id
)
}
detail
.
tag_rule
?.
map
((
item
:
any
)
=>
{
})
return
{
...
item
,
items
:
item
.
items
.
map
((
item
:
any
)
=>
item
.
id
)
}
})
||
[]
const
attrRuleItems
=
user_attr_rule
.
items
.
map
((
item
:
any
)
=>
{
const
attrRuleItems
=
user_attr_rule
.
items
.
map
((
item
:
any
)
=>
{
item
.
value
=
[
'in'
,
'not in'
].
includes
(
item
.
operate
)
?
item
.
value
.
split
(
','
)
:
item
.
value
item
.
value
=
[
'in'
,
'not in'
].
includes
(
item
.
operate
)
?
item
.
value
.
split
(
','
)
:
item
.
value
return
item
return
item
...
@@ -73,11 +61,10 @@ function fetchInfo() {
...
@@ -73,11 +61,10 @@ function fetchInfo() {
return
item
return
item
})
})
Object
.
assign
(
form
,
{
Object
.
assign
(
form
,
detail
,
{
user_attr_rule
:
{
...
user_attr_rule
,
attrRuleItems
},
user_attr_rule
:
{
...
user_attr_rule
,
attrRuleItems
},
event_attr_rule
:
{
...
event_attr_rule
,
eventRuleItems
},
event_attr_rule
:
{
...
event_attr_rule
,
eventRuleItems
},
tag_rule
,
tag_rule
user_action_rule
:
detail
.
user_action_rule
})
})
})
})
}
}
...
@@ -85,13 +72,12 @@ function fetchInfo() {
...
@@ -85,13 +72,12 @@ function fetchInfo() {
watchEffect
(()
=>
fetchInfo
())
watchEffect
(()
=>
fetchInfo
())
const
rules
=
ref
<
FormRules
>
({
const
rules
=
ref
<
FormRules
>
({
name
:
[{
required
:
true
,
message
:
'请输入群组名称'
}],
name
:
[{
required
:
true
,
message
:
'请输入群组名称'
}]
url
:
[{
required
:
true
,
message
:
'请选择标签类型图标'
}]
})
})
// 提交
// 提交
function
handleSubmit
()
{
function
handleSubmit
()
{
formRef
?.
validate
().
then
(()
=>
(
isUpdat
e
?
handleUpdate
()
:
handleCreate
()))
formRef
.
value
?.
validate
().
then
(()
=>
(
isUpdate
.
valu
e
?
handleUpdate
()
:
handleCreate
()))
}
}
// 新建
// 新建
async
function
handleCreate
()
{
async
function
handleCreate
()
{
...
@@ -99,7 +85,7 @@ async function handleCreate() {
...
@@ -99,7 +85,7 @@ async function handleCreate() {
// 静态群组
// 静态群组
const
params
=
pick
(
form
,
[
'name'
,
'status'
])
const
params
=
pick
(
form
,
[
'name'
,
'status'
])
await
createStaticGroup
(
params
)
await
createStaticGroup
(
params
)
}
else
{
}
else
if
(
props
.
data
.
type
===
'2'
)
{
// 动态群组
// 动态群组
const
params
=
pick
(
const
params
=
pick
(
{
{
...
@@ -109,9 +95,20 @@ async function handleCreate() {
...
@@ -109,9 +95,20 @@ async function handleCreate() {
event_attr_rule
:
JSON
.
stringify
([
form
.
event_attr_rule
]),
event_attr_rule
:
JSON
.
stringify
([
form
.
event_attr_rule
]),
tag_rule
:
JSON
.
stringify
([
form
.
tag_rule
])
tag_rule
:
JSON
.
stringify
([
form
.
tag_rule
])
},
},
[
'name'
,
'
update_status'
,
'update_rule'
,
'user_attr_rule'
,
'event_attr_rule'
,
'tag_rule'
,
'user_action_rule'
,
'status
'
]
[
'name'
,
'
status'
,
'update_status'
,
'update_rule'
,
'user_attr_rule'
,
'event_attr_rule'
,
'tag_rule'
,
'user_action_rule
'
]
)
)
await
createDynamicGroup
(
params
)
await
createDynamicGroup
(
params
)
}
else
{
// RFM群组
const
params
=
pick
(
{
...
form
,
update_rule
:
JSON
.
stringify
(
form
.
update_rule
),
rules
:
JSON
.
stringify
(
form
.
rules
)
},
[
'name'
,
'status'
,
'update_status'
,
'update_rule'
,
'rules'
]
)
await
createRFMGroup
(
params
)
}
}
ElMessage
({
message
:
'创建成功'
,
type
:
'success'
})
ElMessage
({
message
:
'创建成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update'
)
...
@@ -123,7 +120,8 @@ async function handleUpdate() {
...
@@ -123,7 +120,8 @@ async function handleUpdate() {
// 静态群组
// 静态群组
const
params
=
pick
(
form
,
[
'id'
,
'name'
,
'status'
])
const
params
=
pick
(
form
,
[
'id'
,
'name'
,
'status'
])
await
updateStaticGroup
(
params
)
await
updateStaticGroup
(
params
)
}
else
{
}
else
if
(
props
.
data
.
type
===
'2'
)
{
// 动态群组
const
attrRuleItems
=
form
.
user_attr_rule
.
items
.
map
((
item
:
any
)
=>
{
const
attrRuleItems
=
form
.
user_attr_rule
.
items
.
map
((
item
:
any
)
=>
{
item
.
value
=
Array
.
isArray
(
item
.
value
)
?
item
.
value
.
join
(
','
)
:
item
.
value
item
.
value
=
Array
.
isArray
(
item
.
value
)
?
item
.
value
.
join
(
','
)
:
item
.
value
return
item
return
item
...
@@ -142,9 +140,20 @@ async function handleUpdate() {
...
@@ -142,9 +140,20 @@ async function handleUpdate() {
tag_rule
:
JSON
.
stringify
([
form
.
tag_rule
]),
tag_rule
:
JSON
.
stringify
([
form
.
tag_rule
]),
user_action_rule
:
JSON
.
stringify
(
form
.
user_action_rule
)
user_action_rule
:
JSON
.
stringify
(
form
.
user_action_rule
)
},
},
[
'id'
,
'name'
,
'
update_status'
,
'update_rule'
,
'user_attr_rule'
,
'event_attr_rule'
,
'tag_rule'
,
'user_action_rule'
,
'status
'
]
[
'id'
,
'name'
,
'
status'
,
'update_status'
,
'update_rule'
,
'user_attr_rule'
,
'event_attr_rule'
,
'tag_rule'
,
'user_action_rule
'
]
)
)
await
updateDynamicGroup
(
params
)
await
updateDynamicGroup
(
params
)
}
else
{
// RFM群组
const
params
=
pick
({
...
form
,
update_rule
:
JSON
.
stringify
(
form
.
update_rule
),
rules
:
JSON
.
stringify
(
form
.
rules
)
},
[
'id'
,
'name'
,
'status'
,
'update_status'
,
'update_rule'
,
'rules'
])
await
updateRFMGroup
(
params
)
}
}
ElMessage
({
message
:
'修改成功'
,
type
:
'success'
})
ElMessage
({
message
:
'修改成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update'
)
...
@@ -153,12 +162,12 @@ async function handleUpdate() {
...
@@ -153,12 +162,12 @@ async function handleUpdate() {
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
:title=
"title"
:close-on-click-modal=
"false"
width=
"
80
0px"
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-dialog
:title=
"title"
:close-on-click-modal=
"false"
width=
"
98
0px"
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"100px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"100px"
>
<el-form-item
label=
"群组名称"
prop=
"name"
>
<el-form-item
label=
"群组名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
</el-form-item>
<template
v-if=
"data.type
=== '2
'"
>
<template
v-if=
"data.type
!== '1
'"
>
<el-form-item
label=
"更新频率"
prop=
"update_status"
>
<el-form-item
label=
"更新频率"
prop=
"update_status"
>
<el-radio-group
v-model=
"form.update_status"
>
<el-radio-group
v-model=
"form.update_status"
>
<el-radio
v-for=
"item in updateStatusRuleList"
:key=
"item.value"
:value=
"item.value"
:disabled=
"item.value === '1'"
>
<el-radio
v-for=
"item in updateStatusRuleList"
:key=
"item.value"
:value=
"item.value"
:disabled=
"item.value === '1'"
>
...
@@ -202,6 +211,9 @@ async function handleUpdate() {
...
@@ -202,6 +211,9 @@ async function handleUpdate() {
<LabelRule
v-model=
"form.tag_rule"
style=
"margin-top: 20px"
></LabelRule>
<LabelRule
v-model=
"form.tag_rule"
style=
"margin-top: 20px"
></LabelRule>
<UserActionRule
v-model=
"form.user_action_rule"
style=
"margin-top: 20px"
></UserActionRule>
<UserActionRule
v-model=
"form.user_action_rule"
style=
"margin-top: 20px"
></UserActionRule>
</
template
>
</
template
>
<
template
v-if=
"data.type === '3'"
>
<RFMRule
v-model=
"form.rules"
></RFMRule>
</
template
>
</el-form>
</el-form>
<
template
#
footer
>
<
template
#
footer
>
<el-row
justify=
"center"
>
<el-row
justify=
"center"
>
...
...
src/modules/group/components/ViewDialog.vue
浏览文件 @
70901e2e
...
@@ -99,7 +99,7 @@ function handleRefresh() {
...
@@ -99,7 +99,7 @@ function handleRefresh() {
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
title=
"查看群组信息"
width=
"
80
0px"
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-dialog
title=
"查看群组信息"
width=
"
98
0px"
@
update:modelValue=
"value => $emit('update:modelValue', value)"
>
<el-form
label-suffix=
":"
label-width=
"82px"
>
<el-form
label-suffix=
":"
label-width=
"82px"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
...
src/modules/group/types.ts
浏览文件 @
70901e2e
...
@@ -3,9 +3,8 @@ import type { Operator } from '@/types'
...
@@ -3,9 +3,8 @@ import type { Operator } from '@/types'
export
interface
Group
{
export
interface
Group
{
id
:
string
id
:
string
name
:
string
name
:
string
type_id
:
string
status
:
string
status
:
string
type
:
'1'
|
'2'
type
:
'1'
|
'2'
|
'3'
update_status
:
string
// '1' | '2'
update_status
:
string
// '1' | '2'
update_rule
:
string
update_rule
:
string
created_time
:
string
created_time
:
string
...
@@ -16,6 +15,7 @@ export interface Group {
...
@@ -16,6 +15,7 @@ export interface Group {
event_attr_rule
?:
string
event_attr_rule
?:
string
tag_rule
?:
string
tag_rule
?:
string
record
?:
any
record
?:
any
rules
?:
string
}
}
export
type
GroupListRequest
=
Pick
<
Group
,
'id'
|
'name'
>
&
{
experiment_id
?:
string
}
export
type
GroupListRequest
=
Pick
<
Group
,
'id'
|
'name'
>
&
{
experiment_id
?:
string
}
...
@@ -35,6 +35,11 @@ export type DynamicGroupUpdateRequest = Pick<
...
@@ -35,6 +35,11 @@ export type DynamicGroupUpdateRequest = Pick<
}
}
export
type
DynamicGroupCreateRequest
=
Omit
<
DynamicGroupUpdateRequest
,
'id'
>
export
type
DynamicGroupCreateRequest
=
Omit
<
DynamicGroupUpdateRequest
,
'id'
>
// RFM群组
export
type
RFMGroupUpdateRequest
=
Pick
<
Group
,
'id'
|
'name'
|
'update_status'
|
'update_rule'
|
'rules'
|
'status'
>
&
{
experiment_id
?:
string
}
export
type
RFMGroupCreateRequest
=
Omit
<
RFMGroupUpdateRequest
,
'id'
>
export
interface
GroupMember
{
export
interface
GroupMember
{
id
:
string
id
:
string
name
:
string
name
:
string
...
...
src/modules/group/views/Index.vue
浏览文件 @
70901e2e
...
@@ -82,7 +82,7 @@ let formVisible = $ref(false)
...
@@ -82,7 +82,7 @@ let formVisible = $ref(false)
let
currentRow
=
$ref
<
Partial
<
Group
>>
()
let
currentRow
=
$ref
<
Partial
<
Group
>>
()
// 新建
// 新建
function
handleAdd
(
type
:
'1'
|
'2'
)
{
function
handleAdd
(
type
:
'1'
|
'2'
|
'3'
)
{
currentRow
=
{
type
}
currentRow
=
{
type
}
formVisible
=
true
formVisible
=
true
}
}
...
@@ -120,6 +120,7 @@ function handleView(row: Group) {
...
@@ -120,6 +120,7 @@ function handleView(row: Group) {
<el-dropdown-menu>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"handleAdd('2')"
>
新建动态群组
</el-dropdown-item>
<el-dropdown-item
@
click=
"handleAdd('2')"
>
新建动态群组
</el-dropdown-item>
<el-dropdown-item
@
click=
"handleAdd('1')"
>
新建静态群组
</el-dropdown-item>
<el-dropdown-item
@
click=
"handleAdd('1')"
>
新建静态群组
</el-dropdown-item>
<el-dropdown-item
@
click=
"handleAdd('3')"
>
新建RFM群组
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</
template
>
</
template
>
</el-dropdown>
</el-dropdown>
...
@@ -147,19 +148,13 @@ function handleView(row: Group) {
...
@@ -147,19 +148,13 @@ function handleView(row: Group) {
v-permission=
"['experiment_group_create_dynamic_group', 'experiment_group_update_static_group']"
v-permission=
"['experiment_group_create_dynamic_group', 'experiment_group_update_static_group']"
>
编辑
</el-button
>
编辑
</el-button
>
>
<el-button
type=
"primary"
plain
@
click=
"handleRemove([row])"
v-permission=
"'experiment_group_delete'"
<el-button
type=
"primary"
plain
@
click=
"handleRemove([row])"
v-permission=
"'experiment_group_delete'"
>
删除
</el-button>
>
删除
</el-button
>
</
template
>
</
template
>
</AppList>
</AppList>
</AppCard>
</AppCard>
<!-- 新建/修改群组 -->
<!-- 新建/修改群组 -->
<FormDialog
<FormDialog
v-model=
"formVisible"
:data=
"currentRow"
@
update=
"handleRefresh"
v-if=
"formVisible && currentRow"
></FormDialog>
v-model=
"formVisible"
:data=
"currentRow"
@
update=
"handleRefresh"
v-if=
"formVisible && currentRow"
></FormDialog>
<!-- 查看 -->
<!-- 查看 -->
<ViewDialog
v-model=
"viewVisible"
:data=
"(currentRow as Group)"
v-if=
"viewVisible && currentRow"
></ViewDialog>
<ViewDialog
v-model=
"viewVisible"
:data=
"(currentRow as Group)"
v-if=
"viewVisible && currentRow"
></ViewDialog>
</template>
</template>
src/modules/material/all/components/StepThree.vue
浏览文件 @
70901e2e
...
@@ -3,7 +3,8 @@ import { useMapStore } from '@/stores/map'
...
@@ -3,7 +3,8 @@ import { useMapStore } from '@/stores/map'
import
{
getNameByValue
,
materialMethodList
}
from
'@/utils/dictionary'
import
{
getNameByValue
,
materialMethodList
}
from
'@/utils/dictionary'
import
AppUpload
from
'@/components/base/AppUpload.vue'
import
AppUpload
from
'@/components/base/AppUpload.vue'
import
AIChat
from
'./AIChat.vue'
import
AIChat
from
'./AIChat.vue'
import
ChuangKitDesign
from
'./ChuangKitDesign.vue'
const
ChuangKitDesign
=
defineAsyncComponent
(()
=>
import
(
'./ChuangKitDesign.vue'
))
defineProps
([
'action'
])
defineProps
([
'action'
])
...
@@ -62,7 +63,7 @@ const designVisible = ref(false)
...
@@ -62,7 +63,7 @@ const designVisible = ref(false)
<div>
<div>
<!-- 图片|二维码|小程序|卡券 -->
<!-- 图片|二维码|小程序|卡券 -->
<AppUpload
v-model=
"form.content"
accept=
"image/*"
></AppUpload>
<AppUpload
v-model=
"form.content"
accept=
"image/*"
></AppUpload>
<el-button
type=
"primary"
@
click=
"designVisible = true"
v-if=
"form.way == 3"
>
打开编辑器
</el-button>
<el-button
type=
"primary"
@
click=
"designVisible = true"
style=
"width: 178px"
v-if=
"form.way == 3"
>
打开编辑器
</el-button>
</div>
</div>
</
template
>
</
template
>
<
template
v-if=
"form.type == 3"
>
<
template
v-if=
"form.type == 3"
>
...
...
src/utils/dictionary.ts
浏览文件 @
70901e2e
...
@@ -16,7 +16,8 @@ export const tripTemplateTypeList = [
...
@@ -16,7 +16,8 @@ export const tripTemplateTypeList = [
// 群组类型
// 群组类型
export
const
groupTypeList
=
[
export
const
groupTypeList
=
[
{
label
:
'静态群组'
,
value
:
'1'
},
{
label
:
'静态群组'
,
value
:
'1'
},
{
label
:
'动态群组'
,
value
:
'2'
}
{
label
:
'动态群组'
,
value
:
'2'
},
{
label
:
'RFM群组'
,
value
:
'3'
}
]
]
// 更新方式
// 更新方式
...
@@ -101,8 +102,8 @@ export const labelList = [
...
@@ -101,8 +102,8 @@ export const labelList = [
{
label
:
'事件偏好标签 '
,
value
:
'2'
},
{
label
:
'事件偏好标签 '
,
value
:
'2'
},
{
label
:
'事件指标标签 '
,
value
:
'3'
},
{
label
:
'事件指标标签 '
,
value
:
'3'
},
{
label
:
'自定义标签'
,
value
:
'7'
},
{
label
:
'自定义标签'
,
value
:
'7'
},
{
label
:
'分层标签 '
,
value
:
'1'
}
,
{
label
:
'分层标签 '
,
value
:
'1'
}
{
label
:
'RFM模型标签 '
,
value
:
'4'
}
//
{ label: 'RFM模型标签 ', value: '4' }
]
]
export
const
wayList
=
[
export
const
wayList
=
[
...
@@ -113,7 +114,8 @@ export const wayList = [
...
@@ -113,7 +114,8 @@ export const wayList = [
export
const
materialMethodList
=
[
export
const
materialMethodList
=
[
{
label
:
'离线上传 '
,
value
:
'2'
},
{
label
:
'离线上传 '
,
value
:
'2'
},
{
label
:
'在线AI '
,
value
:
'1'
}
{
label
:
'在线AI'
,
value
:
'1'
}
// { label: '在线设计', value: '3' }
]
]
// 使用场景
// 使用场景
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论