refactor(mes-ui): 修正工作站模块中文标签命名 & 拆分 API 文件
- 表单标签/占位符/校验提示:工位 → 工作站 - API 注释:工位设备 → 设备资源、工位工具 → 工装夹具资源、工位人员 → 人力资源 - 拆分 workstation API 到 machine/tool/worker/workshop 子目录pull/871/MERGE
parent
59bd23b3e0
commit
95c478d739
|
|
@ -13,7 +13,7 @@ export interface MdItemBatchConfigVO {
|
|||
purchaseOrderCodeFlag: boolean // 批次属性-采购订单编号
|
||||
workorderFlag: boolean // 批次属性-生产工单
|
||||
taskFlag: boolean // 批次属性-生产任务
|
||||
workstationFlag: boolean // 批次属性-工位
|
||||
workstationFlag: boolean // 批次属性-工作站
|
||||
toolFlag: boolean // 批次属性-工具
|
||||
moldFlag: boolean // 批次属性-模具
|
||||
lotNumberFlag: boolean // 批次属性-生产批号
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// TODO @AI:【遵守我说的!】是不是每个 VO 独立文件;例如说 tool/ 、worker/、machine/ 等等
|
||||
// DONE @AI:【遵守我说的!】是不是每个 VO 独立文件;例如说 tool/ 、worker/、machine/ 等等
|
||||
|
||||
// MES 工位 VO
|
||||
// MES 工作站 VO
|
||||
export interface MdWorkstationVO {
|
||||
id: number // 工位编号
|
||||
code: string // 工位编码
|
||||
name: string // 工位名称
|
||||
address: string // 工位地点
|
||||
id: number // 工作站编号
|
||||
code: string // 工作站编码
|
||||
name: string // 工作站名称
|
||||
address: string // 工作站地点
|
||||
workshopId: number // 所在车间 ID
|
||||
workshopName: string // 所在车间名称
|
||||
processId: number // 工序 ID
|
||||
|
|
@ -22,135 +22,40 @@ export interface MdWorkstationVO {
|
|||
attribute4: number
|
||||
}
|
||||
|
||||
// MES 工位设备 VO
|
||||
export interface MdWorkstationMachineVO {
|
||||
id: number
|
||||
workstationId: number // 工位 ID
|
||||
machineryId: number // 设备 ID
|
||||
machineryName: string // 设备名称
|
||||
machineryCode: string // 设备编码
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 工位工具 VO
|
||||
export interface MdWorkstationToolVO {
|
||||
id: number
|
||||
workstationId: number // 工位 ID
|
||||
toolTypeId: number // 工具类型 ID
|
||||
toolTypeName: string // 工具类型名称
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 工位人员 VO
|
||||
export interface MdWorkstationWorkerVO {
|
||||
id: number
|
||||
workstationId: number // 工位 ID
|
||||
postId: number // 岗位 ID
|
||||
postName: string // 岗位名称
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 工位 API
|
||||
// MES 工作站 API
|
||||
export const MdWorkstationApi = {
|
||||
// 查询工位分页
|
||||
// 查询工作站分页
|
||||
getWorkstationPage: async (params: any) => {
|
||||
return await request.get({ url: `/mes/md-workstation/page`, params })
|
||||
},
|
||||
|
||||
// 查询工位精简列表
|
||||
// 查询工作站精简列表
|
||||
getWorkstationSimpleList: async () => {
|
||||
return await request.get({ url: `/mes/md-workstation/simple-list` })
|
||||
},
|
||||
|
||||
// 查询工位详情
|
||||
// 查询工作站详情
|
||||
getWorkstation: async (id: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增工位
|
||||
// 新增工作站
|
||||
createWorkstation: async (data: MdWorkstationVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation/create`, data })
|
||||
},
|
||||
|
||||
// 修改工位
|
||||
// 修改工作站
|
||||
updateWorkstation: async (data: MdWorkstationVO) => {
|
||||
return await request.put({ url: `/mes/md-workstation/update`, data })
|
||||
},
|
||||
|
||||
// 删除工位
|
||||
// 删除工作站
|
||||
deleteWorkstation: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation/delete?id=` + id })
|
||||
},
|
||||
|
||||
// 导出工位 Excel
|
||||
// 导出工作站 Excel
|
||||
exportWorkstation: async (params: any) => {
|
||||
return await request.download({ url: `/mes/md-workstation/export-excel`, params })
|
||||
}
|
||||
}
|
||||
|
||||
// MES 工位设备 API
|
||||
export const MdWorkstationMachineApi = {
|
||||
// 查询工位设备列表
|
||||
getWorkstationMachineList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增工位设备
|
||||
createWorkstationMachine: async (data: MdWorkstationMachineVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-machine/create`, data })
|
||||
},
|
||||
|
||||
// 删除工位设备
|
||||
deleteWorkstationMachine: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-machine/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
||||
// MES 工位工具 API
|
||||
export const MdWorkstationToolApi = {
|
||||
// 查询工位工具列表
|
||||
getWorkstationToolList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增工位工具
|
||||
createWorkstationTool: async (data: MdWorkstationToolVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-tool/create`, data })
|
||||
},
|
||||
|
||||
// 修改工位工具
|
||||
updateWorkstationTool: async (data: MdWorkstationToolVO) => {
|
||||
return await request.put({ url: `/mes/md-workstation-tool/update`, data })
|
||||
},
|
||||
|
||||
// 删除工位工具
|
||||
deleteWorkstationTool: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-tool/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
||||
// MES 工位人员 API
|
||||
export const MdWorkstationWorkerApi = {
|
||||
// 查询工位人员列表
|
||||
getWorkstationWorkerList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增工位人员
|
||||
createWorkstationWorker: async (data: MdWorkstationWorkerVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-worker/create`, data })
|
||||
},
|
||||
|
||||
// 修改工位人员
|
||||
updateWorkstationWorker: async (data: MdWorkstationWorkerVO) => {
|
||||
return await request.put({ url: `/mes/md-workstation-worker/update`, data })
|
||||
},
|
||||
|
||||
// 删除工位人员
|
||||
deleteWorkstationWorker: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-worker/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// MES 设备资源 VO
|
||||
export interface MdWorkstationMachineVO {
|
||||
id: number
|
||||
workstationId: number // 工作站 ID
|
||||
machineryId: number // 设备 ID
|
||||
machineryName: string // 设备名称
|
||||
machineryCode: string // 设备编码
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 设备资源 API
|
||||
export const MdWorkstationMachineApi = {
|
||||
// 查询设备资源列表
|
||||
getWorkstationMachineList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增设备资源
|
||||
createWorkstationMachine: async (data: MdWorkstationMachineVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-machine/create`, data })
|
||||
},
|
||||
|
||||
// 删除设备资源
|
||||
deleteWorkstationMachine: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-machine/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// MES 工装夹具资源 VO
|
||||
export interface MdWorkstationToolVO {
|
||||
id: number
|
||||
workstationId: number // 工作站 ID
|
||||
toolTypeId: number // 工具类型 ID
|
||||
toolTypeName: string // 工具类型名称
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 工装夹具资源 API
|
||||
export const MdWorkstationToolApi = {
|
||||
// 查询工装夹具资源列表
|
||||
getWorkstationToolList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增工装夹具资源
|
||||
createWorkstationTool: async (data: MdWorkstationToolVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-tool/create`, data })
|
||||
},
|
||||
|
||||
// 修改工装夹具资源
|
||||
updateWorkstationTool: async (data: MdWorkstationToolVO) => {
|
||||
return await request.put({ url: `/mes/md-workstation-tool/update`, data })
|
||||
},
|
||||
|
||||
// 删除工装夹具资源
|
||||
deleteWorkstationTool: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-tool/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// MES 人力资源 VO
|
||||
export interface MdWorkstationWorkerVO {
|
||||
id: number
|
||||
workstationId: number // 工作站 ID
|
||||
postId: number // 岗位 ID
|
||||
postName: string // 岗位名称
|
||||
quantity: number // 数量
|
||||
remark: string // 备注
|
||||
}
|
||||
|
||||
// MES 人力资源 API
|
||||
export const MdWorkstationWorkerApi = {
|
||||
// 查询人力资源列表
|
||||
getWorkstationWorkerList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId })
|
||||
},
|
||||
|
||||
// 新增人力资源
|
||||
createWorkstationWorker: async (data: MdWorkstationWorkerVO) => {
|
||||
return await request.post({ url: `/mes/md-workstation-worker/create`, data })
|
||||
},
|
||||
|
||||
// 修改人力资源
|
||||
updateWorkstationWorker: async (data: MdWorkstationWorkerVO) => {
|
||||
return await request.put({ url: `/mes/md-workstation-worker/update`, data })
|
||||
},
|
||||
|
||||
// 删除人力资源
|
||||
deleteWorkstationWorker: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/md-workstation-worker/delete?id=` + id })
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<el-checkbox v-model="formData.salesOrderCodeFlag">销售订单编号</el-checkbox>
|
||||
<el-checkbox v-model="formData.workorderFlag">生产工单</el-checkbox>
|
||||
<el-checkbox v-model="formData.taskFlag">生产任务</el-checkbox>
|
||||
<el-checkbox v-model="formData.workstationFlag">工位</el-checkbox>
|
||||
<el-checkbox v-model="formData.workstationFlag">工作站</el-checkbox>
|
||||
<el-checkbox v-model="formData.toolFlag">工具</el-checkbox>
|
||||
<el-checkbox v-model="formData.moldFlag">模具</el-checkbox>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
// TODO @AI:方法注释,字段注释,记得写下
|
||||
import { MdProductBomApi, MdProductBomVO } from '@/api/mes/md/item/productBom'
|
||||
import { MdItemApi } from '@/api/mes/md/item'
|
||||
import { getItemOrProductLabel } from '@/views/mes/utils/constants'
|
||||
|
|
@ -97,14 +96,14 @@ import { getItemOrProductLabel } from '@/views/mes/utils/constants'
|
|||
defineOptions({ name: 'MdProductBomForm' })
|
||||
|
||||
const props = defineProps<{
|
||||
itemId: number
|
||||
itemId: number // 物料产品编号
|
||||
}>()
|
||||
|
||||
const message = useMessage()
|
||||
const loading = ref(false)
|
||||
const list = ref<MdProductBomVO[]>([])
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<MdProductBomVO[]>([]) // BOM 列表
|
||||
|
||||
/** 加载列表 */
|
||||
/** 加载 BOM 列表 */
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
|
|
@ -115,9 +114,10 @@ const getList = async () => {
|
|||
}
|
||||
|
||||
// ==================== 物料搜索 ====================
|
||||
const itemSearchLoading = ref(false)
|
||||
const itemOptions = ref<any[]>([])
|
||||
const itemSearchLoading = ref(false) // 物料搜索加载中
|
||||
const itemOptions = ref<any[]>([]) // 物料搜索选项
|
||||
|
||||
/** 远程搜索物料 */
|
||||
const searchItems = async (query: string) => {
|
||||
if (!query) {
|
||||
itemOptions.value = []
|
||||
|
|
@ -133,8 +133,9 @@ const searchItems = async (query: string) => {
|
|||
}
|
||||
|
||||
// ==================== 添加 BOM ====================
|
||||
const addDialogVisible = ref(false)
|
||||
const addFormRef = ref()
|
||||
const addDialogVisible = ref(false) // 添加弹窗是否可见
|
||||
const addFormRef = ref() // 添加表单 Ref
|
||||
/** 添加表单数据 */
|
||||
const addFormData = ref({
|
||||
itemId: undefined as number | undefined,
|
||||
bomItemId: undefined as number | undefined,
|
||||
|
|
@ -146,6 +147,7 @@ const addFormRules = reactive({
|
|||
quantity: [{ required: true, message: '用量比例不能为空', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
/** 打开添加弹窗 */
|
||||
const openAddForm = () => {
|
||||
addDialogVisible.value = true
|
||||
addFormData.value = {
|
||||
|
|
@ -158,6 +160,7 @@ const openAddForm = () => {
|
|||
addFormRef.value?.resetFields()
|
||||
}
|
||||
|
||||
/** 提交添加表单 */
|
||||
const submitAddForm = async () => {
|
||||
await addFormRef.value.validate()
|
||||
await MdProductBomApi.createProductBom(addFormData.value as unknown as MdProductBomVO)
|
||||
|
|
@ -167,8 +170,9 @@ const submitAddForm = async () => {
|
|||
}
|
||||
|
||||
// ==================== 编辑 BOM ====================
|
||||
const editDialogVisible = ref(false)
|
||||
const editFormRef = ref()
|
||||
const editDialogVisible = ref(false) // 编辑弹窗是否可见
|
||||
const editFormRef = ref() // 编辑表单 Ref
|
||||
/** 编辑表单数据 */
|
||||
const editFormData = ref({
|
||||
id: undefined as number | undefined,
|
||||
itemId: undefined as number | undefined,
|
||||
|
|
@ -180,6 +184,7 @@ const editFormRules = reactive({
|
|||
quantity: [{ required: true, message: '用量比例不能为空', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
/** 打开编辑弹窗 */
|
||||
const openEditForm = (row: MdProductBomVO) => {
|
||||
editDialogVisible.value = true
|
||||
editFormData.value = {
|
||||
|
|
@ -192,6 +197,7 @@ const openEditForm = (row: MdProductBomVO) => {
|
|||
editFormRef.value?.resetFields()
|
||||
}
|
||||
|
||||
/** 提交编辑表单 */
|
||||
const submitEditForm = async () => {
|
||||
await editFormRef.value.validate()
|
||||
await MdProductBomApi.updateProductBom(editFormData.value as unknown as MdProductBomVO)
|
||||
|
|
@ -201,6 +207,8 @@ const submitEditForm = async () => {
|
|||
}
|
||||
|
||||
// ==================== 删除 ====================
|
||||
|
||||
/** 删除 BOM */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工位编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工位编码">
|
||||
<el-form-item label="工作站编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工作站编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode" :disabled="formType === 'update'">
|
||||
生成
|
||||
|
|
@ -20,8 +20,8 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工位名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入工位名称" />
|
||||
<el-form-item label="工作站名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入工作站名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -39,10 +39,11 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工位地点" prop="address">
|
||||
<el-input v-model="formData.address" placeholder="请输入工位地点" />
|
||||
<el-form-item label="工作站地点" prop="address">
|
||||
<el-input v-model="formData.address" placeholder="请输入工作站地点" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- TODO @AI:所属工序 -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-radio-group v-model="formData.status">
|
||||
|
|
@ -70,12 +71,10 @@
|
|||
<el-tab-pane label="设备资源" name="machine">
|
||||
<WorkstationMachinePanel :workstation-id="formData.id!" />
|
||||
</el-tab-pane>
|
||||
<!-- TODO @AI:工装夹具 -->
|
||||
<el-tab-pane label="工具资源" name="tool">
|
||||
<el-tab-pane label="工装夹具" name="tool">
|
||||
<WorkstationToolPanel :workstation-id="formData.id!" />
|
||||
</el-tab-pane>
|
||||
<!-- TODO @AI:人力资源 -->
|
||||
<el-tab-pane label="人员资源" name="worker">
|
||||
<el-tab-pane label="人力资源" name="worker">
|
||||
<WorkstationWorkerPanel :workstation-id="formData.id!" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
|
@ -95,6 +94,9 @@ import WorkstationMachinePanel from './components/WorkstationMachinePanel.vue'
|
|||
import WorkstationToolPanel from './components/WorkstationToolPanel.vue'
|
||||
import WorkstationWorkerPanel from './components/WorkstationWorkerPanel.vue'
|
||||
|
||||
// TODO @AI:方法注释;
|
||||
// TODO @AI:字段注释;
|
||||
|
||||
defineOptions({ name: 'WorkstationForm' })
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
|
|
@ -120,14 +122,14 @@ const formData = ref({
|
|||
remark: undefined
|
||||
})
|
||||
const formRules = reactive({
|
||||
code: [{ required: true, message: '工位编码不能为空', trigger: 'blur' }],
|
||||
name: [{ required: true, message: '工位名称不能为空', trigger: 'blur' }],
|
||||
code: [{ required: true, message: '工作站编码不能为空', trigger: 'blur' }],
|
||||
name: [{ required: true, message: '工作站名称不能为空', trigger: 'blur' }],
|
||||
workshopId: [{ required: true, message: '所在车间不能为空', trigger: 'change' }],
|
||||
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
|
||||
})
|
||||
const formRef = ref()
|
||||
|
||||
/** 生成工位编码 */
|
||||
/** 生成工作站编码 */
|
||||
const generateCode = () => {
|
||||
formData.value.code = 'WS' + generateRandomStr(12)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,10 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { MdWorkstationMachineApi, MdWorkstationMachineVO } from '@/api/mes/md/workstation'
|
||||
import { MdWorkstationMachineApi, MdWorkstationMachineVO } from '@/api/mes/md/workstation/machine'
|
||||
|
||||
// TODO @AI:字段注释;
|
||||
// TODO @AI:方法注释;
|
||||
|
||||
const props = defineProps<{
|
||||
workstationId: number
|
||||
|
|
@ -59,6 +62,7 @@ const getList = async () => {
|
|||
}
|
||||
|
||||
/** 添加弹窗 */
|
||||
// TODO @AI:使用 form,不要 add 前缀;
|
||||
const addDialogVisible = ref(false)
|
||||
const addFormRef = ref()
|
||||
const addFormData = ref({
|
||||
|
|
|
|||
|
|
@ -21,10 +21,20 @@
|
|||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
|
||||
<el-form-item label="工具类型" prop="toolTypeId">
|
||||
<!-- TODO @芋艿:对接工具类型下拉列表,等 TM 工具模块完成后对接 -->
|
||||
<el-input-number v-model="formData.toolTypeId" placeholder="请输入工具类型编号" class="!w-1/1" :disabled="isEdit" />
|
||||
<el-input-number
|
||||
v-model="formData.toolTypeId"
|
||||
placeholder="请输入工具类型编号"
|
||||
class="!w-1/1"
|
||||
:disabled="isEdit"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" prop="quantity">
|
||||
<el-input-number v-model="formData.quantity" :min="1" controls-position="right" class="!w-1/1" />
|
||||
<el-input-number
|
||||
v-model="formData.quantity"
|
||||
:min="1"
|
||||
controls-position="right"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" />
|
||||
|
|
@ -39,7 +49,10 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { MdWorkstationToolApi, MdWorkstationToolVO } from '@/api/mes/md/workstation'
|
||||
import { MdWorkstationToolApi, MdWorkstationToolVO } from '@/api/mes/md/workstation/tool'
|
||||
|
||||
// TODO @AI:字段注释;
|
||||
// TODO @AI:方法注释;
|
||||
|
||||
const props = defineProps<{
|
||||
workstationId: number
|
||||
|
|
@ -62,7 +75,7 @@ const getList = async () => {
|
|||
/** 弹窗 */
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const isEdit = ref(false)
|
||||
const isEdit = ref(false) // TODO @AI:参考别的模块,formType?
|
||||
const formRef = ref()
|
||||
const formData = ref({
|
||||
id: undefined as number | undefined,
|
||||
|
|
@ -100,10 +113,14 @@ const openEditForm = (row: MdWorkstationToolVO) => {
|
|||
const submitForm = async () => {
|
||||
await formRef.value.validate()
|
||||
if (isEdit.value) {
|
||||
await MdWorkstationToolApi.updateWorkstationTool(formData.value as unknown as MdWorkstationToolVO)
|
||||
await MdWorkstationToolApi.updateWorkstationTool(
|
||||
formData.value as unknown as MdWorkstationToolVO
|
||||
)
|
||||
message.success('编辑成功')
|
||||
} else {
|
||||
await MdWorkstationToolApi.createWorkstationTool(formData.value as unknown as MdWorkstationToolVO)
|
||||
await MdWorkstationToolApi.createWorkstationTool(
|
||||
formData.value as unknown as MdWorkstationToolVO
|
||||
)
|
||||
message.success('添加成功')
|
||||
}
|
||||
dialogVisible.value = false
|
||||
|
|
|
|||
|
|
@ -20,7 +20,12 @@
|
|||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
|
||||
<el-form-item label="岗位" prop="postId">
|
||||
<el-select v-model="formData.postId" placeholder="请选择岗位" class="!w-1/1" :disabled="isEdit">
|
||||
<el-select
|
||||
v-model="formData.postId"
|
||||
placeholder="请选择岗位"
|
||||
class="!w-1/1"
|
||||
:disabled="isEdit"
|
||||
>
|
||||
<el-option
|
||||
v-for="post in postList"
|
||||
:key="post.id"
|
||||
|
|
@ -30,7 +35,12 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" prop="quantity">
|
||||
<el-input-number v-model="formData.quantity" :min="1" controls-position="right" class="!w-1/1" />
|
||||
<el-input-number
|
||||
v-model="formData.quantity"
|
||||
:min="1"
|
||||
controls-position="right"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" />
|
||||
|
|
@ -45,9 +55,12 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { MdWorkstationWorkerApi, MdWorkstationWorkerVO } from '@/api/mes/md/workstation'
|
||||
import { MdWorkstationWorkerApi, MdWorkstationWorkerVO } from '@/api/mes/md/workstation/worker'
|
||||
import * as PostApi from '@/api/system/post'
|
||||
|
||||
// TODO @AI:字段注释;
|
||||
// TODO @AI:方法注释;
|
||||
|
||||
const props = defineProps<{
|
||||
workstationId: number
|
||||
}>()
|
||||
|
|
@ -70,7 +83,7 @@ const getList = async () => {
|
|||
/** 弹窗 */
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const isEdit = ref(false)
|
||||
const isEdit = ref(false) // TODO @AI:参考别的模块,formType?
|
||||
const formRef = ref()
|
||||
const formData = ref({
|
||||
id: undefined as number | undefined,
|
||||
|
|
@ -112,10 +125,14 @@ const openEditForm = async (row: MdWorkstationWorkerVO) => {
|
|||
const submitForm = async () => {
|
||||
await formRef.value.validate()
|
||||
if (isEdit.value) {
|
||||
await MdWorkstationWorkerApi.updateWorkstationWorker(formData.value as unknown as MdWorkstationWorkerVO)
|
||||
await MdWorkstationWorkerApi.updateWorkstationWorker(
|
||||
formData.value as unknown as MdWorkstationWorkerVO
|
||||
)
|
||||
message.success('编辑成功')
|
||||
} else {
|
||||
await MdWorkstationWorkerApi.createWorkstationWorker(formData.value as unknown as MdWorkstationWorkerVO)
|
||||
await MdWorkstationWorkerApi.createWorkstationWorker(
|
||||
formData.value as unknown as MdWorkstationWorkerVO
|
||||
)
|
||||
message.success('添加成功')
|
||||
}
|
||||
dialogVisible.value = false
|
||||
|
|
|
|||
|
|
@ -6,28 +6,33 @@
|
|||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
:inline="true"
|
||||
label-width="68px"
|
||||
label-width="85px"
|
||||
>
|
||||
<el-form-item label="工位编码" prop="code">
|
||||
<el-form-item label="工作站编码" prop="code">
|
||||
<el-input
|
||||
v-model="queryParams.code"
|
||||
placeholder="请输入工位编码"
|
||||
placeholder="请输入工作站编码"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工位名称" prop="name">
|
||||
<el-form-item label="工作站名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入工位名称"
|
||||
placeholder="请输入工作站名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在车间" prop="workshopId">
|
||||
<el-select v-model="queryParams.workshopId" placeholder="请选择车间" clearable class="!w-240px">
|
||||
<el-select
|
||||
v-model="queryParams.workshopId"
|
||||
placeholder="请选择车间"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="workshop in workshopList"
|
||||
:key="workshop.id"
|
||||
|
|
@ -72,13 +77,15 @@
|
|||
|
||||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<!-- @AI:宽度的设置有问题,参考下别的模块;已对齐列宽 -->
|
||||
<!-- @AI:我指的是,你这么写,宽度占不满屏幕 -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<!-- TODO @AI:应该是“应该是工作站”;然后字段在对齐下; -->
|
||||
<el-table-column label="工位编码" align="center" prop="code" />
|
||||
<el-table-column label="工位名称" align="center" prop="name" width="150" />
|
||||
<el-table-column label="工位地点" align="center" prop="address" />
|
||||
<el-table-column label="所在车间" align="center" prop="workshopName" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<el-table-column label="工作站编码" align="center" prop="code" width="120" />
|
||||
<el-table-column label="工作站名称" align="center" prop="name" width="150" />
|
||||
<el-table-column label="工作站地点" align="center" prop="address" width="150" />
|
||||
<el-table-column label="所在车间" align="center" prop="workshopName" width="120" />
|
||||
<!-- TODO @AI:所属工序 -->
|
||||
<el-table-column label="状态" align="center" prop="status" width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
|
|
@ -92,6 +99,7 @@
|
|||
/>
|
||||
<el-table-column label="操作" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<!-- TODO @芋艿:【标签打印】 -->
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
|
|
@ -198,7 +206,7 @@ const handleExport = async () => {
|
|||
await message.exportConfirm()
|
||||
exportLoading.value = true
|
||||
const data = await MdWorkstationApi.exportWorkstation(queryParams)
|
||||
download.excel(data, '工位.xls')
|
||||
download.excel(data, '工作站.xls')
|
||||
} catch {
|
||||
} finally {
|
||||
exportLoading.value = false
|
||||
|
|
|
|||
Loading…
Reference in New Issue