From 4a10d1bcbb3c7c6924d7c0ea368fd187207fe8f3 Mon Sep 17 00:00:00 2001
From: zhangdi <15053473693@163.com>
Date: Thu, 5 Feb 2026 11:51:42 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E6=A8=A1=E6=9D=BF=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/addTemplateDialog.vue | 585 +++++++++++++-----
.../processManagement/processTemplate.vue | 3 -
2 files changed, 436 insertions(+), 152 deletions(-)
diff --git a/src/views/processManagement/components/addTemplateDialog.vue b/src/views/processManagement/components/addTemplateDialog.vue
index bce5940..8091205 100644
--- a/src/views/processManagement/components/addTemplateDialog.vue
+++ b/src/views/processManagement/components/addTemplateDialog.vue
@@ -15,17 +15,17 @@
class="demo-ruleForm"
>
-
+
-
+
-
+
-
+
@@ -45,7 +45,7 @@
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+ 插入一行
+ 删除选择行
+
+
+
+ {{ formError }}
+
-
- 插入一行
- 删除行
+
+
+
+
+ *工序号
+
+
+
+
+
+
+
+
+
+ *工序名称
+
+
+
+
+
+
+
+
+
+
+
+
+ *工艺能力
+
+
+
+
+
+
+
+
+
+
+
+
+ *工时(分钟)
+
+
+
+
+
+
+
+
+
+ *工序描述
+
+
+
+
+
+
+
+
+
+ *主工序
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *工序号
+
+
+
+
+
+
+
+
+
+ *检验项目
+
+
+
+
+
+
+
+
+
+
+
+ *检验标准
+
+
+
+
+
+
+
+
+
+
+
+ *定额工时(分钟)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- {{ formError }}
-
-
-
-
-
-
- *工序号
-
-
-
-
-
-
-
-
-
- *工序名称
-
-
-
-
-
-
-
-
-
-
-
-
-
- *工艺能力
-
-
-
-
-
-
-
-
-
-
-
-
- *工时(分钟)
-
-
-
-
-
-
-
-
-
- *工序描述
-
-
-
-
-
-
-
-
-
- *主工序
-
-
-
-
-
-
-
-
-
-
-
@@ -215,6 +334,7 @@ import {
getDetail,
getProcessAbilityList,
} from '@/api/processManagement/processTemplate';
+import { getProject, getStandardList } from '@/api/processManagement/taskProcessing';
import { getList } from '@/api/processManagement/basicProcesses';
import { getWorkCenterList } from '@/api/processManagement/addQuantity';
import pinyin from 'pinyin';
@@ -239,7 +359,75 @@ export default {
},
data() {
return {
- formLoading:false,
+ treeData: [
+ {
+ label: '工序列表',
+ processList: [
+ {
+ processInfo: {
+ processName: '工序1',
+ },
+ projectInfo: [
+ {
+ jobName: '作业1',
+ },
+ {
+ jobName: '作业2',
+ },
+ ],
+ },
+ {
+ processInfo: {
+ processName: '工序2',
+ },
+ projectInfo: [
+ {
+ jobName: '作业2',
+ },
+ {
+ jobName: '作业3',
+ },
+ ],
+ },
+ ],
+ },
+ ], //组织树的数据
+ defaultProps: {
+ label: data => {
+ // Level 1: 根分组(如 "工序列表")
+ if (data.label && data.processList) {
+ return data.label;
+ }
+ // Level 2: 工序节点
+ if (data.processInfo) {
+ return data.processInfo.processName || '未命名工序';
+ }
+ // Level 3: 项目/作业节点
+ if (data.jobName !== undefined) {
+ return data.jobName;
+ }
+ return '未知节点';
+ },
+ children: data => {
+ // Level 1 → Level 2
+ if (data.processList) {
+ return data.processList;
+ }
+ // Level 2 → Level 3
+ if (data.processInfo && data.projectInfo) {
+ return data.projectInfo;
+ }
+ // Level 3 无子节点
+ return [];
+ },
+ isLeaf: data => {
+ // 只有最底层(jobName)是叶子节点
+ return data.jobName !== undefined;
+ },
+ },
+ activeName: '1',
+ treeLeave: 1, //组织树选中层级
+ formLoading: false,
craftCodeList: [], //工艺能力列表
formError: '', // 全局错误提示
processTemplateList: [],
@@ -255,6 +443,7 @@ export default {
platingType: '',
priority: '',
tableData: [],
+ tableData2: [],
},
rules: {
code: [{ required: true, message: '请输入', trigger: 'blur' }],
@@ -281,6 +470,24 @@ export default {
trigger: 'submit',
},
],
+ tableData2: [
+ {
+ required: true,
+ message: '请至少添加一行数据',
+ trigger: 'submit',
+ type: 'array', // 明确类型为数组
+ },
+ {
+ validator: (rule, value, callback) => {
+ if (value.length === 0) {
+ callback(new Error('请至少添加一行数据'));
+ } else {
+ callback();
+ }
+ },
+ trigger: 'submit',
+ },
+ ],
processNo: [{ required: true, message: '请输入工序号', trigger: 'blur' }],
processCode: [{ required: true, message: '请选择工序代码', trigger: 'blur' }],
craftCode: [{ required: true, message: '请选择工艺能力', trigger: 'blur' }],
@@ -288,7 +495,10 @@ export default {
proDes: [{ required: true, message: '请输入工序描述', trigger: 'blur' }],
isMain: [{ required: true, message: '请选择主工序', trigger: 'blur' }],
},
+
workCenterList: [], //作业中心列表
+ projectOptions: [], //检验项目列表
+ standardList: [], //检验标准列表
};
},
mounted() {
@@ -299,12 +509,57 @@ export default {
this.getProcessList();
this.getWorkCenterList();
this.getProcessAbilityList();
+ this.getProject();
+ this.getStandardList();
if (this.title == '修改') {
this.getDetail();
}
},
methods: {
+ // 获取检验项目名字
+ projectChange(row, index) {
+ let selectName = this.projectOptions.find(item => item.id == row.projectCode);
+ this.form2.tableData2[index].projectName = selectName.name;
+ },
+ // 获取检验标准名字
+ standardChange(row, index) {
+ let selectName = this.standardList.find(item => item.id == row.projectStandard);
+ this.form2.tableData2[index].projectStandardName = selectName.name;
+ },
+ getStandardList() {
+ getStandardList().then(res => {
+ this.standardList = res.data.data;
+ });
+ },
+ getProject() {
+ getProject({ size: 999999, current: 1 }).then(res => {
+ this.projectOptions = res.data.data.records;
+ });
+ },
+
+ // 组织树点击
+ handleNodeClick(nodes, node, self) {
+ const data = nodes;
+ if (data.label && data.processList) {
+ this.activeName = '1';
+ this.treeLeave = 1;
+ this.ruleForm.tableData = data.processList;
+ } else if (data.processInfo) {
+ this.activeName = '2';
+ this.treeLeave = 2;
+ this.ruleForm.tableData2 = [data.projectInfo];
+ }
+ },
+ // 右侧tab切换
+ handleClick(value) {
+ console.log(999999, value);
+ // this.form1.deleteIds = [];
+ // this.form2.deleteIds = [];
+ // this.form3.deleteIds = [];
+ // this.form4.deleteIds = [];
+ },
nameChange() {},
+
// 获取工序号
getProcessNo(table) {
const len = table;
@@ -384,7 +639,7 @@ export default {
submit() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
- this.formLoading = true
+ this.formLoading = true;
const pinyinArr = pinyin(this.ruleForm.name, {
style: pinyin.STYLE_NORMAL, // 无声调(STYLE_TONE 带声调)
heteronym: false, // 不考虑多音字
@@ -399,28 +654,32 @@ export default {
// 修改
if (!this.moldAddMore) {
- update(query).then(res => {
- this.formLoading = false
- this.$message({
- type: 'success',
- message: '操作成功!',
+ update(query)
+ .then(res => {
+ this.formLoading = false;
+ this.$message({
+ type: 'success',
+ message: '操作成功!',
+ });
+ this.$emit('closeDialog');
+ })
+ .catch(err => {
+ this.formLoading = false;
});
- this.$emit('closeDialog');
- }).catch(err=>{
- this.formLoading = false
- });
} else {
// 新增
- add(query).then(res => {
- this.formLoading = false
- this.$message({
- type: 'success',
- message: '操作成功!',
+ add(query)
+ .then(res => {
+ this.formLoading = false;
+ this.$message({
+ type: 'success',
+ message: '操作成功!',
+ });
+ this.$emit('closeDialog');
+ })
+ .catch(err => {
+ this.formLoading = false;
});
- this.$emit('closeDialog');
- }).catch(err=>{
- this.formLoading = false
- });
}
} else {
// 校验失败:显示提示并滚动到第一个错误字段
@@ -475,4 +734,32 @@ export default {
padding: 0 !important;
line-height: 50px !important;
}
+.process-box {
+ display: flex;
+ flex-direction: row;
+ height: calc(100vh - 280px);
+ .process-left {
+ // padding: 20px;
+ width: 240px;
+ border: 1px solid #ccc;
+ }
+ .process-right {
+ padding: 12px;
+ flex: 1;
+ border: 1px solid #ccc;
+ border-left: 0;
+ .table-btn {
+ width: 100%;
+ height: 50px;
+
+ .table-btn-left {
+ float: left;
+ }
+
+ .table-btn-right {
+ float: right;
+ }
+ }
+ }
+}
diff --git a/src/views/processManagement/processTemplate.vue b/src/views/processManagement/processTemplate.vue
index aea3e1a..c99438c 100644
--- a/src/views/processManagement/processTemplate.vue
+++ b/src/views/processManagement/processTemplate.vue
@@ -10,7 +10,6 @@
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
- @selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@@ -74,7 +73,6 @@ export default {
height: 'auto',
calcHeight: 32,
tip: false,
- size: 'medium',
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
@@ -323,7 +321,6 @@ export default {
this.data = res.data.data.records;
this.loading = false;
this.page.total = this.data.length;
- this.selectionClear();
});
},
},