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['profile'] = context['profileId'] query['start'] = context['start'] query['end'] = context['end'] 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: { iconRight: 'Delete', type: 'text', text: null // show: hasPermissions('dictionary:Delete'), }, }, }, columns: { id: { title: 'ID', column: { show: false }, form: { show: false } }, keywordText: { title: '关键词', column: { width: '200px', fixed: 'left' }, search: { show: true, component: { props: { clearable: true } } }, }, state: { title: '状态' }, campaignName: { title: '广告活动名称', column: { width: '200px', fixed: 'left' }, search: { show: true, component: { props: { clearable: true } } }, form: { rules: [{required: true, message: '必填项'}] } }, adGroupName: { title: '广告组名称', }, suggestedBudget: { title: '建议竞价', form: { show: false } }, bid: {title: '出价'}, '标签': {}, Impression: { title: '曝光量' }, '搜索结果顶部展示份额': {}, Click: { title: '点击量' }, CTR: { title: '点击率' }, Spend: { title: '花费' }, CPC: {title: '点击成本'}, TotalPurchases: {title: '订单数'}, TotalSales: {title: '销售额'}, TotalUnitOrdered: {title: '销量'}, PurchasesRate: {title: '转化率'}, ACOS: {title: 'ACOS'}, ROAS: {title: 'ROAS'}, CPA: {title: '订单成本'}, ...BaseColumn } } } }