123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- 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'
- export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
- const pageRequest = async (query: UserPageQuery) => {
- query["profileId"] = context.profile.value.profile_id
- query["startDate"] = context.dateRange.value[0]
- query["endDate"] = 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');
- 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
- }
- }
- }
- }
|