import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import * as LocationAreaApi from '@/api/eam/basic/locationArea' import { LocationArea } from '@/views/eam/basic/locationArea/locationArea.data' import * as LocationApi from '@/api/eam/basic/location' import { Location } from '@/views/eam/basic/location/location.data' import * as ItemApi from '@/api/eam/basic/item' import { Item } from '@/views/eam/basic/item/item.data' import { getStrDictOptions } from '@/utils/dict' const typeList = getStrDictOptions(DICT_TYPE.ITEM_ACCOUNT_LOCATION_TYPE).filter(item => item.value != '1') const typeLists = getStrDictOptions(DICT_TYPE.ITEM_ACCOUNT_LOCATION_TYPE) // 表单校验 export const ItemAccountsRules = reactive({ itemNumber: [required], name: [required], areaNumber: [required], type: [required], locationNumber: [required], qty: [required] }) export const ItemAccounts = useCrudSchemas( reactive<CrudSchema[]>([ { label: '备件编号', field: 'itemNumber', sort: 'custom', isSearch: true, form: { // labelMessage: '信息提示说明!!!', componentProps: { isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择备件编号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: '备件信息', // 查询弹窗标题 searchAllSchemas: Item.allSchemas, // 查询弹窗所需类 searchPage: ItemApi.getItemPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', value: 'TRUE', isMainValue: false } ] } } }, { label: '备件名称', field: 'itemName', sort: 'custom', table: { width: 110 }, form:{ componentProps:{ disabled:true } }, isSearch: false }, { label: '库区编号', field: 'areaNumber', sort: 'custom', isSearch: false, form: { // labelMessage: '信息提示说明!!!', componentProps: { isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择库区编号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: '库区信息', // 查询弹窗标题 searchAllSchemas: LocationArea.allSchemas, // 查询弹窗所需类 searchPage: LocationAreaApi.getLocationAreaPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', value: 'TRUE', isMainValue: false } ] } } }, { label: '库区名称', field: 'areaName', sort: 'custom', isSearch: false, isForm:false }, { label: '库位编号', field: 'locationNumber', sort: 'custom', isSearch: false, form: { // labelMessage: '信息提示说明!!!', componentProps: { isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择库位编号', // 输入框占位文本 searchField: 'number', // 查询弹窗赋值字段 searchTitle: '库位信息', // 查询弹窗标题 searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', value: 'TRUE', isMainValue: false }, { key: 'areaNumber', value: 'areaNumber', isMainValue: true }, ] } } }, { label: '库位名称', field: 'locationName', sort: 'custom', isSearch: false, isForm:false }, // { // label: '库位类型', // field: 'type', // dictType: DICT_TYPE.ITEM_ACCOUNT_LOCATION_TYPE, // dictClass: 'string', // isSearch: true, // isTable: true, // sort: 'custom', // table: { // width: 130 // }, // form: { // component: 'Select' // } // }, { label: '库位类型', field: 'type', sort: 'custom', table: { width: '150', }, isDetail: false, formatter: (_: Recordable, __: TableColumn, cellValue: number) => { return typeLists.find((account) => account.value == cellValue)?.label }, // dictType: DICT_TYPE.APP_DEVICE_MOLD_TYPE, isSearch: false, search: { component: 'Select', componentProps: { options: typeList, optionsAlias: { labelField: 'label', valueField: 'value' }, filterable: true, }, }, form: { component: 'Select', componentProps: { options: typeList, optionsAlias: { labelField: 'label', valueField: 'value' }, //disabled: true, //filterable: true, placeholder: "请选择类型" } }, }, // { // label: '库位类型', // field: 'type', // dictType: DICT_TYPE.ITEM_ACCOUNT_LOCATION_TYPE, // dictClass: 'string', // isSearch: true, // isTable: true, // sort: 'custom', // table: { // width: 130 // }, // form: { // component: 'Select' // } // }, { label: '库存数量', field: 'qty', sort: 'custom', table: { width: 110 }, form:{ component: 'InputNumber', componentProps:{ min: 0,//最小值` precision: 2//精度` } } }, // { // label: '是否账内库', // field: 'isInAccount', // dictType: DICT_TYPE.TRUE_FALSE, // dictClass: 'string', // isSearch: false, // isTable: true, // sort: 'custom', // table: { // width: 130 // }, { label: '操作', field: 'action', isForm: false, table: { width: 250, fixed: 'right' } } ]) )