提交 48013eb3 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 3a584198
...@@ -9,7 +9,7 @@ import EventRule from '@/components/rule/EventRule.vue' ...@@ -9,7 +9,7 @@ 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 RFMRule from '@/components/rule/RFMRule.vue'
import { pick } from 'lodash-es' import { pick, merge } from 'lodash-es'
interface Props { interface Props {
data: Partial<Group> data: Partial<Group>
...@@ -42,20 +42,19 @@ const form: any = reactive({ ...@@ -42,20 +42,19 @@ const form: any = reactive({
rules: { R: {}, F: {}, M: {} } rules: { R: {}, F: {}, M: {} }
}) })
function genRuleData(data: any) {
if (Array.isArray(data)) data = data[0]
return merge({ current_logic_operate: 'and', items: [] }, data)
}
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 = genRuleData(detail.user_attr_rule)
const [event_attr_rule = { current_logic_operate: 'and', items: [] }] = detail.event_attr_rule || [] const event_attr_rule = genRuleData(detail.event_attr_rule)
const [tag_rule = { current_logic_operate: 'and', items: [] }] = const user_action_rule = genRuleData(detail.user_action_rule)
detail.tag_rule?.map((tagItem: any) => { const tag_rule = genRuleData(detail.tag_rule)
const items = tagItem.items.map((item: any, index: number) => {
const rfm = tagItem.rfm_tag_map[index] || {}
return { tag_id: item.id, ...rfm }
})
return { ...tagItem, items }
}) || []
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
...@@ -65,10 +64,17 @@ function fetchInfo() { ...@@ -65,10 +64,17 @@ function fetchInfo() {
return item return item
}) })
const tagRuleItems = tag_rule.items.map((item: any, index: number) => {
const rfm = tag_rule.rfm_tag_map?.[index] || {}
return { tag_id: item.id, ...rfm }
})
Object.assign(form, detail, { Object.assign(form, detail, {
user_attr_rule: { ...user_attr_rule, attrRuleItems }, user_attr_rule: { ...user_attr_rule, items: attrRuleItems },
event_attr_rule: { ...event_attr_rule, eventRuleItems }, event_attr_rule: { ...event_attr_rule, items: eventRuleItems },
tag_rule user_action_rule,
tag_rule: { ...tag_rule, items: tagRuleItems },
update_rule: { type: 1, info: 1 }
}) })
}) })
} }
...@@ -107,7 +113,8 @@ async function handleCreate() { ...@@ -107,7 +113,8 @@ async function handleCreate() {
update_rule: JSON.stringify(form.update_rule), update_rule: JSON.stringify(form.update_rule),
user_attr_rule: JSON.stringify([form.user_attr_rule]), user_attr_rule: JSON.stringify([form.user_attr_rule]),
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, ...tagRule }]) tag_rule: JSON.stringify([{ ...form.tag_rule, ...tagRule }]),
user_action_rule: JSON.stringify(form.user_action_rule)
}, },
['name', 'status', 'update_status', 'update_rule', 'user_attr_rule', 'event_attr_rule', 'tag_rule', 'user_action_rule'] ['name', 'status', 'update_status', 'update_rule', 'user_attr_rule', 'event_attr_rule', 'tag_rule', 'user_action_rule']
) )
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论