| | |
| | | <div class="app-container"> |
| | | <div class="search_form"> |
| | | <el-form :model="searchForm" :inline="true"> |
| | | <el-form-item label="规格名称:"> |
| | | <el-input v-model="searchForm.model" placeholder="请输入" clearable prefix-icon="Search" |
| | | style="width: 200px;" |
| | | @change="handleQuery" /> |
| | | <el-form-item label="工艺路线编号"> |
| | | <el-input v-model="searchForm.processRouteCode" placeholder="请输入工艺路线编号" clearable style="width: 200px;" /> |
| | | </el-form-item> |
| | | <el-form-item label="工艺路线名称"> |
| | | <el-input v-model="searchForm.processRouteName" placeholder="请输入工艺路线名称" clearable style="width: 200px;" /> |
| | | </el-form-item> |
| | | <el-form-item label="工序名称"> |
| | | <el-select v-model="searchForm.processName" placeholder="请选择工序" clearable style="width: 200px;"> |
| | | <el-option |
| | | v-for="item in processOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="handleQuery">搜索</el-button> |
| | | <el-button @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | :total="page.total" |
| | | /> |
| | | </div> |
| | | <new-process |
| | | v-if="isShowNewModal" |
| | | v-model:visible="isShowNewModal" |
| | | @completed="getList" |
| | | /> |
| | | |
| | | <edit-process |
| | | v-if="isShowEditModal" |
| | | v-model:visible="isShowEditModal" |
| | | :record="record" |
| | | @completed="getList" |
| | | /> |
| | | |
| | | <route-item-form |
| | | v-if="isShowItemModal" |
| | | v-model:visible="isShowItemModal" |
| | | :record="record" |
| | | <process-form |
| | | v-if="isShowFormModal" |
| | | ref="formRef" |
| | | v-model:visible="isShowFormModal" |
| | | @completed="getList" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import {onMounted, ref} from "vue"; |
| | | import NewProcess from "@/views/productionManagement/processRoute/New.vue"; |
| | | import EditProcess from "@/views/productionManagement/processRoute/Edit.vue"; |
| | | import RouteItemForm from "@/views/productionManagement/processRoute/ItemsForm.vue"; |
| | | import {onMounted, ref, nextTick} from "vue"; |
| | | import ProcessForm from "@/views/productionManagement/processRoute/Form.vue"; |
| | | import {listPage, del} from "@/api/productionManagement/processRoute.js"; |
| | | import { useRouter } from 'vue-router' |
| | | import {processList} from "@/api/productionManagement/productionProcess.js"; |
| | | |
| | | const router = useRouter() |
| | | const data = reactive({ |
| | | searchForm: { |
| | | model: "", |
| | | processRouteCode: '', |
| | | processRouteName: '', |
| | | processName: undefined, |
| | | }, |
| | | }); |
| | | const { searchForm } = toRefs(data); |
| | | |
| | | const processOptions = ref([]); |
| | | const tableColumn = ref([ |
| | | { |
| | | label: "工艺路线编号", |
| | | prop: "processRouteCode", |
| | | }, |
| | | { |
| | | label: "产品名称", |
| | | prop: "productName", |
| | | }, |
| | | { |
| | | label: "图纸编号", |
| | | prop: "model", |
| | | }, |
| | | { |
| | | label: "规格名称", |
| | | prop: "drawingNumber", |
| | | label: "工艺路线名称", |
| | | prop: "processRouteName", |
| | | }, |
| | | { |
| | | label: "BOM编号", |
| | | prop: "bomNo", |
| | | label: "工序列表", |
| | | prop: "processName", |
| | | minWidth: 300, |
| | | }, |
| | | { |
| | | label: "描述", |
| | | prop: "description", |
| | | label: "创建人", |
| | | prop: "createBy", |
| | | }, |
| | | { |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | }, |
| | | { |
| | | dataType: "action", |
| | | label: "操作", |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 280, |
| | | width: 150, |
| | | operation: [ |
| | | { |
| | | name: "编辑", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | showEditModal(row); |
| | | } |
| | | }, |
| | | { |
| | | name: "路线项目", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | showItemModal(row); |
| | | } |
| | | } |
| | | ] |
| | |
| | | const tableData = ref([]); |
| | | const selectedRows = ref([]); |
| | | const tableLoading = ref(false); |
| | | const isShowNewModal = ref(false); |
| | | const isShowEditModal = ref(false); |
| | | const isShowItemModal = ref(false); |
| | | const isShowFormModal = ref(false); |
| | | const record = ref({}); |
| | | const formRef = ref(null); |
| | | const page = reactive({ |
| | | current: 1, |
| | | size: 100, |
| | |
| | | // 查询列表 |
| | | /** 搜索按钮操作 */ |
| | | const handleQuery = () => { |
| | | page.current = 1; |
| | | getList(); |
| | | }; |
| | | |
| | | /** 重置按钮操作 */ |
| | | const resetQuery = () => { |
| | | searchForm.value = { |
| | | processRouteCode: '', |
| | | processRouteName: '', |
| | | processName: undefined, |
| | | }; |
| | | page.current = 1; |
| | | getList(); |
| | | }; |
| | |
| | | |
| | | // 打开新增弹框 |
| | | const showNewModal = () => { |
| | | isShowNewModal.value = true |
| | | isShowFormModal.value = true; |
| | | record.value = {}; |
| | | }; |
| | | |
| | | const showEditModal = (row) => { |
| | | isShowEditModal.value = true |
| | | record.value = row |
| | | }; |
| | | |
| | | const showItemModal = (row) => { |
| | | router.push({ |
| | | path: '/productionManagement/processRouteItem', |
| | | query: { |
| | | id: row.id, |
| | | processRouteCode: row.processRouteCode || '', |
| | | drawingNumber: row.drawingNumber || "", |
| | | productName: row.productName || '', |
| | | model: row.model || '', |
| | | bomNo: row.bomNo || '', |
| | | description: row.description || '', |
| | | type: 'route', |
| | | } |
| | | }) |
| | | const showEditModal = async (row) => { |
| | | isShowFormModal.value = true; |
| | | await nextTick(); |
| | | await formRef.value && formRef.value.setData({ id: row.id, processRouteCode: row.processRouteCode, processRouteName: row.processRouteName }); |
| | | }; |
| | | |
| | | // 删除 |
| | |
| | | } |
| | | |
| | | onMounted(() => { |
| | | getProcessList(); |
| | | getList(); |
| | | }); |
| | | |
| | | // 获取工序列表 |
| | | const getProcessList = () => { |
| | | processList({}).then(res => { |
| | | processOptions.value = res.data || []; |
| | | }).catch(err => { |
| | | console.error("获取工序列表失败:", err); |
| | | }); |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped></style> |