|
@@ -12,7 +12,7 @@
|
|
|
<template #description>
|
|
|
<div class="desc-text">请填写基本信息</div>
|
|
|
<el-form-item label="规则名称" prop="title">
|
|
|
- <el-input v-model="formData.title" clearable placeholder="请输入规则名称" />
|
|
|
+ <el-input v-model="formData.title" clearable placeholder="请输入规则名称" style="width: 300px;"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="选择事件地址" prop="url">
|
|
|
<el-cascader
|
|
@@ -24,14 +24,25 @@
|
|
|
:props="{ label: 'operation', value: 'url' }"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="规则类型" prop="type">
|
|
|
+ <el-form-item label="触发类型" prop="triggerType">
|
|
|
+ <el-radio-group v-model="formData.triggerType">
|
|
|
+ <el-radio v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE)" :key="dict.value" :value="dict.value">
|
|
|
+ {{ dict.label }}
|
|
|
+ <Tooltip :message="dict.remark"/>
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="事件类型" prop="type">
|
|
|
<el-radio-group v-model="formData.type">
|
|
|
<el-radio v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TYPE)" :key="dict.value" :value="dict.value">
|
|
|
{{ dict.label }}
|
|
|
- <Tooltip :message="dict.remark"/>
|
|
|
+ <Tooltip :message="dict.remark" />
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="标记代码" prop="mark">
|
|
|
+ <el-input v-model="formData.mark" clearable placeholder="请输入标记代码" style="width: 300px;"/>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="排序" prop="sort">
|
|
|
<el-input-number v-model="formData.sort" :min="0" :precision="0" />
|
|
|
</el-form-item>
|
|
@@ -77,6 +88,7 @@ import ConditionPage from './condition.vue'
|
|
|
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
|
|
import { getEventTrackUrlList, savePointRuleConfig, getPointRuleConfigDetails, updatePointRuleConfig } from '@/api/menduner/system/integral'
|
|
|
|
|
|
+console.log(getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE), 'dict')
|
|
|
const { t } = useI18n() // 国际化
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
const dialogVisible = ref(false)
|
|
@@ -86,10 +98,12 @@ const formType = ref('')
|
|
|
const formData = ref({
|
|
|
title: '',
|
|
|
url: '',
|
|
|
+ mark: '',
|
|
|
status: 0,
|
|
|
+ triggerType: 0,
|
|
|
type: 0,
|
|
|
operation: '+',
|
|
|
- point: 100,
|
|
|
+ point: 1,
|
|
|
sort: 0
|
|
|
})
|
|
|
|
|
@@ -98,6 +112,7 @@ const formRules = reactive({
|
|
|
url: [{ required: true, message: '事件地址不能为空', trigger: 'blur' }],
|
|
|
status: [{ required: true, message: '事件状态不能为空', trigger: 'blur' }],
|
|
|
type: [{ required: true, message: '规则类型不能为空', trigger: 'blur' }],
|
|
|
+ triggerType: [{ required: true, message: '触发类型不能为空', trigger: 'blur' }],
|
|
|
operation: [{ required: true, message: '积分处理不能为空', trigger: 'blur' }],
|
|
|
point: [{ required: true, message: '积分数量不能为空', trigger: 'blur' }],
|
|
|
sort: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
|
|
@@ -131,6 +146,7 @@ const open = async (type, id) => {
|
|
|
try {
|
|
|
formData.value = await getPointRuleConfigDetails(id)
|
|
|
formData.value.status = Number(formData.value.status)
|
|
|
+ formData.value.triggerType = Number(formData.value.triggerType)
|
|
|
formData.value.type = Number(formData.value.type)
|
|
|
} finally {
|
|
|
formLoading.value = false
|
|
@@ -146,10 +162,12 @@ const resetForm = () => {
|
|
|
formData.value = {
|
|
|
title: '',
|
|
|
url: '',
|
|
|
+ mark: '',
|
|
|
status: 0,
|
|
|
+ triggerType: 0,
|
|
|
type: 0,
|
|
|
operation: '+',
|
|
|
- point: 100,
|
|
|
+ point: 1,
|
|
|
sort: 0
|
|
|
}
|
|
|
formRef.value?.resetFields()
|