52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import type {
|
|
Col,
|
|
KeyLabel,
|
|
RecComponent,
|
|
RecStrFuncComponent,
|
|
Th,
|
|
} from '~/components/pub/custom-ui/data/types'
|
|
import { defineAsyncComponent } from 'vue'
|
|
|
|
type SmallDetailDto = any
|
|
|
|
const action = defineAsyncComponent(() => import('~/components/pub/custom-ui/data/dropdown-action-dud.vue'))
|
|
|
|
export const cols: Col[] = [{ width: 100 }, { width: 250 }, { width: 100 }, { width: 100 }, { width: 100 }, { width: 50 }]
|
|
|
|
export const header: Th[][] = [[{ label: 'Kode' }, { label: 'Nama' }, { label: 'Stok' }, { label: 'Item' }, { label: 'Satuan' }]]
|
|
|
|
export const keys = ['code', 'name', 'stock', 'item_id', 'uom_code', 'action']
|
|
|
|
export const delKeyNames: KeyLabel[] = [
|
|
{ key: 'code', label: 'Kode' },
|
|
{ key: 'name', label: 'Nama' },
|
|
]
|
|
|
|
export const funcParsed: Record<string, (row: any, ...args: any[]) => any> = {
|
|
name: (rec: unknown): unknown => {
|
|
const recX = rec as SmallDetailDto
|
|
return `${recX.name}`.trim()
|
|
},
|
|
item_id: (rec: unknown): unknown => {
|
|
const recX = rec as SmallDetailDto
|
|
return recX.item_id
|
|
},
|
|
uom_code: (rec: unknown): unknown => {
|
|
const recX = rec as SmallDetailDto
|
|
return recX.uom_code
|
|
},
|
|
}
|
|
|
|
export const funcComponent: RecStrFuncComponent = {
|
|
action(rec, idx) {
|
|
const res: RecComponent = {
|
|
idx,
|
|
rec: rec as object,
|
|
component: action,
|
|
}
|
|
return res
|
|
},
|
|
}
|
|
|
|
export const funcHtml: Record<string, (row: any, ...args: any[]) => any> = {}
|