From f3f5a0c0db0b782401a9a0fcf6176312f420d941 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 25 三月 2026 14:01:19 +0800
Subject: [PATCH] 军泰伟业 1.不要树形结构。根据图纸编号为唯一索引添加产品并可以导入 2.要求可以上传图纸 3.产品可以绑定工艺路线 4.工艺路线改成由工序组成,新增编辑是工序可以挪动顺序 5.工序添加报工权限字段,可以多选人员
---
src/views/productionManagement/processRoute/index.vue | 138 ++++++++++++++++++++++-----------------------
1 files changed, 67 insertions(+), 71 deletions(-)
diff --git a/src/views/productionManagement/processRoute/index.vue b/src/views/productionManagement/processRoute/index.vue
index 44592d6..a4a9d3f 100644
--- a/src/views/productionManagement/processRoute/index.vue
+++ b/src/views/productionManagement/processRoute/index.vue
@@ -2,13 +2,25 @@
<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>
@@ -29,87 +41,65 @@
: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: "processRouteName",
},
{
- label: "浜у搧鍥剧焊缂栧彿",
- prop: "drawingNumber",
+ label: "宸ュ簭鍒楄〃",
+ prop: "processName",
+ minWidth: 300,
},
{
- label: "瑙勬牸鍚嶇О",
- prop: "model",
+ label: "鍒涘缓浜�",
+ prop: "createBy",
},
{
- label: "BOM缂栧彿",
- prop: "bomNo",
- },
- {
- label: "鎻忚堪",
- prop: "description",
+ 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);
}
}
]
@@ -118,10 +108,9 @@
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,
@@ -132,6 +121,17 @@
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
+ page.current = 1;
+ getList();
+};
+
+/** 閲嶇疆鎸夐挳鎿嶄綔 */
+const resetQuery = () => {
+ searchForm.value = {
+ processRouteCode: '',
+ processRouteName: '',
+ processName: undefined,
+ };
page.current = 1;
getList();
};
@@ -162,28 +162,14 @@
// 鎵撳紑鏂板寮规
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 });
};
// 鍒犻櫎
@@ -202,8 +188,18 @@
}
onMounted(() => {
+ getProcessList();
getList();
});
+
+// 鑾峰彇宸ュ簭鍒楄〃
+const getProcessList = () => {
+ processList({}).then(res => {
+ processOptions.value = res.data || [];
+ }).catch(err => {
+ console.error("鑾峰彇宸ュ簭鍒楄〃澶辫触锛�", err);
+ });
+};
</script>
<style scoped></style>
--
Gitblit v1.9.3