|
@@ -1,178 +1,178 @@
|
|
|
import * as api from './api'
|
|
|
-import {dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet} from '@fast-crud/fast-crud'
|
|
|
+import {AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, dict, EditReq, UserPageQuery} 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 {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) => {
|
|
|
- query['profileId'] = context['profileId']
|
|
|
- query['startDate'] = context['start']
|
|
|
- query['endDate'] = 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 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')
|
|
|
+ //权限判定
|
|
|
+ const hasPermissions = inject('$hasPermissions')
|
|
|
|
|
|
- return {
|
|
|
- crudOptions: {
|
|
|
- table: {
|
|
|
- height: 800
|
|
|
- },
|
|
|
- container: {
|
|
|
- fixedHeight: false
|
|
|
- },
|
|
|
- actionbar: {
|
|
|
- show: true,
|
|
|
- buttons: {
|
|
|
- add: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- }
|
|
|
- },
|
|
|
- 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
|
|
|
- }
|
|
|
- },
|
|
|
- '商品和分类': {title: '商品和分类'},
|
|
|
- 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'},
|
|
|
- ]
|
|
|
- })
|
|
|
- },
|
|
|
- campaignName: {
|
|
|
- title: '广告活动名称',
|
|
|
- column: {
|
|
|
- width: '200px',
|
|
|
- align: 'center',
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- search: {
|
|
|
- show: true,
|
|
|
- component: {
|
|
|
- props: {
|
|
|
- clearable: true
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- form: {
|
|
|
- rules: [{required: true, message: '必填项'}]
|
|
|
- }
|
|
|
- },
|
|
|
- adGroupName: {
|
|
|
- title: '广告组名称',
|
|
|
- column: {
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- },
|
|
|
- suggestedBudget: {
|
|
|
- title: '建议竞价',
|
|
|
- column: {
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- },
|
|
|
- bid: {
|
|
|
- title: '出价',
|
|
|
- column: {
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- },
|
|
|
- '标签': {},
|
|
|
- Impression: {
|
|
|
- title: '曝光量',
|
|
|
- column: {
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- },
|
|
|
- '搜索结果顶部展示份额': {},
|
|
|
- Click: {
|
|
|
- title: '点击量',
|
|
|
- column: {
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- },
|
|
|
- CTR: {title: '点击率'},
|
|
|
- Spend: {title: '花费'},
|
|
|
- CPC: {title: '点击成本'},
|
|
|
- TotalPurchases: {title: '订单数'},
|
|
|
- TotalSales: {title: '销售额'},
|
|
|
- TotalUnitOrdered: {title: '销量'},
|
|
|
- PurchasesRate: {title: '转化率'},
|
|
|
- ACOS: {title: 'ACOS'},
|
|
|
- ROAS: {title: 'ROAS'},
|
|
|
- CPA: {title: '订单成本'},
|
|
|
- ...BaseColumn
|
|
|
- }
|
|
|
+ return {
|
|
|
+ crudOptions: {
|
|
|
+ table: {
|
|
|
+ height: 800
|
|
|
+ },
|
|
|
+ container: {
|
|
|
+ fixedHeight: false
|
|
|
+ },
|
|
|
+ actionbar: {
|
|
|
+ show: true,
|
|
|
+ buttons: {
|
|
|
+ add: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ },
|
|
|
+ '商品和分类': {title: '商品和分类'},
|
|
|
+ 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'},
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ },
|
|
|
+ campaignName: {
|
|
|
+ title: '广告活动名称',
|
|
|
+ column: {
|
|
|
+ width: '200px',
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ search: {
|
|
|
+ show: true,
|
|
|
+ component: {
|
|
|
+ props: {
|
|
|
+ clearable: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ rules: [{required: true, message: '必填项'}]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ adGroupName: {
|
|
|
+ title: '广告组名称',
|
|
|
+ column: {
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ suggestedBudget: {
|
|
|
+ title: '建议竞价',
|
|
|
+ column: {
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ bid: {
|
|
|
+ title: '出价',
|
|
|
+ column: {
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ '标签': {},
|
|
|
+ Impression: {
|
|
|
+ title: '曝光量',
|
|
|
+ column: {
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ '搜索结果顶部展示份额': {},
|
|
|
+ Click: {
|
|
|
+ title: '点击量',
|
|
|
+ column: {
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ CTR: {title: '点击率'},
|
|
|
+ Spend: {title: '花费'},
|
|
|
+ CPC: {title: '点击成本'},
|
|
|
+ TotalPurchases: {title: '订单数'},
|
|
|
+ TotalSales: {title: '销售额'},
|
|
|
+ TotalUnitOrdered: {title: '销量'},
|
|
|
+ PurchasesRate: {title: '转化率'},
|
|
|
+ ACOS: {title: 'ACOS'},
|
|
|
+ ROAS: {title: 'ROAS'},
|
|
|
+ CPA: {title: '订单成本'},
|
|
|
+ ...BaseColumn
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
}
|