上下模

main
kkk-ops 3 weeks ago
parent 7ee9a074b3
commit 9776bd38e9

@ -1,6 +1,7 @@
import request from '@/config/axios' import request from '@/config/axios'
import { CriticalComponentVO } from '@/api/mes/criticalComponent' import { CriticalComponentVO } from '@/api/mes/criticalComponent'
import { ProductVO } from '@/api/erp/product/product' import { ProductVO } from '@/api/erp/product/product'
import { MoldVO } from '@/api/erp/mold'
// 设备类型 VO // 设备类型 VO
export interface DeviceLedgerVO { export interface DeviceLedgerVO {
id: number // id id: number // id
@ -27,6 +28,8 @@ export interface DeviceLedgerVO {
componentList?: CriticalComponentVO[] componentList?: CriticalComponentVO[]
beijianId?: string // 备件ids集合 beijianId?: string // 备件ids集合
beijianList?: ProductVO[] beijianList?: ProductVO[]
moldId?: string // 模具ids集合
moldList?: MoldVO[]
inspectionList?: any[] inspectionList?: any[]
maintainList?: any[] maintainList?: any[]
creator?: string // 创建人 creator?: string // 创建人
@ -65,5 +68,6 @@ export const DeviceLedgerApi = {
// 导出设备类型 Excel // 导出设备类型 Excel
exportDeviceLedger: async (params) => { exportDeviceLedger: async (params) => {
return await request.download({ url: `/mes/device-ledger/export-excel`, params }) return await request.download({ url: `/mes/device-ledger/export-excel`, params })
} },
} }

@ -1,43 +1,48 @@
import request from '@/config/axios' import request from '@/config/axios'
// 模具上下模 VO // 模具上下模 VO
export interface MoldOperateVO { export interface MoldOperateVO {
id: number // ID id: number // ID
operateType: string // 操作类型 operateType: string // 操作类型
moldId: number // 关联模具id moldId: number // 关联模具id
deviceId: number // 关联设备id deviceId: number // 关联设备id
remark: string // 备注 remark: string // 备注
} }
// 模具上下模 API // 模具上下模 API
export const MoldOperateApi = { export const MoldOperateApi = {
// 查询模具上下模分页 // 查询模具上下模分页
getMoldOperatePage: async (params: any) => { getMoldOperatePage: async (params: any) => {
return await request.get({ url: `/mes/mold-operate/page`, params }) return await request.get({ url: `/mes/mold-operate/page`, params })
}, },
// 查询模具上下模详情 // 查询模具上下模详情
getMoldOperate: async (id: number) => { getMoldOperate: async (id: number) => {
return await request.get({ url: `/mes/mold-operate/get?id=` + id }) return await request.get({ url: `/mes/mold-operate/get?id=` + id })
}, },
// 新增模具上下模 // 新增模具上下模
createMoldOperate: async (data: MoldOperateVO) => { createMoldOperate: async (data: MoldOperateVO) => {
return await request.post({ url: `/mes/mold-operate/create`, data }) return await request.post({ url: `/mes/mold-operate/create`, data })
}, },
// 修改模具上下模 // 修改模具上下模
updateMoldOperate: async (data: MoldOperateVO) => { updateMoldOperate: async (data: MoldOperateVO) => {
return await request.put({ url: `/mes/mold-operate/update`, data }) return await request.put({ url: `/mes/mold-operate/update`, data })
}, },
// 删除模具上下模 // 删除模具上下模
deleteMoldOperate: async (id: number) => { deleteMoldOperate: async (id: number) => {
return await request.delete({ url: `/mes/mold-operate/delete?id=` + id }) return await request.delete({ url: `/mes/mold-operate/delete?id=` + id })
}, },
// 导出模具上下模 Excel // 导出模具上下模 Excel
exportMoldOperate: async (params) => { exportMoldOperate: async (params) => {
return await request.download({ url: `/mes/mold-operate/export-excel`, params }) return await request.download({ url: `/mes/mold-operate/export-excel`, params })
}, },
}
// 查询设备是否有模具
getMoldOperateMold: async (id: number) => {
return await request.get({ url: `/mes/mold-operate/get-mold?id=` + id })
},
}

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="型号编码" prop="code"> <el-form-item label="型号编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入型号编码" /> <el-input v-model="formData.code" placeholder="请输入型号编码" :disabled = "formType == 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="型号名称" prop="name"> <el-form-item label="型号名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入型号名称" /> <el-input v-model="formData.name" placeholder="请输入型号名称" />

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="模具编码" prop="code"> <el-form-item label="模具编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入模具编码" /> <el-input v-model="formData.code" placeholder="请输入模具编码" :disabled = "formType == 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="模具名称" prop="name"> <el-form-item label="模具名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入模具名称" /> <el-input v-model="formData.name" placeholder="请输入模具名称" />
@ -49,7 +49,7 @@
</el-tooltip> </el-tooltip>
</span> </span>
</template> </template>
<el-radio-group v-model="formData.status"> <el-radio-group v-model="formData.status" :disabled = "formType == 'create'">
<el-radio <el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.ERP_MOLD_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.ERP_MOLD_STATUS)"
:key="dict.value" :key="dict.value"
@ -180,10 +180,10 @@ const resetForm = () => {
machineId: undefined, machineId: undefined,
useTime: 0, useTime: 0,
inTime: undefined, inTime: undefined,
status: 1, status: 3,
images: undefined, images: undefined,
remark: undefined, remark: undefined,
isEnable: undefined, isEnable: true,
fileUrl: '', fileUrl: '',
brandId: undefined brandId: undefined
} }

