Commit 1ef1a1fa authored by lijin's avatar lijin

增加计划投放任务管理

parent 2f7301db
import request from '@/utils/request'
export function getCampaignTaskList(params) {
return request({
url: process.env.PUTIN_API + '/campaign-tasks',
method: 'get',
params
})
}
export function getCampaignTaskById(id) {
return request({
url: process.env.PUTIN_API + `/campaign-tasks/${id}`,
method: 'get'
})
}
export function createCampaignTask(data) {
return request({
url: process.env.PUTIN_API + '/campaign-tasks',
method: 'post',
data
})
}
export function updateCampaignTask(data) {
return request({
url: process.env.PUTIN_API + '/campaign-tasks',
method: 'put',
data
})
}
export function deleteCampaignTask(id) {
return request({
url: process.env.PUTIN_API + `/campaign-tasks/${id}`,
method: 'delete'
})
}
<template>
<el-select
v-model="selectedValues"
filterable
clearable
placeholder="请选择计划模板"
@change="handleChange"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</template>
<script>
import axios from 'axios'
export default {
name: 'CampaignTemplateSelector',
props: {
value: {
type: [Number, String, null],
default: null
}
},
data() {
return {
options: [],
selectedValues: []
}
},
watch: {
value: {
handler(newVal) {
this.selectedValues = newVal
},
immediate: true
}
},
created() {
this.fetchOptions()
},
methods: {
async fetchOptions() {
try {
const response = await axios.get(process.env.PUTIN_API + '/campaign-templates')
if (response.data && response.data.result && response.data.result.data) {
this.options = response.data.result.data.value || []
}
} catch (error) {
console.error('Failed to fetch campaign templates:', error)
}
},
handleChange(values) {
this.$emit('input', values)
this.$emit('change', values)
}
}
}
</script>
......@@ -70,6 +70,13 @@ export const constantRouterMap = [
meta: { title: "创意投放", icon: "chart" }
},
{
path: '/intelligentDelivery/campaign-task',
name: "intelligentDelivery.campaign-task",
component: () => import('@/views/campaignTask/CampaignTaskManage'),
meta: { title: '计划投放' }
},
{
path: '/intelligentDelivery/campaign-template',
name: "intelligentDelivery.campaign-template",
......
This diff is collapsed.
......@@ -19,9 +19,20 @@
<el-submenu index="2">
<template slot="title">推广管理</template>
<el-menu-item index="/intelligentDelivery/createDelivery">创建计划</el-menu-item>
<el-menu-item index="/intelligentDelivery/campaign-task">计划投放</el-menu-item>
<el-menu-item index="/intelligentDelivery/campaign-template">计划模板</el-menu-item>
</el-submenu>
<!-- 带子菜单的导航项 -->
<el-submenu index="4">
<template slot="title">资产管理</template>
<el-menu-item index="/intelligentDelivery/campaign-template">产品组</el-menu-item>
<el-menu-item index="/intelligentDelivery/createDelivery">地域组</el-menu-item>
<el-menu-item index="/intelligentDelivery/createDelivery">素材组</el-menu-item>
<el-menu-item index="/intelligentDelivery/createDelivery">标题组</el-menu-item>
<el-menu-item index="/intelligentDelivery/createDelivery">描述组</el-menu-item>
</el-submenu>
<el-submenu index="3">
<template slot="title">工具</template>
<el-menu-item index="/assetManagement/googleOauthYoutube">Youtube账号管理</el-menu-item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment