From 29ddfc71333ae0442d9ae7c2609a02d2ed528497 Mon Sep 17 00:00:00 2001
From: zhangdi <1104545947@qq.com>
Date: Wed, 27 May 2026 16:55:57 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E4=BB=A3=E7=A0=81=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../binTransfer/components/addEditDialog.vue | 508 +++++++++---------
.../components/exception/dataMissing.vue | 20 +
.../processMainte/dsPartBasicInfo.vue | 212 ++------
.../processMainte/processPlanning.vue | 210 ++++----
.../components/borrowDialog.vue | 7 +-
.../materialMaintenance.vue | 2 +-
.../teamRequest/components/addEditDialog.vue | 2 +-
7 files changed, 450 insertions(+), 511 deletions(-)
diff --git a/src/views/inboundOutboundManagement/binTransfer/components/addEditDialog.vue b/src/views/inboundOutboundManagement/binTransfer/components/addEditDialog.vue
index 9c92b1c0..cb5bb44d 100644
--- a/src/views/inboundOutboundManagement/binTransfer/components/addEditDialog.vue
+++ b/src/views/inboundOutboundManagement/binTransfer/components/addEditDialog.vue
@@ -19,26 +19,23 @@
-
-
+ changeGoods(val, scope.$index)"
- >
-
-
+ placeholder="请搜索选择"
+ api-url="/api/blade-wms/combox/config/goodsOut"
+ echo-api="/api/blade-wms/combox/config/goodsOut"
+ echoParamsKey="ids"
+ echo-method="get"
+ api-method="get"
+ list-key="records"
+ total-key="total"
+ label-key="goodsCodeAndGoodsName"
+ value-key="goodsId"
+ search-key="filterValue"
+ :debounce-time="500"
+ @change="(value, item) => changeGoods(value, item, scope.$index)"
+ />
@@ -55,14 +52,11 @@
-
- *新库房号
-
+
+ *新库房号
+
-
+
-
-
-
-
-
+
+
+
+
@@ -113,10 +108,7 @@
-
+
@@ -124,10 +116,7 @@
-
+
@@ -139,17 +128,18 @@
:prop="`tableData[${scope.$index}].specifications`"
:rules="formRules.specifications"
>
-
+
-
+
@@ -157,10 +147,7 @@
-
+
@@ -177,218 +164,213 @@
diff --git a/src/views/orderManagement/components/exception/dataMissing.vue b/src/views/orderManagement/components/exception/dataMissing.vue
index f66d23c5..f3025636 100644
--- a/src/views/orderManagement/components/exception/dataMissing.vue
+++ b/src/views/orderManagement/components/exception/dataMissing.vue
@@ -47,6 +47,9 @@
row.curStatusText
}}
+
+ {{ row.validationMomo }}
+
修改
@@ -346,6 +349,23 @@ export default {
align: 'center',
column: [
+ {
+ label: '异常原因',
+ prop: 'validationMomo',
+ search: true,
+ sortable: 'custom',
+ width: 240,
+ span: 12,
+ headerAlign: 'center',
+ align: 'center',
+ rules: [
+ {
+ required: true,
+ message: '请输入计划单号',
+ trigger: 'blur',
+ },
+ ],
+ },
{
label: '计划单号',
prop: 'ypCode',
diff --git a/src/views/processManagement/components/processMainte/dsPartBasicInfo.vue b/src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
index a595f407..f3c66725 100644
--- a/src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
+++ b/src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
@@ -500,30 +500,72 @@
子件信息
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ -
+
+
+
+
+
@@ -634,143 +676,7 @@ export default {
},
submitLoading: false,
data: [],
- option: {
- tip: false,
- simplePage: false,
- searchShow: true,
- searchMenuSpan: 6,
- dialogWidth: '60%',
- border: true,
- selection: false,
- viewBtn: true,
- menuWidth: 240,
- dialogClickModal: false,
- excelBtn: true,
- viewBtn: false,
- editBtnText: '编辑',
- refreshBtn: false,
- searchShowBtn: false,
- gridBtn: false,
- menu: false,
- header: false,
- index: true,
- searchLabelPosition: 'left',
- searchGutter: 24,
- searchSpan: 6,
- menuAlign: 'left',
- gridBtn: false,
- searchMenuPosition: 'right',
- addBtnIcon: ' ',
- viewBtnIcon: ' ',
- delBtnIcon: ' ',
- editBtnIcon: ' ',
- align: 'center',
- column: [
- {
- label: '零件号',
- prop: 'partCode',
- search: false,
- sortable: true,
- overHidden: true,
- cell: true,
- width: 180,
- },
- {
- label: '零件名称',
- prop: 'partName',
- search: false,
- sortable: true,
- overHidden: true,
- },
- {
- label: '产品型号',
- prop: 'productType',
- search: false,
- sortable: true,
- overHidden: true,
- },
- {
- label: '数量',
- prop: 'quota',
- search: false,
- sortable: true,
- overHidden: true,
- cell: true,
- },
- {
- label: '面积(d㎡)',
- prop: 'area',
- search: false,
- sortable: true,
- overHidden: true,
- cell: true,
- },
-
- {
- label: '总面积',
- prop: 'totalArea',
- cell: false,
- search: false,
- sortable: true,
- overHidden: true,
- },
- {
- label: '零件类型',
- prop: 'sinTerType',
- search: false,
- sortable: true,
- overHidden: true,
- type: 'select',
- filterable: true,
- clearable: true,
- cell: true,
- dicData: [
- {
- label: '插针',
- value: 1,
- },
- {
- label: '壳体',
- value: 2,
- },
- {
- label: '石墨模',
- value: 5,
- },
- {
- label: '自制玻璃饼',
- value: 3,
- },
- {
- label: '其他',
- value: 4,
- },
- ],
- },
- {
- label: '是否电镀',
- prop: 'isElectroplating',
- cell: true,
- search: false,
- sortable: true,
- overHidden: true,
- },
- {
- label: '修改人',
- prop: 'updateUserStr',
- search: false,
- sortable: true,
- overHidden: true,
- },
- {
- label: '修改时间',
- prop: 'updateTime',
- search: false,
- sortable: true,
- overHidden: true,
- },
- ],
- },
+
partType: '',
loading: false,
plateList: [], //
diff --git a/src/views/processManagement/components/processMainte/processPlanning.vue b/src/views/processManagement/components/processMainte/processPlanning.vue
index 97d7fab1..0124200d 100644
--- a/src/views/processManagement/components/processMainte/processPlanning.vue
+++ b/src/views/processManagement/components/processMainte/processPlanning.vue
@@ -114,7 +114,6 @@
style="width: 220px; margin-right: 12px"
clearable
filterable
- :filter-method="handleFilter"
>
-
{
- // 字段1:姓名(转小写)
- const matchName = item.name.includes(lowerKeyword);
- // 字段2:拼音(转小写)
- const matchPinyin = item.modelNameStr.includes(lowerKeyword);
- // 只要有一个字段匹配,就保留该选项
- return matchName || matchPinyin;
- });
- },
// 工艺模板列表
async getModelList() {
await getModelList().then(res => {
@@ -999,7 +972,7 @@ export default {
updateTreeNode(this.data);
},
// 获取零件信息详情数据
- async getDetails() {
+ async getDetails(shouldRestoreSelection = false) {
this.treeLoading = true;
let query_ = {};
if (!this.updateRow.partVersion) {
@@ -1016,24 +989,79 @@ export default {
rank: this.lastConfirmedRank,
};
}
- await getProcessAuthorized(query_)
- .then(res => {
- this.treeLoading = false;
- this.data = this.transformCraftTree(res.data.data);
- this.partInfoData = res.data.data.partInfo;
- this.$nextTick(() => {
- this.autoSelectFirstProcess();
- this.calculateTableHeight();
- });
- if (this.partInfoData.partName == '石墨模') {
- let graphite = this.modelOption.find(item => item.name == '石墨模');
- this.modelLevel = graphite.id;
- this.modelLevelChange();
+
+ try {
+ const res = await getProcessAuthorized(query_);
+ this.treeLoading = false;
+ this.data = this.transformCraftTree(res.data.data);
+ this.partInfoData = res.data.data.partInfo;
+
+ this.$nextTick(() => {
+ // 自动选中第一个工艺(初始加载)
+ if (!shouldRestoreSelection && this.data.length > 0) {
+ const rootNode = this.data[0];
+ this.handleNodeClick(rootNode, {
+ level: 1,
+ parent: { data: null, isRoot: true },
+ });
+ if (this.$refs.tree) {
+ this.$refs.tree.setCurrentKey(rootNode.id);
+ }
}
- })
- .catch(err => {
- this.treeLoading = false;
+ // 恢复之前选中的节点
+ else if (shouldRestoreSelection && this.cachedSelectedNodeId) {
+ this.restoreSelectedNode();
+ }
+ this.calculateTableHeight();
});
+ } catch (err) {
+ this.treeLoading = false;
+ }
+ },
+ // 恢复选中节点
+ restoreSelectedNode() {
+ const findAndSelectNode = nodes => {
+ for (let node of nodes) {
+ if (node.id === this.cachedSelectedNodeId) {
+ // 模拟点击事件恢复数据
+ this.handleNodeClick(node, {
+ level: node.level,
+ parent: {
+ data: this.getParentNode(this.data, node.id),
+ isRoot: node.level === 1,
+ },
+ });
+
+ // 视觉选中
+ this.$nextTick(() => {
+ if (this.$refs.tree) {
+ this.$refs.tree.setCurrentKey(node.id);
+ }
+ });
+ return true;
+ }
+
+ if (node.children && node.children.length > 0) {
+ if (findAndSelectNode(node.children)) return true;
+ }
+ }
+ return false;
+ };
+
+ findAndSelectNode(this.data);
+ },
+ // 辅助方法:获取父节点
+ getParentNode(nodes, targetId, parent = null) {
+ for (let node of nodes) {
+ if (node.id === targetId) {
+ return parent;
+ }
+ if (node.children && node.children.length > 0) {
+ const found = this.getParentNode(node.children, targetId, node);
+ if (found) return found;
+ }
+ }
+ return null;
},
autoSelectFirstProcess() {
if (!this.data || this.data.length === 0) return;
@@ -1133,10 +1161,9 @@ export default {
if (nodes.disabled && node.level !== 1) {
return false;
}
- // console.log(node.level, nodes, 'node.level');
this.calculateTableHeight();
this.treeLoading = true;
-
+ this.cachedSelectedNodeId = nodes.id;
this.treeNodes = nodes;
const parentNode = node.parent;
@@ -1145,10 +1172,8 @@ export default {
}
this.treeLeave = node.level;
-
// 清空现有表格数据
this.clearTableData();
-
// 根据节点层级加载对应数据
if (this.treeLeave === 1) {
// 🟢 零件节点:加载该零件下所有工艺的工序数据(只读)
@@ -1255,7 +1280,6 @@ export default {
this.$prompt('请输入零件号', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
- // inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
inputErrorMessage: '零件号正确',
})
.then(({ value }) => {
@@ -1264,7 +1288,6 @@ export default {
partCode: value,
};
- console.log(9999999, node.data.id);
craftBatchCopy(query).then(res => {
this.$message.success('复制成功');
});
@@ -1591,7 +1614,7 @@ export default {
// // heatTreatmentTest 热处理检验验证
if (dsCraftMold.hotDispose == '1') {
if (!arr.includes('热处理检验')) {
- this.$message({
+ this.$message({
dangerouslyUseHTMLString: true,
message:
'' +
@@ -1625,7 +1648,6 @@ export default {
});
}
}
-
// 处理传参
if (this.treeNodes.rawData.qualityGradeCode) {
@@ -1640,12 +1662,12 @@ export default {
processList: this.form1.tableData1, //工序集合
processDeleteIds: this.form1.deleteIds, //删除ids
};
- this.craftLoading = true;
+ this.craftLoading = true;
authorizedAccomplish2(query_)
.then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
- this.getDetails();
+ this.getDetails(true);
})
.catch(err => {
this.craftLoading = false;
@@ -1678,18 +1700,20 @@ export default {
deleteIds: this.form2.deleteIds, //删除ids
};
- saveProcessProjectSave(query_).then(res => {
- this.$message.success('保存成功');
- this.craftLoading = false;
- // ✅ 更新工序节点下的项目数据
- if (this.treeLeave === 3) {
- this.treeNodes.rawData.projectList = this.form2.tableData2;
- this.updateTreeNodeProject();
- this.refreshTableData(); // ✅ 刷新右侧表格
- }
- }).catch(err=>{
- this.craftLoading = false;
- })
+ saveProcessProjectSave(query_)
+ .then(res => {
+ this.$message.success('保存成功');
+ this.craftLoading = false;
+ // ✅ 更新工序节点下的项目数据
+ if (this.treeLeave === 3) {
+ this.treeNodes.rawData.projectList = this.form2.tableData2;
+ this.updateTreeNodeProject();
+ this.refreshTableData(); // ✅ 刷新右侧表格
+ }
+ })
+ .catch(err => {
+ this.craftLoading = false;
+ });
}
});
}
@@ -1702,18 +1726,20 @@ export default {
processMeasuringToolEntities: this.form3.tableData3, //尺寸量具
deleteIds: this.form3.deleteIds, //删除ids
};
- saveProcessMeasuringTool(query_).then(res => {
- this.$message.success('保存成功');
- this.craftLoading = false;
- // ✅ 更新工序节点下的量具数据
- if (this.treeLeave === 3) {
- this.treeNodes.rawData.measuringToolList = this.form3.tableData3;
- this.updateTreeNodeProject();
- this.refreshTableData(); // ✅ 刷新右侧表格
- }
- }).catch(err=>{
- this.craftLoading = false;
- })
+ saveProcessMeasuringTool(query_)
+ .then(res => {
+ this.$message.success('保存成功');
+ this.craftLoading = false;
+ // ✅ 更新工序节点下的量具数据
+ if (this.treeLeave === 3) {
+ this.treeNodes.rawData.measuringToolList = this.form3.tableData3;
+ this.updateTreeNodeProject();
+ this.refreshTableData(); // ✅ 刷新右侧表格
+ }
+ })
+ .catch(err => {
+ this.craftLoading = false;
+ });
}
});
}
@@ -1726,18 +1752,20 @@ export default {
processMoldToolEntities: this.form4.tableData4, //尺寸量具
deleteIds: this.form4.deleteIds, //删除ids
};
- saveProcessMoldTool(query_).then(res => {
- this.$message.success('保存成功');
- this.craftLoading = false;
- // ✅ 更新工序节点下的工装数据
- if (this.treeLeave === 3) {
- this.treeNodes.rawData.moldToolList = this.form4.tableData4;
- this.updateTreeNodeProject();
- this.refreshTableData(); // ✅ 刷新右侧表格
- }
- }).catch(err=>{
- this.craftLoading = false;
- })
+ saveProcessMoldTool(query_)
+ .then(res => {
+ this.$message.success('保存成功');
+ this.craftLoading = false;
+ // ✅ 更新工序节点下的工装数据
+ if (this.treeLeave === 3) {
+ this.treeNodes.rawData.moldToolList = this.form4.tableData4;
+ this.updateTreeNodeProject();
+ this.refreshTableData(); // ✅ 刷新右侧表格
+ }
+ })
+ .catch(err => {
+ this.craftLoading = false;
+ });
}
});
}
diff --git a/src/views/warehouseManagement/components/borrowDialog.vue b/src/views/warehouseManagement/components/borrowDialog.vue
index 7da8a7fb..9f1fd60f 100644
--- a/src/views/warehouseManagement/components/borrowDialog.vue
+++ b/src/views/warehouseManagement/components/borrowDialog.vue
@@ -198,12 +198,15 @@ export default {
this.tableData[index].goodsId = tmp.id
this.tableData[index].unitName = tmp.unitName
this.tableData[index].materialModel = tmp.materialModel
- getWarehouseList({
+ if(val != ''){
+ getWarehouseList({
goodsCode:val
}).then(res =>{
console.log('res-----------',res)
this.tableData[index].shList = res.data.data
})
+ }
+
}
// let tmp = this.goodsList.find(item => item.goodsCode == val)
@@ -231,7 +234,7 @@ export default {
},
changePiNo(val,index){
let tmp = this.tableData[index].piNoList.find(item => item.piNo == val)
- this.tableData[index].stockQuantity = tmp.quantity
+ this.tableData[index].stockQuantity = tmp.usableQuantity
this.tableData[index].rlsId = tmp.id
},
getUser(){
diff --git a/src/views/warehouseManagement/materialMaintenance.vue b/src/views/warehouseManagement/materialMaintenance.vue
index ff59a3f6..8ddc63e7 100644
--- a/src/views/warehouseManagement/materialMaintenance.vue
+++ b/src/views/warehouseManagement/materialMaintenance.vue
@@ -352,7 +352,7 @@ export default {
// ],
},
{
- label: '是否停用',
+ label: '是否启用',
editDisplay: true,
prop: 'used',
type: 'switch',
diff --git a/src/views/warehouseManagement/teamRequest/components/addEditDialog.vue b/src/views/warehouseManagement/teamRequest/components/addEditDialog.vue
index 491cbdfe..6bc1da95 100644
--- a/src/views/warehouseManagement/teamRequest/components/addEditDialog.vue
+++ b/src/views/warehouseManagement/teamRequest/components/addEditDialog.vue
@@ -36,7 +36,7 @@
total-key="total"
label-key="goodsCode"
value-key="goodsCode"
- search-key="goodsCode"
+ search-key="filterValue"
:debounce-time="100"
@change="(val, item) => changeGoods(val, item, scope.row, scope.$index)"
/>