import { defineAsyncComponent } from "vue" import type { AsideEntity } from './aside' export interface RowData { id: string fromtaskname: string approvalnode: string states: number similarity: string fromuptime: string updatetime: string title: string fromtaskid: string } export interface ColumnEntity { title: string fixed: boolean// 固定显示,不可隐藏 key: string fixLeft?: boolean// 列固定显示左侧 width: number } // 表格列默认配置 export const ColumnsMap: Recordable = { id: { title: '任务Id', fixed: true, fixLeft: true, key: 'id', width: 100, }, name: { title: '任务名称', fixed: true, key: 'name', width: 200, }, approvalnode: { title: '审批节点', fixed: true, key: 'approvalnode', width: 100, }, approvalstatus: { title: '审批状态', fixed: true, key: 'approvalstatus', width: 100, }, similarity: { title: '图片相似度', fixed: false, key: 'similarity', width: 100, }, uptime: { title: '提报时间', fixed: false, key: 'uptime', width: 200, }, updatetime: { title: '更新时间', fixed: false, key: 'updatetime', width: 200, }, } export const headRules = ['任务Id', '任务名称', '审批节点', '审批状态', '图片相似度', '提报时间', '更新时间'] export function findKey(columns: any[], header: string) { const item = columns.find((column) => { return (column as any).title === header }) return (item as any).key } // 终审左侧配置 export const asideMap: Recordable = { izupuser: { label: '提报人', defaultValue: null, isDefaultFilter: true, key: 'izupuser', // component: ReportUserVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/ReportUser.vue")), }, izproject: { label: '所属项目', defaultValue: null, isDefaultFilter: true, key: 'izproject', // component: IzProjectVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzProject.vue")), }, izplan: { label: '所属计划', defaultValue: null, isDefaultFilter: true, key: 'izplan', // component: PlanVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Plan.vue")), }, izstatus: { label: '审批状态', defaultValue: null, isDefaultFilter: false, key: 'izstatus', // component: IzStatus, // todo component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzStatus.vue")), }, izyear: { label: '提报时间', defaultValue: null, isDefaultFilter: true, key: 'izyear', // component: TimeVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Time.vue")), }, iztaskrrom: { label: '任务来源', defaultValue: null, isDefaultFilter: false, key: 'iztaskrrom', // component: IztaskrromVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Iztaskrrom.vue")), }, izshowall: { label: '显示全部任务数据', defaultValue: false, isDefaultFilter: false, key: 'izshowall', // component: IzShowAll, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzShowAll.vue")), inFilterList: false, }, } // 审批添加筛选配置 (左侧) export const asideTaskMap: Recordable = { izApprovalStatus: { label: '审批状态', defaultValue: null, isDefaultFilter: true, key: 'izApprovalStatus', // component: IzApprovalStatus, // todo component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzApprovalStatus.vue")), }, izuptime: { label: '提报时间', defaultValue: null, isDefaultFilter: true, key: 'izuptime', // component: TimeVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Time.vue")), }, izupuser: { label: '提报人', defaultValue: null, isDefaultFilter: true, key: 'izupuser', // component: ReportUserVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/ReportUser.vue")), }, iztaskrrom: { label: '任务来源', defaultValue: null, isDefaultFilter: true, key: 'iztaskrrom', // component: IztaskrromVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Iztaskrrom.vue")), }, izcustomname: { label: '拜访客户', defaultValue: null, isDefaultFilter: true, key: 'izcustomname', // component: IzCustomname, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzCustomname.vue")), }, izcustomtype: { label: '客户类型', defaultValue: null, isDefaultFilter: true, key: 'izcustomtype', // component: IzCustomtype, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzCustomtype.vue")), }, izproject: { label: '所属项目', defaultValue: null, isDefaultFilter: true, key: 'izproject', // component: IzProjectVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzProject.vue")), }, izvisitpro: { label: '拜访省份/直辖市', defaultValue: null, isDefaultFilter: true, key: 'izvisitpro', // component: IzVisitcity, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzVisitcity.vue")), }, izcustomlevel: { label: '客户级别', defaultValue: null, isDefaultFilter: true, key: 'izcustomlevel', // component: IzCustomlevel, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzCustomlevel.vue")), }, izprojecttype: { label: '项目类别', defaultValue: null, isDefaultFilter: true, key: 'izprojecttype', // component: IzProjecttype, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzProjecttype.vue")), }, izproductname: { label: '产品名称', defaultValue: null, isDefaultFilter: true, key: 'izproductname', // component: IzProductVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/IzProduct.vue")), }, izvisitcity: { label: '拜访城市', defaultValue: null, isDefaultFilter: true, key: 'izvisitcity', // component: IzvisitproVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Izvisitpro.vue")), }, izfirm: { label: '厂商', defaultValue: null, isDefaultFilter: true, key: 'izfirm', // component: IzfirmVue, component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Izfirm.vue")), }, }