|
@@ -1,215 +1,229 @@
|
|
|
import * as api from './api'
|
|
|
-import { dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet } from '@fast-crud/fast-crud'
|
|
|
-import { inject } from 'vue'
|
|
|
-import { BaseColumn } from '/@/views/adManage/utils/commonTabColumn.js'
|
|
|
-import { dynBidStrategyEnum } from '/@/views/adManage/utils/enum.js'
|
|
|
+import {dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet} from '@fast-crud/fast-crud'
|
|
|
+import {inject} from 'vue'
|
|
|
+import {BaseColumn} from '/@/views/adManage/utils/commonTabColumn.js'
|
|
|
+import {dynBidStrategyEnum} from '/@/views/adManage/utils/enum.js'
|
|
|
|
|
|
|
|
|
-export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
|
|
|
- const pageRequest = async (query: UserPageQuery) => {
|
|
|
- query["profile"] = context.profile.value.profile_id
|
|
|
- query["start"] = context.dateRange.value[0]
|
|
|
- query["end"] = context.dateRange.value[1]
|
|
|
- return await api.GetList(query);
|
|
|
- };
|
|
|
- const editRequest = async ({ form, row }: EditReq) => {
|
|
|
- form.id = row.id;
|
|
|
- return await api.UpdateObj(form);
|
|
|
- };
|
|
|
- const delRequest = async ({ row }: DelReq) => {
|
|
|
- return await api.DelObj(row.id);
|
|
|
- };
|
|
|
- const addRequest = async ({ form }: AddReq) => {
|
|
|
- return await api.AddObj(form);
|
|
|
- };
|
|
|
+export const createCrudOptions = function ({crudExpose, context}: CreateCrudOptionsProps): CreateCrudOptionsRet {
|
|
|
+ const pageRequest = async (query: UserPageQuery) => {
|
|
|
+ query['profile'] = context.profile.value.profile_id
|
|
|
+ query['start'] = context.dateRange.value[0]
|
|
|
+ query['end'] = context.dateRange.value[1]
|
|
|
+ return await api.GetList(query)
|
|
|
+ }
|
|
|
+ const editRequest = async ({form, row}: EditReq) => {
|
|
|
+ form.id = row.id
|
|
|
+ return await api.UpdateObj(form)
|
|
|
+ }
|
|
|
+ const delRequest = async ({row}: DelReq) => {
|
|
|
+ return await api.DelObj(row.id)
|
|
|
+ }
|
|
|
+ const addRequest = async ({form}: AddReq) => {
|
|
|
+ return await api.AddObj(form)
|
|
|
+ }
|
|
|
|
|
|
- //权限判定
|
|
|
- const hasPermissions = inject('$hasPermissions');
|
|
|
+ //权限判定
|
|
|
+ const hasPermissions = inject('$hasPermissions')
|
|
|
|
|
|
- return {
|
|
|
- crudOptions: {
|
|
|
- table: {
|
|
|
- height: 800
|
|
|
- },
|
|
|
- container: {
|
|
|
- fixedHeight: false
|
|
|
- },
|
|
|
- actionbar: {
|
|
|
- show: true,
|
|
|
- buttons: {
|
|
|
- add: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- create: {
|
|
|
- text: '新建广告活动',
|
|
|
- type: "primary",
|
|
|
- show: true,
|
|
|
- click() {
|
|
|
+ return {
|
|
|
+ crudOptions: {
|
|
|
+ table: {
|
|
|
+ height: 800
|
|
|
+ },
|
|
|
+ container: {
|
|
|
+ fixedHeight: false
|
|
|
+ },
|
|
|
+ actionbar: {
|
|
|
+ show: true,
|
|
|
+ buttons: {
|
|
|
+ add: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ create: {
|
|
|
+ text: '新建广告活动',
|
|
|
+ type: 'primary',
|
|
|
+ show: true,
|
|
|
+ click() {
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- search: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- toolbar: {
|
|
|
- buttons: {
|
|
|
- search: {
|
|
|
- show: true
|
|
|
- },
|
|
|
- compact: {
|
|
|
- show: false
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- request: {
|
|
|
- pageRequest,
|
|
|
- addRequest,
|
|
|
- editRequest,
|
|
|
- delRequest,
|
|
|
- },
|
|
|
- rowHandle: {
|
|
|
- fixed: 'right',
|
|
|
- width: 80,
|
|
|
- buttons: {
|
|
|
- view: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- edit: {
|
|
|
- iconRight: 'Edit',
|
|
|
- type: 'text',
|
|
|
- text: null
|
|
|
- // show: hasPermissions('dictionary:Update'),
|
|
|
- },
|
|
|
- remove: {
|
|
|
- show: false
|
|
|
- // iconRight: 'Delete',
|
|
|
- // type: 'text',
|
|
|
- // text: null
|
|
|
- // show: hasPermissions('dictionary:Delete'),
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- columns: {
|
|
|
- id: {
|
|
|
- title: 'ID',
|
|
|
- column: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- }
|
|
|
- },
|
|
|
- campaignName: {
|
|
|
- title: '广告活动',
|
|
|
- column: {
|
|
|
- width: '200px',
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- search: {
|
|
|
- show: true,
|
|
|
- component: {
|
|
|
- props: {
|
|
|
- clearable: true
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- form: {
|
|
|
- rules: [{required: true, message:'必填项'}]
|
|
|
- }
|
|
|
- },
|
|
|
- targetingType: {
|
|
|
- title: '投放类型',
|
|
|
- type: 'dict-select',
|
|
|
- search: {
|
|
|
- show: true
|
|
|
- },
|
|
|
- dict: dict({
|
|
|
- data: [
|
|
|
- { value: 'AUTO', label: '自动' },
|
|
|
- { value: 'MANUAL', label: '手动' },
|
|
|
- ]
|
|
|
- })
|
|
|
- },
|
|
|
- state: {
|
|
|
- title: '状态'
|
|
|
- },
|
|
|
- dynBidStrategy: {
|
|
|
- title: '竞价策略',
|
|
|
- form: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- column: {
|
|
|
- width: '160px'
|
|
|
- },
|
|
|
- type: 'dict-select',
|
|
|
- dict: dict({
|
|
|
- data: dynBidStrategyEnum
|
|
|
- })
|
|
|
- },
|
|
|
- startDate: {
|
|
|
- title: '开始日期',
|
|
|
- column: {
|
|
|
- width: '100px'
|
|
|
- },
|
|
|
- },
|
|
|
- endDate: {
|
|
|
- title: '结束日期',
|
|
|
- column: {
|
|
|
- width: '100px'
|
|
|
- },
|
|
|
- },
|
|
|
- budget: {
|
|
|
- title: '预算'
|
|
|
- },
|
|
|
- portfolioName: {
|
|
|
- title: '广告组合'
|
|
|
- },
|
|
|
- suggestedBudget: {
|
|
|
- title: '建议竞价',
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- }
|
|
|
- },
|
|
|
- percentTimeInBudget: {
|
|
|
- title: '预算活跃均值',
|
|
|
- column:{
|
|
|
- minWidth: 150
|
|
|
- },
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- }
|
|
|
- },
|
|
|
- MissedImpressions: {
|
|
|
- title: '预计错过的曝光',
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- column:{
|
|
|
- width: 180
|
|
|
- },
|
|
|
- },
|
|
|
- MissedClicks: {
|
|
|
- title: '预计错过的点击',
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- column:{
|
|
|
- width: 180
|
|
|
- },
|
|
|
- },
|
|
|
- MissedSales: {
|
|
|
- title: '预计错过的销售',
|
|
|
- form: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- column:{
|
|
|
- width: 180
|
|
|
- },
|
|
|
- },
|
|
|
- ...BaseColumn
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ search: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ toolbar: {
|
|
|
+ buttons: {
|
|
|
+ search: {
|
|
|
+ show: true
|
|
|
+ },
|
|
|
+ compact: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ request: {
|
|
|
+ pageRequest,
|
|
|
+ addRequest,
|
|
|
+ editRequest,
|
|
|
+ delRequest,
|
|
|
+ },
|
|
|
+ rowHandle: {
|
|
|
+ fixed: 'right',
|
|
|
+ width: 80,
|
|
|
+ buttons: {
|
|
|
+ view: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ edit: {
|
|
|
+ iconRight: 'Edit',
|
|
|
+ type: 'text',
|
|
|
+ text: null
|
|
|
+ // show: hasPermissions('dictionary:Update'),
|
|
|
+ },
|
|
|
+ remove: {
|
|
|
+ show: false
|
|
|
+ // iconRight: 'Delete',
|
|
|
+ // type: 'text',
|
|
|
+ // text: null
|
|
|
+ // show: hasPermissions('dictionary:Delete'),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ columns: {
|
|
|
+ id: {
|
|
|
+ title: 'ID',
|
|
|
+ column: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ campaignName: {
|
|
|
+ title: '广告活动',
|
|
|
+ column: {
|
|
|
+ width: '200px',
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ search: {
|
|
|
+ show: true,
|
|
|
+ component: {
|
|
|
+ props: {
|
|
|
+ clearable: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ rules: [{required: true, message: '必填项'}]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ targetingType: {
|
|
|
+ title: '投放类型',
|
|
|
+ type: 'dict-select',
|
|
|
+ search: {
|
|
|
+ show: true
|
|
|
+ },
|
|
|
+ dict: dict({
|
|
|
+ data: [
|
|
|
+ {value: 'AUTO', label: '自动'},
|
|
|
+ {value: 'MANUAL', label: '手动'},
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ },
|
|
|
+ state: {
|
|
|
+ title: '状态',
|
|
|
+ column: {
|
|
|
+ width: '90px',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ type: 'dict-select',
|
|
|
+ search: {
|
|
|
+ show: true
|
|
|
+ },
|
|
|
+ dict: dict({
|
|
|
+ data: [
|
|
|
+ {value: 'PAUSED', label: '已暂停', color: 'warning'},
|
|
|
+ {value: 'ENABLED', label: '投放中', color: 'success'},
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ },
|
|
|
+ dynBidStrategy: {
|
|
|
+ title: '竞价策略',
|
|
|
+ form: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ column: {
|
|
|
+ width: '160px'
|
|
|
+ },
|
|
|
+ type: 'dict-select',
|
|
|
+ dict: dict({
|
|
|
+ data: dynBidStrategyEnum
|
|
|
+ })
|
|
|
+ },
|
|
|
+ startDate: {
|
|
|
+ title: '开始日期',
|
|
|
+ column: {
|
|
|
+ width: '100px'
|
|
|
+ },
|
|
|
+ },
|
|
|
+ endDate: {
|
|
|
+ title: '结束日期',
|
|
|
+ column: {
|
|
|
+ width: '100px'
|
|
|
+ },
|
|
|
+ },
|
|
|
+ budget: {
|
|
|
+ title: '预算'
|
|
|
+ },
|
|
|
+ portfolioName: {
|
|
|
+ title: '广告组合'
|
|
|
+ },
|
|
|
+ suggestedBudget: {
|
|
|
+ title: '建议竞价',
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ percentTimeInBudget: {
|
|
|
+ title: '预算活跃均值',
|
|
|
+ column: {
|
|
|
+ minWidth: 150
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ MissedImpressions: {
|
|
|
+ title: '预计错过的曝光',
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ column: {
|
|
|
+ width: 180
|
|
|
+ },
|
|
|
+ },
|
|
|
+ MissedClicks: {
|
|
|
+ title: '预计错过的点击',
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ column: {
|
|
|
+ width: 180
|
|
|
+ },
|
|
|
+ },
|
|
|
+ MissedSales: {
|
|
|
+ title: '预计错过的销售',
|
|
|
+ form: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ column: {
|
|
|
+ width: 180
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ...BaseColumn
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|