@ -17,12 +17,12 @@
placeholder="请选择上级编号" placeholder="请选择上级编号"
/> />
</el-form-item> </el-form-item>
<el-form-item label="名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="编码" prop="code"> <el-form-item label="编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入编码" /> <el-input v-model="formData.code" placeholder="请输入编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="排序" prop="sort"> <el-form-item label="排序" prop="sort">
<el-input v-model="formData.sort" placeholder="请输入排序" /> <el-input v-model="formData.sort" placeholder="请输入排序" />
</el-form-item> </el-form-item>

@ -11,7 +11,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="编码" prop="barCode"> <el-form-item label="编码" prop="barCode">
<el-input v-model="formData.barCode" placeholder="请输入编码" /> <el-input v-model="formData.barCode" placeholder="请输入编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -44,19 +44,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规格" prop="standard"> <el-form-item label="规格" prop="standard">
<el-input v-model="formData.standard" placeholder="请输入规格" /> <el-input v-model="formData.standard" placeholder="请输入规格" />
@ -116,6 +103,19 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" /> <el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="单位名称" prop="name"> <el-form-item label="单位名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入单位名称" /> <el-input v-model="formData.name" placeholder="请输入单位名称" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="是否主单位" prop="primaryFlag"> <el-form-item label="是否主单位" prop="primaryFlag">
<el-radio-group v-model="formData.primaryFlag"> <el-radio-group v-model="formData.primaryFlag">
@ -135,7 +135,7 @@ const resetForm = () => {
formData.value = { formData.value = {
id: undefined, id: undefined,
name: undefined, name: undefined,
primaryFlag: undefined, primaryFlag: 'N',
primaryId: undefined, primaryId: undefined,
changeRate: undefined, changeRate: undefined,
status: CommonStatusEnum.ENABLE status: CommonStatusEnum.ENABLE

@ -9,7 +9,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="仓库名称" prop="name"> <el-form-item label="仓库名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入仓库名称" /> <el-input v-model="formData.name" placeholder="请输入仓库名称" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="仓库地址" prop="address"> <el-form-item label="仓库地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入仓库地址" /> <el-input v-model="formData.address" placeholder="请输入仓库地址" />

@ -12,6 +12,7 @@
v-model="formData.attributeCode" v-model="formData.attributeCode"
placeholder="请输入点位编码" placeholder="请输入点位编码"
@input="handleAttributeCodeInput" @input="handleAttributeCodeInput"
:disabled = "formType === 'update'"
/> />
</el-form-item> </el-form-item>
<el-form-item label="点位名称" prop="attributeName"> <el-form-item label="点位名称" prop="attributeName">

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="分类编码" prop="code"> <el-form-item label="分类编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入分类编码" /> <el-input v-model="formData.code" placeholder="请输入分类编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="分类名称" prop="name"> <el-form-item label="分类名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入分类名称" /> <el-input v-model="formData.name" placeholder="请输入分类名称" />

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="模型编码" prop="code"> <el-form-item label="模型编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入模型编码" /> <el-input v-model="formData.code" placeholder="请输入模型编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="模型名称" prop="name"> <el-form-item label="模型名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入模型名称" /> <el-input v-model="formData.name" placeholder="请输入模型名称" />

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="点位编码" prop="attributeCode"> <el-form-item label="点位编码" prop="attributeCode">
<el-input v-model="formData.attributeCode" placeholder="请输入点位编码" /> <el-input v-model="formData.attributeCode" placeholder="请输入点位编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="点位名称" prop="attributeName"> <el-form-item label="点位名称" prop="attributeName">
<el-input v-model="formData.attributeName" placeholder="请输入点位名称" /> <el-input v-model="formData.attributeName" placeholder="请输入点位名称" />

@ -75,7 +75,7 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to
<el-table-column label="单位" align="center" prop="dataUnit" /> <el-table-column label="单位" align="center" prop="dataUnit" />
<el-table-column label="倍率" align="center" prop="ratio" /> <el-table-column label="倍率" align="center" prop="ratio" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="采集设备模型id" align="center" prop="deviceModelId" /> <!-- <el-table-column label="采集设备模型id" align="center" prop="deviceModelId" /> -->
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180px" /> <el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
<el-table-column label="操作" align="center" width="150px" fixed="right"> <el-table-column label="操作" align="center" width="150px" fixed="right">
<template #default="scope"> <template #default="scope">

@ -1,5 +1,5 @@
<template> <template>
<Dialog v-model="dialogVisible" :title="dialogTitle" width="900"> <Dialog v-model="dialogVisible" :title="dialogTitle" width="1200">
<div class="single-device-dialog"> <div class="single-device-dialog">
<div class="single-device-dialog__header"> <div class="single-device-dialog__header">
<div>设备名称{{ deviceName || '-' }}</div> <div>设备名称{{ deviceName || '-' }}</div>
@ -110,7 +110,8 @@ const displayTime = computed(() => {
const headerCellStyle = () => { const headerCellStyle = () => {
return { return {
fontWeight: 500, fontWeight: 500,
padding: '6px 4px' padding: '6px 4px',
background: '#f5f7fa'
} }
} }

@ -8,7 +8,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="BOM编码" prop="code"> <el-form-item label="BOM编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入BOM编码" /> <el-input v-model="formData.code" placeholder="请输入BOM编码" :disabled = "formType === 'update'"/>
</el-form-item> </el-form-item>
<el-form-item label="BOM版本" prop="version"> <el-form-item label="BOM版本" prop="version">
<el-input v-model="formData.version" placeholder="请输入BOM版本" /> <el-input v-model="formData.version" placeholder="请输入BOM版本" />

@ -341,7 +341,6 @@ link type="danger" @click="handleDelete(scope.row.id)"
<el-table-column label="备注" align="center" prop="remark" min-width="180" /> <el-table-column label="备注" align="center" prop="remark" min-width="180" />
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180" /> <el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180" />
</el-table> </el-table>
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="备件" name="component"> <el-tab-pane label="备件" name="component">
<el-table v-loading="loading" :data="detailData?.beijianList" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="detailData?.beijianList" :stripe="true" :show-overflow-tooltip="true">
@ -363,6 +362,14 @@ link type="danger" @click="handleDelete(scope.row.id)"
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
</el-table>
</el-tab-pane>
<el-tab-pane label="模具" name="mold">
<el-table v-loading="loading" :data="detailData?.moldList" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="编码" align="center" prop="code" min-width="140" />
<el-table-column label="名称" align="center" prop="name" min-width="140" />
<el-table-column label="备注" align="center" prop="remark" min-width="180" />
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180" />
</el-table> </el-table>
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" /> <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-tab-pane> </el-tab-pane>

@ -8,15 +8,32 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="操作类型" prop="operateType"> <el-form-item label="操作类型" prop="operateType">
<el-select v-model="formData.operateType" placeholder="请选择操作类型"> <el-radio-group v-model="formData.operateType">
<el-option label="请选择字典生成" value="" /> <el-radio :label="1">上模</el-radio>
</el-select> <el-radio :label="2">下模</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="关联模具id" prop="moldId"> <el-form-item label="设备" prop="deviceId">
<el-input v-model="formData.moldId" placeholder="请输入关联模具id" /> <el-select
v-model="formData.deviceId" filterable clearable :loading="deviceLoading"
placeholder="请选择设备" class="!w-full" @change="deviceChange(formData.deviceId)">
<el-option v-for="opt in deviceOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="关联设备id" prop="deviceId"> <el-form-item label="模具" prop="moldId" v-if = "formData.operateType == '1'">
<el-input v-model="formData.deviceId" placeholder="请输入关联设备id" /> <el-select
v-model="formData.moldId"
clearable
filterable
placeholder="请选择模具"
>
<el-option
v-for="item in moldList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input v-model="formData.remark" placeholder="请输入备注" />
@ -30,12 +47,19 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate' import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
import { DeviceLedgerApi, DeviceLedgerVO } from '@/api/mes/deviceledger'
/** 模具上下模 表单 */ /** 模具上下模 表单 */
defineOptions({ name: 'MoldOperateForm' }) defineOptions({ name: 'MoldOperateForm' })
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const moldList = ref<MoldVO[]>([]) //
const deviceLoading = ref(false)
const deviceOptions = ref<{ label: string; value: number; raw?: DeviceLedgerVO }[]>([])
const deviceOptionsLoaded = ref(false)
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('') // const dialogTitle = ref('') //
@ -49,7 +73,9 @@ const formData = ref({
remark: undefined, remark: undefined,
}) })
const formRules = reactive({ const formRules = reactive({
moldId: [{ required: true, message: '关联模具id不能为空', trigger: 'blur' }], moldId: [{ required: true, message: '关联模具不能为空', trigger: 'blur' }],
operateType: [{ required: true, message: '操作类型不能为空', trigger: 'blur' }],
deviceId: [{ required: true, message: '关联设备不能为空', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
@ -59,6 +85,8 @@ const open = async (type: string, id?: number) => {
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
moldList.value = await MoldBrandApi.getMoldAllList()
await ensureDeviceOptionsLoaded()
// //
if (id) { if (id) {
formLoading.value = true formLoading.value = true
@ -73,28 +101,109 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
// const submitForm = async () => {
// //
// await formRef.value.validate()
// //
// if (formData.value.operateType === '1') {
// const data = await MoldOperateApi.getMoldOperateMold(formData.value.deviceId)
// if (data === true) {
// message.alert('')
// return;
// }
// }
// //
// formLoading.value = true
// try {
// const data = formData.value as unknown as MoldOperateVO
// if (formType.value === 'create') {
// await MoldOperateApi.createMoldOperate(data)
// message.success(t('common.createSuccess'))
// } else {
// await MoldOperateApi.updateMoldOperate(data)
// message.success(t('common.updateSuccess'))
// }
// dialogVisible.value = false
// //
// emit('success')
// } finally {
// formLoading.value = false
// }
// }
const submitForm = async () => { const submitForm = async () => {
// // loading
await formRef.value.validate()
//
formLoading.value = true formLoading.value = true
try { try {
const data = formData.value as unknown as MoldOperateVO // 1.
await formRef.value.validate()
// 2.
if (formData.value.operateType == '1') {
const data = await MoldOperateApi.getMoldOperateMold(formData.value.deviceId)
if (data === true) {
message.alert('请先将该设备上的模具换下!')
return
}
} else {
const data = await MoldOperateApi.getMoldOperateMold(formData.value.deviceId)
if (data === false) {
message.alert('该设备没有安装模具!')
return
}
}
// 3.
const submitData = formData.value as unknown as MoldOperateVO
if (formType.value === 'create') { if (formType.value === 'create') {
await MoldOperateApi.createMoldOperate(data) await MoldOperateApi.createMoldOperate(submitData)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
await MoldOperateApi.updateMoldOperate(data) await MoldOperateApi.updateMoldOperate(submitData)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
// 4.
dialogVisible.value = false dialogVisible.value = false
//
emit('success') emit('success')
} catch (error) {
} finally { } finally {
// loading
formLoading.value = false formLoading.value = false
} }
} }
const ensureDeviceOptionsLoaded = async () => {
if (deviceOptionsLoaded.value) return
deviceLoading.value = true
try {
const data = await DeviceLedgerApi.getDeviceLedgerPage({})
const rows = (data?.list ?? []) as DeviceLedgerVO[]
deviceOptions.value = rows
.filter((r) => typeof r?.id === 'number')
.map((r) => ({ label: `${r.deviceCode ?? ''} ${r.deviceName ?? ''}`.trim(), value: r.id, raw: r }))
deviceOptionsLoaded.value = true
} finally {
deviceLoading.value = false
}
}
//
const deviceChange = async (deviceId:number) => {
const data = await MoldOperateApi.getMoldOperateMold(deviceId)
if (formData.value.operateType == '1') {
if (data === true) {
message.alert('请先将该设备上的模具换下!')
}
} else {
if (data === false) {
message.alert('该设备没有安装模具!')
}
}
}
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {

@ -8,7 +8,7 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="操作类型" prop="operateType"> <!-- <el-form-item label="操作类型" prop="operateType">
<el-select <el-select
v-model="queryParams.operateType" v-model="queryParams.operateType"
placeholder="请选择操作类型" placeholder="请选择操作类型"
@ -17,24 +17,22 @@
> >
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="关联模具id" prop="moldId"> <el-form-item label="模具" prop="moldId">
<el-input <el-select
v-model="queryParams.moldId" v-model="queryParams.moldId"
placeholder="请输入关联模具id"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="关联设备id" prop="deviceId">
<el-input
v-model="queryParams.deviceId"
placeholder="请输入关联设备id"
clearable clearable
@keyup.enter="handleQuery" filterable
placeholder="请选择模具"
class="!w-240px" class="!w-240px"
/> >
<el-option
v-for="item in moldList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input <el-input
@ -82,14 +80,19 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane label="上模" name="1" />
<el-tab-pane label="下模" name="2" />
</el-tabs>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="ID" align="center" prop="id" /> <!-- <el-table-column label="ID" align="center" prop="id" /> -->
<el-table-column label="操作类型" align="center" prop="operateType" /> <!-- <el-table-column label="操作类型" align="center" prop="operateType" /> -->
<el-table-column label="关联模具id" align="center" prop="moldId" /> <el-table-column label="模具名称" align="center" prop="moldName" />
<el-table-column label="关联设备id" align="center" prop="deviceId" /> <el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="操作人" align="center" prop="creatorName" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column
label="创建时间" label="操作时间"
align="center" align="center"
prop="createTime" prop="createTime"
:formatter="dateFormatter" :formatter="dateFormatter"
@ -97,14 +100,14 @@
/> />
<el-table-column label="操作" align="center" min-width="120px"> <el-table-column label="操作" align="center" min-width="120px">
<template #default="scope"> <template #default="scope">
<el-button <!-- <el-button
link link
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['mes:mold-operate:update']" v-hasPermi="['mes:mold-operate:update']"
> >
编辑 编辑
</el-button> </el-button> -->
<el-button <el-button
link link
type="danger" type="danger"
@ -134,6 +137,7 @@ import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download' import download from '@/utils/download'
import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate' import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate'
import MoldOperateForm from './MoldOperateForm.vue' import MoldOperateForm from './MoldOperateForm.vue'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
/** 模具上下模 列表 */ /** 模具上下模 列表 */
defineOptions({ name: 'MoldOperate' }) defineOptions({ name: 'MoldOperate' })
@ -155,11 +159,13 @@ const queryParams = reactive({
}) })
const queryFormRef = ref() // const queryFormRef = ref() //
const exportLoading = ref(false) // const exportLoading = ref(false) //
const moldList = ref<MoldVO[]>([]) //
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
moldList.value = await MoldBrandApi.getMoldAllList()
const data = await MoldOperateApi.getMoldOperatePage(queryParams) const data = await MoldOperateApi.getMoldOperatePage(queryParams)
list.value = data.list list.value = data.list
total.value = data.total total.value = data.total
@ -214,6 +220,13 @@ const handleExport = async () => {
} }
} }
/** tab 切换 */
let activeName = '1'
const handleTabClick = (tab: TabsPaneContext) => {
queryParams.operateType = tab.paneName
handleQuery()
}
/** 初始化 **/ /** 初始化 **/
onMounted(() => { onMounted(() => {
getList() getList()

@ -16,7 +16,7 @@
</el-tooltip> </el-tooltip>
</span> </span>
</template> </template>
<el-input :disabled="formType==='create'" v-model="formData.code" placeholder="编码保存后自动生成" /> <el-input disabled v-model="formData.code" placeholder="编码保存后自动生成"/>
</el-form-item> </el-form-item>
<el-form-item label="交货日期" prop="deliveryDate"> <el-form-item label="交货日期" prop="deliveryDate">
<el-date-picker <el-date-picker

Loading…
Cancel
Save