✨ feat(mes): 添加工具精简列表接口及条码自动生成逻辑
新增工具精简列表接口,支持获取工具的简化信息。同时,在创建工具、客户、设备等时,自动生成对应的条码,提升条码管理的效率。pull/871/MERGE
parent
21821c92d9
commit
b386c17933
|
|
@ -48,5 +48,10 @@ export const TmToolApi = {
|
|||
// 导出工具台账 Excel
|
||||
exportTool: async (params: any) => {
|
||||
return await request.download({ url: `/mes/tm/tool/export-excel`, params })
|
||||
},
|
||||
|
||||
// 查询工具台账精简列表
|
||||
getToolSimpleList: async () => {
|
||||
return await request.get({ url: `/mes/tm/tool/simple-list` })
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -365,6 +365,8 @@ export const BARCODE_FORMAT_MAP: Record<BarcodeFormatEnum, string> = {
|
|||
/** MES 条码业务类型枚举(对应后端 BarcodeBizTypeEnum) */
|
||||
export enum BarcodeBizTypeEnum {
|
||||
// WM 仓库模块 [100, 200)
|
||||
WAREHOUSE = 102,
|
||||
LOCATION = 103,
|
||||
AREA = 104,
|
||||
PACKAGE = 105,
|
||||
STOCK = 106,
|
||||
|
|
@ -375,10 +377,13 @@ export enum BarcodeBizTypeEnum {
|
|||
TRANSORDER = 302,
|
||||
// DV 设备模块 [400, 500)
|
||||
MACHINERY = 400,
|
||||
// TM 工具模块 [500, 600)
|
||||
TOOL = 500,
|
||||
// MD 主数据模块 [600, 700)
|
||||
ITEM = 600,
|
||||
VENDOR = 601,
|
||||
WORKSTATION = 602,
|
||||
WORKSHOP = 603,
|
||||
USER = 604
|
||||
USER = 604,
|
||||
CLIENT = 605
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,35 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="formData.bizType === BarcodeBizTypeEnum.AREA" label="库区" prop="bizId">
|
||||
<el-form-item
|
||||
v-if="formData.bizType === BarcodeBizTypeEnum.WAREHOUSE"
|
||||
label="仓库"
|
||||
prop="bizId"
|
||||
>
|
||||
<WmWarehouseSelect v-model="formData.bizId" @change="handleBizSelect" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-else-if="formData.bizType === BarcodeBizTypeEnum.LOCATION"
|
||||
label="库区"
|
||||
prop="bizId"
|
||||
>
|
||||
<div class="space-y-2">
|
||||
<WmWarehouseSelect
|
||||
v-model="locationWarehouseId"
|
||||
@change="handleLocationWarehouseChange"
|
||||
class="!w-1/1"
|
||||
placeholder="请选择仓库"
|
||||
/>
|
||||
<WmWarehouseLocationSelect
|
||||
v-model="formData.bizId"
|
||||
:warehouse-id="locationWarehouseId"
|
||||
@change="handleBizSelect"
|
||||
class="!w-1/1"
|
||||
placeholder="请选择库区"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="formData.bizType === BarcodeBizTypeEnum.AREA" label="库位" prop="bizId">
|
||||
<div class="space-y-2">
|
||||
<WmWarehouseSelect
|
||||
v-model="areaWarehouseId"
|
||||
|
|
@ -101,7 +129,21 @@
|
|||
>
|
||||
<UserSelect v-model="formData.bizId" @change="handleBizSelect" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
<!-- TODO @芋艿:以下业务类型暂无对应的 Select 组件:PACKAGE(装箱单)、STOCK(库存)、BATCH(批次)、PROCARD(流转卡)、TRANSORDER(流转单)、TOOL(工装) -->
|
||||
<el-form-item
|
||||
v-else-if="formData.bizType === BarcodeBizTypeEnum.CLIENT"
|
||||
label="客户"
|
||||
prop="bizId"
|
||||
>
|
||||
<MdClientSelect v-model="formData.bizId" @change="handleBizSelect" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-else-if="formData.bizType === BarcodeBizTypeEnum.TOOL"
|
||||
label="工具"
|
||||
prop="bizId"
|
||||
>
|
||||
<TmToolSelect v-model="formData.bizId" @change="handleBizSelect" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
<!-- TODO @芋艿:以下业务类型暂无对应的 Select 组件:PACKAGE(装箱单)、STOCK(库存)、BATCH(批次)、PROCARD(流转卡)、TRANSORDER(流转单) -->
|
||||
<el-form-item v-else-if="formData.bizType" label="暂未接入" prop="bizId">
|
||||
<el-input-number
|
||||
v-model="formData.bizId"
|
||||
|
|
@ -160,6 +202,8 @@ import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
|||
import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
|
||||
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
||||
import MdWorkshopSelect from '@/views/mes/md/workstation/components/MdWorkshopSelect.vue'
|
||||
import MdClientSelect from '@/views/mes/md/client/components/MdClientSelect.vue'
|
||||
import TmToolSelect from '@/views/mes/tm/tool/components/TmToolSelect.vue'
|
||||
import UserSelect from '@/views/system/user/components/UserSelect.vue'
|
||||
|
||||
defineOptions({ name: 'BarcodeForm' })
|
||||
|
|
@ -190,8 +234,9 @@ const formRules = reactive({
|
|||
})
|
||||
const formRef = ref()
|
||||
|
||||
const areaWarehouseId = ref<number>() // 库区选择器的临时数据:选择仓库后,传给库区选择器,加载对应仓库的库区列表
|
||||
const areaLocationId = ref<number>() // 库区选择器的临时数据:选择库位后,传给库区选择器,加载对应库位的库区列表
|
||||
const locationWarehouseId = ref<number>() // 库区选择器的临时数据:选择仓库后,传给库区选择器
|
||||
const areaWarehouseId = ref<number>() // 库位选择器的临时数据:选择仓库后,传给库位选择器
|
||||
const areaLocationId = ref<number>() // 库位选择器的临时数据:选择库区后,传给库位选择器
|
||||
|
||||
/** 业务 Select 选中回调:自动填充 bizId、bizCode、bizName */
|
||||
const handleBizSelect = (item: any) => {
|
||||
|
|
@ -206,7 +251,14 @@ const handleBizSelect = (item: any) => {
|
|||
formData.value.bizName = item.name || item.nickname
|
||||
}
|
||||
|
||||
/** 库区仓库选择回调:清空库位和库区 */
|
||||
/** 库区仓库选择回调:清空库区 */
|
||||
const handleLocationWarehouseChange = () => {
|
||||
formData.value.bizId = undefined
|
||||
formData.value.bizCode = undefined
|
||||
formData.value.bizName = undefined
|
||||
}
|
||||
|
||||
/** 库位仓库选择回调:清空库区和库位 */
|
||||
const handleAreaWarehouseChange = () => {
|
||||
areaLocationId.value = undefined
|
||||
formData.value.bizId = undefined
|
||||
|
|
@ -214,7 +266,7 @@ const handleAreaWarehouseChange = () => {
|
|||
formData.value.bizName = undefined
|
||||
}
|
||||
|
||||
/** 库区库位选择回调:清空库区 */
|
||||
/** 库位库区选择回调:清空库位 */
|
||||
const handleAreaLocationChange = () => {
|
||||
formData.value.bizId = undefined
|
||||
formData.value.bizCode = undefined
|
||||
|
|
@ -228,7 +280,8 @@ watch(
|
|||
formData.value.bizId = undefined
|
||||
formData.value.bizCode = undefined
|
||||
formData.value.bizName = undefined
|
||||
// 清空库区的临时数据
|
||||
// 清空仓库层级的临时数据
|
||||
locationWarehouseId.value = undefined
|
||||
areaWarehouseId.value = undefined
|
||||
areaLocationId.value = undefined
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue