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 (
千次曝光成本
)
}
}
}
}
}
}
}