update 机台关联车间和工序

master
yinq 1 month ago
parent 57fb4b8a29
commit 076f16413c

@ -1,262 +1,164 @@
<template> <template>
<div class='p-2'> <div class="p-2">
<transition :enter-active-class='proxy?.animate.searchAnimate.enter' <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
:leave-active-class='proxy?.animate.searchAnimate.leave'> <div v-show="showSearch" class="mb-[10px]">
<div v-show='showSearch' class='mb-[10px]'> <el-card shadow="hover">
<el-card shadow='hover'> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form ref='queryFormRef' :model='queryParams' :inline='true'> <!-- <el-form-item label="主键标识" prop="machineId">
<!-- <el-form-item label="主键标识" prop="machineId"> <el-input v-model="queryParams.machineId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
<el-input v-model="queryParams.machineId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" /> </el-form-item>-->
</el-form-item>--> <!-- <el-form-item label="机台编号" prop="machineCode">
<!-- <el-form-item label="机台编号" prop="machineCode"> <el-input v-model="queryParams.machineCode" placeholder="请输入机台编号" clearable @keyup.enter="handleQuery" />
<el-input v-model="queryParams.machineCode" placeholder="请输入机台编号" clearable @keyup.enter="handleQuery" /> </el-form-item>-->
</el-form-item>--> <!-- <el-form-item label="机台名称" prop="machineName">
<!-- <el-form-item label="机台名称" prop="machineName"> <el-input v-model="queryParams.machineName" placeholder="请输入机台名称" clearable @keyup.enter="handleQuery" />
<el-input v-model="queryParams.machineName" placeholder="请输入机台名称" clearable @keyup.enter="handleQuery" /> </el-form-item>
</el-form-item> <el-form-item label="资产编号" prop="assetNumber">
<el-form-item label="资产编号" prop="assetNumber"> <el-input v-model="queryParams.assetNumber" placeholder="请输入资产编号" clearable @keyup.enter="handleQuery" />
<el-input v-model="queryParams.assetNumber" placeholder="请输入资产编号" clearable @keyup.enter="handleQuery" /> </el-form-item>
</el-form-item> <el-form-item label="机台位置" prop="machineLocation">
<el-form-item label="机台位置" prop="machineLocation"> <el-input v-model="queryParams.machineLocation" placeholder="请输入机台位置" clearable @keyup.enter="handleQuery" />
<el-input v-model="queryParams.machineLocation" placeholder="请输入机台位置" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="机台类型" prop="machineType">
<el-input v-model="queryParams.machineType" placeholder="请输入机台类型" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="机台规格" prop="machineSpec">
<el-input v-model="queryParams.machineSpec" placeholder="请输入机台规格" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="供应商" prop="supplierId">
<el-input v-model="queryParams.supplierId" placeholder="请输入供应商" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label='所属车间' prop='workshopId'>
<el-select v-model='queryParams.workshopId' placeholder='请选择所属车间' clearable @keyup.enter='handleQuery'>
<el-option
v-for='item in workshopInfoList'
:key='item.workshopId'
:label='item.workshopName'
:value='item.workshopId'
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label='机台状态' prop='machineStatus'> <el-form-item label="机台类型" prop="machineType">
<el-select v-model='queryParams.machineStatus' placeholder='请选择机台状态' clearable> <el-input v-model="queryParams.machineType" placeholder="请输入机台类型" clearable @keyup.enter="handleQuery" />
<el-option v-for='dict in machine_status' :key='dict.value' :label='dict.label' :value='dict.value' /> </el-form-item>
<el-form-item label="机台规格" prop="machineSpec">
<el-input v-model="queryParams.machineSpec" placeholder="请输入机台规格" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="供应商" prop="supplierId">
<el-input v-model="queryParams.supplierId" placeholder="请输入供应商" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="机台状态" prop="machineStatus">
<el-select v-model="queryParams.machineStatus" placeholder="请选择机台状态" clearable >
<el-option v-for="dict in machine_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type='primary' icon='Search' @click='handleQuery'>搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon='Refresh' @click='resetQuery'>重置</el-button> <el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
</div> </div>
</transition> </transition>
<el-card shadow='never'> <el-card shadow="never">
<template #header> <template #header>
<el-row :gutter='10' class='mb8'> <el-row :gutter="10" class="mb8">
<el-col :span='1.5'> <el-col :span="1.5">
<el-button type='primary' plain icon='Plus' @click='handleAdd' v-hasPermi="['mes:prodBaseMachineInfo:add']"> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['mes:prodBaseMachineInfo:add']"></el-button>
新增
</el-button>
</el-col> </el-col>
<el-col :span='1.5'> <el-col :span="1.5">
<el-button type='success' plain icon='Edit' :disabled='single' @click='handleUpdate()' <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['mes:prodBaseMachineInfo:edit']"></el-button>
v-hasPermi="['mes:prodBaseMachineInfo:edit']">修改
</el-button>
</el-col> </el-col>
<el-col :span='1.5'> <el-col :span="1.5">
<el-button type='danger' plain icon='Delete' :disabled='multiple' @click='handleDelete()' <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['mes:prodBaseMachineInfo:remove']"></el-button>
v-hasPermi="['mes:prodBaseMachineInfo:remove']">删除
</el-button>
</el-col> </el-col>
<el-col :span='1.5'> <el-col :span="1.5">
<el-button type='warning' plain icon='Download' @click='handleExport' <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['mes:prodBaseMachineInfo:export']"></el-button>
v-hasPermi="['mes:prodBaseMachineInfo:export']">导出
</el-button>
</el-col> </el-col>
<right-toolbar v-model:showSearch='showSearch' :columns='columns' :search='true' <right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
@queryTable='getList'></right-toolbar>
</el-row> </el-row>
</template> </template>
<el-table v-loading='loading' :data='prodBaseMachineInfoList' @selection-change='handleSelectionChange'> <el-table v-loading="loading" :data="prodBaseMachineInfoList" @selection-change="handleSelectionChange">
<el-table-column type='selection' width='55' align='center' /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label='主键标识' align='center' prop='machineId' v-if='columns[0].visible' /> <el-table-column label="主键标识" align="center" prop="machineId" v-if="columns[0].visible"/>
<el-table-column label='租户编号' align='center' prop='tenantId' v-if='columns[1].visible' /> <el-table-column label="租户编号" align="center" prop="tenantId" v-if="columns[1].visible"/>
<el-table-column label='机台编号' align='center' prop='machineCode' v-if='columns[2].visible' /> <el-table-column label="机台编号" align="center" prop="machineCode" v-if="columns[2].visible"/>
<el-table-column label='机台名称' align='center' prop='machineName' v-if='columns[3].visible' /> <el-table-column label="机台名称" align="center" prop="machineName" v-if="columns[3].visible"/>
<el-table-column label='资产编号' align='center' prop='assetNumber' v-if='columns[4].visible' /> <el-table-column label="资产编号" align="center" prop="assetNumber" v-if="columns[4].visible"/>
<el-table-column label='机台位置' align='center' prop='machineLocation' v-if='columns[5].visible' /> <el-table-column label="机台位置" align="center" prop="machineLocation" v-if="columns[5].visible"/>
<el-table-column label='机台类型' align='center' prop='machineType' v-if='columns[6].visible' /> <el-table-column label="机台类型" align="center" prop="machineType" v-if="columns[6].visible"/>
<el-table-column label='机台规格' align='center' prop='machineSpec' v-if='columns[7].visible' /> <el-table-column label="机台规格" align="center" prop="machineSpec" v-if="columns[7].visible"/>
<el-table-column label='供应商' align='center' prop='supplierId' v-if='columns[8].visible' /> <el-table-column label="供应商" align="center" prop="supplierId" v-if="columns[8].visible"/>
<el-table-column label='所属车间' align='center' prop='workshopName' v-if='columns[16].visible' /> <el-table-column label="机台状态" align="center" prop="machineStatus" v-if="columns[9].visible">
<el-table-column label='机台状态' align='center' prop='machineStatus' v-if='columns[9].visible'> <template #default="scope">
<template #default='scope'> <dict-tag :options="machine_status" :value="scope.row.machineStatus"/>
<dict-tag :options='machine_status' :value='scope.row.machineStatus' />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label='备注' align='center' prop='remark' v-if='columns[10].visible' /> <el-table-column label="备注" align="center" prop="remark" v-if="columns[10].visible"/>
<el-table-column label='创建部门' align='center' prop='createDept' v-if='columns[11].visible' /> <el-table-column label="创建部门" align="center" prop="createDept" v-if="columns[11].visible"/>
<el-table-column label='创建人' align='center' prop='createBy' v-if='columns[12].visible' /> <el-table-column label="创建人" align="center" prop="createBy" v-if="columns[12].visible"/>
<el-table-column label='创建时间' align='center' prop='createTime' width='180' v-if='columns[13].visible'> <el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="columns[13].visible">
<template #default='scope'> <template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label='更新人' align='center' prop='updateBy' v-if='columns[14].visible' /> <el-table-column label="更新人" align="center" prop="updateBy" v-if="columns[14].visible"/>
<el-table-column label='更新时间' align='center' prop='updateTime' width='180' v-if='columns[15].visible'> <el-table-column label="更新时间" align="center" prop="updateTime" width="180" v-if="columns[15].visible">
<template #default='scope'> <template #default="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label='操作' align='center' class-name='small-padding fixed-width'> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default='scope'> <template #default="scope">
<el-button link type='primary' icon='Edit' @click='handleRelatedTires(scope.row)' <el-tooltip content="修改" placement="top">
v-hasPermi="['mes:prodBaseMachineInfo:edit']">关联工序 <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['mes:prodBaseMachineInfo:edit']"></el-button>
</el-button> </el-tooltip>
<!-- <el-tooltip content="修改" placement="top">--> <el-tooltip content="删除" placement="top">
<!-- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['mes:prodBaseMachineInfo:edit']"></el-button>--> <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['mes:prodBaseMachineInfo:remove']"></el-button>
<!-- </el-tooltip>--> </el-tooltip>
<!-- <el-tooltip content="删除" placement="top">-->
<!-- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['mes:prodBaseMachineInfo:remove']"></el-button>-->
<!-- </el-tooltip>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show='total > 0' :total='total' v-model:page='queryParams.pageNum' <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:limit='queryParams.pageSize' @pagination='getList' />
</el-card> </el-card>
<!-- 添加或修改机台信息对话框 --> <!-- 添加或修改机台信息对话框 -->
<el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref='prodBaseMachineInfoFormRef' :model='form' :rules='rules' label-width='80px'> <el-form ref="prodBaseMachineInfoFormRef" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="主键标识" prop="machineId"> <!-- <el-form-item label="主键标识" prop="machineId">
<el-input v-model="form.machineId" placeholder="请输入主键标识" /> <el-input v-model="form.machineId" placeholder="请输入主键标识" />
</el-form-item>--> </el-form-item>-->
<el-form-item label='机台编号' prop='machineCode'> <el-form-item label="机台编号" prop="machineCode">
<el-input v-model='form.machineCode' placeholder='请输入机台编号' /> <el-input v-model="form.machineCode" placeholder="请输入机台编号" />
</el-form-item> </el-form-item>
<el-form-item label='机台名称' prop='machineName'> <el-form-item label="机台名称" prop="machineName">
<el-input v-model='form.machineName' placeholder='请输入机台名称' /> <el-input v-model="form.machineName" placeholder="请输入机台名称" />
</el-form-item> </el-form-item>
<el-form-item label='资产编号' prop='assetNumber'> <el-form-item label="资产编号" prop="assetNumber">
<el-input v-model='form.assetNumber' placeholder='请输入资产编号' /> <el-input v-model="form.assetNumber" placeholder="请输入资产编号" />
</el-form-item> </el-form-item>
<el-form-item label='机台位置' prop='machineLocation'> <el-form-item label="机台位置" prop="machineLocation">
<el-input v-model='form.machineLocation' placeholder='请输入机台位置' /> <el-input v-model="form.machineLocation" placeholder="请输入机台位置" />
</el-form-item> </el-form-item>
<el-form-item label='机台类型' prop='machineType'> <el-form-item label="机台类型" prop="machineType">
<el-input v-model='form.machineType' placeholder='请输入机台类型' /> <el-input v-model="form.machineType" placeholder="请输入机台类型" />
</el-form-item> </el-form-item>
<el-form-item label='机台规格' prop='machineSpec'> <el-form-item label="机台规格" prop="machineSpec">
<el-input v-model='form.machineSpec' placeholder='请输入机台规格' /> <el-input v-model="form.machineSpec" placeholder="请输入机台规格" />
</el-form-item> </el-form-item>
<el-form-item label='供应商' prop='supplierId'> <el-form-item label="供应商" prop="supplierId">
<el-input v-model='form.supplierId' placeholder='请输入供应商' /> <el-input v-model="form.supplierId" placeholder="请输入供应商" />
</el-form-item> </el-form-item>
<el-form-item label='所属车间' prop='workshopId'> <el-form-item label="机台状态" prop="machineStatus">
<el-select v-model='form.workshopId' placeholder='请选择所属车间'> <el-select v-model="form.machineStatus" placeholder="请选择机台状态">
<el-option <el-option
v-for='item in workshopInfoList' v-for="dict in machine_status"
:key='item.workshopId' :key="dict.value"
:label='item.workshopName' :label="dict.label"
:value='item.workshopId' :value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label='机台状态' prop='machineStatus'>
<el-select v-model='form.machineStatus' placeholder='请选择机台状态'>
<el-option
v-for='dict in machine_status'
:key='dict.value'
:label='dict.label'
:value='dict.value'
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label='备注' prop='remark'> <el-form-item label="备注" prop="remark">
<el-input v-model='form.remark' placeholder='请输入备注' /> <el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class='dialog-footer'> <div class="dialog-footer">
<el-button :loading='buttonLoading' type='primary' @click='submitForm'> </el-button> <el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click='cancel'> </el-button> <el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
<!-- 机台关联工序对话框 -->
<el-dialog :title='dialog.title' v-model='relationOpen' width='700px' append-to-body>
<el-form ref='prodBaseMachineInfoFormRef' :model='form' label-width='100px'>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='机台编号' prop='machineCode'>
<el-input v-model='form.machineCode' placeholder='请输入模具名称' disabled />
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='机台名称' prop='machineName'>
<el-input v-model='form.machineName' placeholder='请输入机台名称' disabled />
</el-form-item>
</el-col>
</el-row>
<el-divider content-position='center'>机台关联工序信息</el-divider>
<el-row :gutter='10' class='mb8'>
<el-col :span='1.5'>
<el-button type='primary' plain icon='Plus' @click='handleAddRelation'>添加</el-button>
</el-col>
<el-col :span='1.5'>
<el-button type='danger' icon='Delete' @click='handleDeleteMachineProcess'>删除</el-button>
</el-col>
</el-row>
<el-table :data='baseMachineProcessList' :row-class-name='rowProdBaseMachineProcessIndex'
@selection-change='handleMachineProcessSelectionChange'>
<el-table-column type='selection' width='50' align='center' />
<el-table-column label='序号' align='center' prop='index' />
<el-table-column align='center' label='所属工序' prop='processId'>
<template #default='scope'>
<el-select v-model='scope.row.processId' placeholder='请选择所属工序'>
<el-option
v-for='item in processInfoList'
:key='item.processId'
:label='item.processName'
:value='item.processId'
/>
</el-select>
</template>
</el-table-column>
</el-table>
</el-form>
<template #footer>
<div class='dialog-footer'>
<el-button type='primary' @click='submitForm'> </el-button>
<el-button @click='cancelRelation'> </el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script setup name='ProdBaseMachineInfo' lang='ts'> <script setup name="ProdBaseMachineInfo" lang="ts">
import { import { listProdBaseMachineInfo, getProdBaseMachineInfo, delProdBaseMachineInfo, addProdBaseMachineInfo, updateProdBaseMachineInfo } from '@/api/mes/prodBaseMachineInfo';
listProdBaseMachineInfo, import { ProdBaseMachineInfoVO, ProdBaseMachineInfoQuery, ProdBaseMachineInfoForm } from '@/api/mes/prodBaseMachineInfo/types';
getProdBaseMachineInfo,
delProdBaseMachineInfo,
addProdBaseMachineInfo,
updateProdBaseMachineInfo
} from '@/api/mes/prodBaseMachineInfo';
import {
ProdBaseMachineInfoVO,
ProdBaseMachineInfoQuery,
ProdBaseMachineInfoForm
} from '@/api/mes/prodBaseMachineInfo/types';
import { getWorkshopList } from '@/api/mes/baseWorkshopInfo';
import { getProcessInfoList } from '@/api/mes/baseProcessInfo';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { machine_status } = toRefs<any>(proxy?.useDict('machine_status')); const { machine_status } = toRefs<any>(proxy?.useDict('machine_status'));
@ -278,24 +180,6 @@ const dialog = reactive<DialogOption>({
title: '' title: ''
}); });
/** 查询车间下拉树结构 */
const workshopInfoList = ref([]);
const getWorkshopListSelect = async () => {
let res = await getWorkshopList(null);
workshopInfoList.value = res.data;
};
const relationOpen = ref(false);
const baseMachineProcessList = ref<any[]>([]);
const chekedMachineProcessList = ref<any[]>([]);
/** 查询工序下拉树结构 */
const processInfoList = ref([]);
const getProcessInfoListSelect = async () => {
let res = await getProcessInfoList(null);
processInfoList.value = res.data;
};
// //
const columns = ref<FieldOption[]>([ const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false }, { key: 0, label: `主键标识`, visible: false },
@ -314,7 +198,6 @@ const columns = ref<FieldOption[]>([
{ key: 13, label: `创建时间`, visible: false }, { key: 13, label: `创建时间`, visible: false },
{ key: 14, label: `更新人`, visible: false }, { key: 14, label: `更新人`, visible: false },
{ key: 15, label: `更新时间`, visible: false }, { key: 15, label: `更新时间`, visible: false },
{ key: 16, label: `所属车间`, visible: true }
]); ]);
const initFormData: ProdBaseMachineInfoForm = { const initFormData: ProdBaseMachineInfoForm = {
@ -328,11 +211,9 @@ const initFormData: ProdBaseMachineInfoForm = {
supplierId: undefined, supplierId: undefined,
machineStatus: undefined, machineStatus: undefined,
remark: undefined, remark: undefined,
baseMachineProcessList: [] }
};
const data = reactive<PageData<ProdBaseMachineInfoForm, ProdBaseMachineInfoQuery>>({ const data = reactive<PageData<ProdBaseMachineInfoForm, ProdBaseMachineInfoQuery>>({
form: { ...initFormData }, form: {...initFormData},
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -345,15 +226,16 @@ const data = reactive<PageData<ProdBaseMachineInfoForm, ProdBaseMachineInfoQuery
machineSpec: undefined, machineSpec: undefined,
supplierId: undefined, supplierId: undefined,
machineStatus: undefined, machineStatus: undefined,
params: {} params: {
}
}, },
rules: { rules: {
machineCode: [ machineCode: [
{ required: true, message: '机台编号不能为空', trigger: 'blur' } { required: true, message: "机台编号不能为空", trigger: "blur" }
], ],
machineName: [ machineName: [
{ required: true, message: '机台名称不能为空', trigger: 'blur' } { required: true, message: "机台名称不能为空", trigger: "blur" }
] ],
} }
}); });
@ -366,106 +248,55 @@ const getList = async () => {
prodBaseMachineInfoList.value = res.rows; prodBaseMachineInfoList.value = res.rows;
total.value = res.total; total.value = res.total;
loading.value = false; loading.value = false;
}; }
/** 关联工序按钮操作 */
const handleRelatedTires = async (row?: ProdBaseMachineInfoVO) => {
reset();
const _machineId = row?.machineId || ids.value[0];
const res = await getProdBaseMachineInfo(_machineId);
Object.assign(form.value, res.data);
baseMachineProcessList.value = [];
chekedMachineProcessList.value = [];
baseMachineProcessList.value = form.value.baseMachineProcessList.map((item, index) => ({
...item,
index: index + 1 // index
}));
relationOpen.value = true;
dialog.title = '机台关联工序信息';
};
const rowProdBaseMachineProcessIndex = ({ row, rowIndex }: { row: any; rowIndex: number }): string => {
//
if (row.someCondition) {
return 'custom-class';
}
return '';
};
//
const handleAddRelation = () => {
return baseMachineProcessList.value.push({
machineId: form.value.machineId, // machineId
index: baseMachineProcessList.value.length + 1
});
};
//
const handleDeleteMachineProcess = () => {
if (chekedMachineProcessList.value.length === 0) {
proxy?.$modal.msgError('请先选择要删除的机台关联工序数据');
} else {
baseMachineProcessList.value = baseMachineProcessList.value
.filter(item => !chekedMachineProcessList.value.includes(item.index))
.map((item, index) => ({
...item,
index: index + 1 // index
}));
}
};
// 线
const handleMachineProcessSelectionChange = (selection) => {
chekedMachineProcessList.value = selection.map(item => item.index);
};
/** 取消按钮 */ /** 取消按钮 */
const cancel = () => { const cancel = () => {
reset(); reset();
dialog.visible = false; dialog.visible = false;
}; }
/** 表单重置 */ /** 表单重置 */
const reset = () => { const reset = () => {
form.value = { ...initFormData }; form.value = {...initFormData};
prodBaseMachineInfoFormRef.value?.resetFields(); prodBaseMachineInfoFormRef.value?.resetFields();
}; }
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
getList(); getList();
}; }
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
queryFormRef.value?.resetFields(); queryFormRef.value?.resetFields();
handleQuery(); handleQuery();
}; }
/** 多选框选中数据 */ /** 多选框选中数据 */
const handleSelectionChange = (selection: ProdBaseMachineInfoVO[]) => { const handleSelectionChange = (selection: ProdBaseMachineInfoVO[]) => {
ids.value = selection.map(item => item.machineId); ids.value = selection.map(item => item.machineId);
single.value = selection.length != 1; single.value = selection.length != 1;
multiple.value = !selection.length; multiple.value = !selection.length;
}; }
/** 新增按钮操作 */ /** 新增按钮操作 */
const handleAdd = () => { const handleAdd = () => {
reset(); reset();
dialog.visible = true; dialog.visible = true;
dialog.title = '添加机台信息'; dialog.title = "添加机台信息";
}; }
/** 修改按钮操作 */ /** 修改按钮操作 */
const handleUpdate = async (row?: ProdBaseMachineInfoVO) => { const handleUpdate = async (row?: ProdBaseMachineInfoVO) => {
reset(); reset();
const _machineId = row?.machineId || ids.value[0]; const _machineId = row?.machineId || ids.value[0]
const res = await getProdBaseMachineInfo(_machineId); const res = await getProdBaseMachineInfo(_machineId);
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
dialog.visible = true; dialog.visible = true;
dialog.title = '修改机台信息'; dialog.title = "修改机台信息";
}; }
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
@ -473,45 +304,34 @@ const submitForm = () => {
if (valid) { if (valid) {
buttonLoading.value = true; buttonLoading.value = true;
if (form.value.machineId) { if (form.value.machineId) {
form.value.baseMachineProcessList = baseMachineProcessList; await updateProdBaseMachineInfo(form.value).finally(() => buttonLoading.value = false);
await updateProdBaseMachineInfo(form.value).finally(() => buttonLoading.value = false);
} else { } else {
await addProdBaseMachineInfo(form.value).finally(() => buttonLoading.value = false); await addProdBaseMachineInfo(form.value).finally(() => buttonLoading.value = false);
} }
proxy?.$modal.msgSuccess('操作成功'); proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false; dialog.visible = false;
relationOpen.value = false;
await getList(); await getList();
} }
}); });
}; }
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (row?: ProdBaseMachineInfoVO) => { const handleDelete = async (row?: ProdBaseMachineInfoVO) => {
const _machineIds = row?.machineId || ids.value; const _machineIds = row?.machineId || ids.value;
await proxy?.$modal.confirm('是否确认删除机台信息编号为"' + _machineIds + '"的数据项?').finally(() => loading.value = false); await proxy?.$modal.confirm('是否确认删除机台信息编号为"' + _machineIds + '"的数据项?').finally(() => loading.value = false);
await delProdBaseMachineInfo(_machineIds); await delProdBaseMachineInfo(_machineIds);
proxy?.$modal.msgSuccess('删除成功'); proxy?.$modal.msgSuccess("删除成功");
await getList(); await getList();
}; }
const cancelRelation = () => {
reset();
relationOpen.value = false;
baseMachineProcessList.value = [];
};
/** 导出按钮操作 */ /** 导出按钮操作 */
const handleExport = () => { const handleExport = () => {
proxy?.download('mes/prodBaseMachineInfo/export', { proxy?.download('mes/prodBaseMachineInfo/export', {
...queryParams.value ...queryParams.value
}, `prodBaseMachineInfo_${new Date().getTime()}.xlsx`); }, `prodBaseMachineInfo_${new Date().getTime()}.xlsx`)
}; }
onMounted(() => { onMounted(() => {
getProcessInfoListSelect();
getWorkshopListSelect();
getList(); getList();
}); });
</script> </script>

Loading…
Cancel
Save