import * as api from './api' import {AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery} from '@fast-crud/fast-crud' import {inject} from 'vue' import {BaseColumn} from '/@/views/adManage/utils/commonTabColumn.js' import {parseQueryParams} from '/@/views/adManage/utils/tools.js' import XEUtils from 'xe-utils' export const createCrudOptions = function ({crudExpose, context}: CreateCrudOptionsProps): CreateCrudOptionsRet { const pageRequest = async (query: UserPageQuery) => { const params = parseQueryParams(context.value) XEUtils.assign(query, params) 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, showSummary: true, headerCellStyle: { backgroundColor: '#f6f7fa', // 直接设置背景颜色 // border: '0.5px solid #ddd', }, cellStyle: { border: 'none', borderBottom: '0.5px solid #ddd' }, }, container: { fixedHeight: false }, actionbar: { show: false, buttons: { add: { show: false }, } }, search: { show: false }, toolbar: { buttons: { search: { show: true }, compact: { show: false } } }, request: { pageRequest, addRequest, editRequest, delRequest, }, rowHandle: { show: false, }, columns: { id: { title: 'ID', column: { show: false }, form: { show: false } }, Name: { title: '日期', column: { width: 100, align: 'left', fixed: 'left', // border: '0.5px solid #ddd', cellStyle: { border: '1px solid #ddd', } }, }, Spend: { title: '花费', column: { align: 'center', width: 100, sortable: true, border: '0.5px solid #ddd', renderHeader() { return ( 花费 ) } } }, TotalSales: { title: '销售额', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 销售额 ) } } }, ACOS: { title: 'ACOS', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( ACOS ) } } }, ROAS: { title: 'ROAS', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( ROAS ) } } }, CPC: { title: '点击成本', column: { align: 'center', sortable: true, width: 130, renderHeader() { return ( 点击成本 ) } } }, CPA: { title: '订单成本', column: { align: 'center', sortable: true, width: 130, renderHeader() { return ( 订单成本 ) } } }, Click: { title: '点击量', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 点击量 ) } } }, CTR: { title: '点击率', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 点击率 ) } } }, TotalPurchases: { title: '订单数', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 订单数 ) } } }, TotalUnitOrdered: { title: '销量', column: { align: 'center', width: 100, sortable: true, renderHeader() { return ( 销量 ) } } }, Impression: { title: '曝光量', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 曝光量 ) } } }, PurchasesRate: { title: '转化率', column: { align: 'center', width: 130, sortable: true, renderHeader() { return ( 转化率 ) } } }, CPM: { title: '千次曝光成本', column: { align: 'center', sortable: true, width: 150, renderHeader() { return ( 千次曝光成本 ) } } } } } } }