From abe01ad5672f58bc34cd5befa06e1e012747108f Mon Sep 17 00:00:00 2001
From: 李喆(开发组) <lzhe@yxqiche.com>
Date: 星期五, 25 七月 2025 21:02:28 +0800
Subject: [PATCH] 1
---
src/views/wel/index.vue | 251 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 187 insertions(+), 64 deletions(-)
diff --git a/src/views/wel/index.vue b/src/views/wel/index.vue
index 75c5b13..21a1b72 100644
--- a/src/views/wel/index.vue
+++ b/src/views/wel/index.vue
@@ -4,7 +4,7 @@
:addBtn="false"
:option="option"
:table-loading="loading"
- :data="data"
+ :data="treeData"
ref="crud"
v-model:search="search"
v-model:page="mypage"
@@ -15,6 +15,22 @@
@tree-load="treeLoad"
@row-click="rowClick"
>
+ <template #search>
+ <el-row :gutter="24">
+ <el-col :span="6">
+ <el-input v-model="search.name" placeholder="璇疯緭鍏ヨ妭鐐瑰悕绉�" clearable/>
+ </el-col>
+ <el-col :span="6">
+ <el-select v-model="search.nodeType" placeholder="璇疯緭鍏ヨ妭鐐圭被鍨�" clearable>
+ <el-option v-for="item in nodeTypeList" :key="item.dictValue" :label="item.dictValue" :value="item.dictKey"/>
+ </el-select>
+ </el-col>
+ <el-col :span="6">
+ <el-button type="primary" @click="searchTree"><el-icon class="el-icon--right" style="margin-right: 6px;"><Search /></el-icon>鎼滅储</el-button>
+ <el-button :icon="Delete"><el-icon class="el-icon--right" style="margin-right: 6px;"><Delete /></el-icon>娓呯┖</el-button>
+ </el-col>
+ </el-row>
+ </template>
<template #menu-left>
<el-button :size="size" type="primary" @click="showAdd()">鏂板鏍硅妭鐐�</el-button>
</template>
@@ -24,7 +40,8 @@
<el-button :size="size" text icon="el-icon-delete" type="primary" @click="showDel(row)" placeholder="鍒犻櫎" title="鍒犻櫎"></el-button>
<el-button :size="size" text v-if="row.nodeType < 60" icon="el-icon-document-add" type="primary" @click="showAdd(row)" placeholder="鏂板瀛愮骇" title="鏂板瀛愮骇"></el-button>
<el-button :size="size" text v-if="row.nodeType == 60" icon="el-icon-upload" type="primary" @click="showUpload(row)" placeholder="鏂囦欢涓婁紶" title="鏂囦欢涓婁紶"></el-button>
- <el-button :size="size" text v-if="row.nodeType == 70" icon="el-icon-pie-chart" type="primary" @click="upgrade(row)" placeholder="鍗囩増" title="鍗囩増"></el-button>
+ <!-- 娑夊瘑缃戞墠鏈� -->
+ <el-button :size="size" text v-if="row.nodeType == 70 && isSM" icon="el-icon-pie-chart" type="primary" @click="upgrade(row)" placeholder="鍗囩増" title="鍗囩増"></el-button>
<!-- 宸ユ帶缃戞墠鏈� -->
<el-button :size="size" text v-if="row.nodeType == 70 && !isSM" icon="el-icon-position" type="primary" @click="downsend(row)" placeholder="涓嬪彂" title="涓嬪彂"></el-button>
</template>
@@ -56,14 +73,14 @@
</template>
<script>
-
+import { ElMessage } from 'element-plus';
export default {
data() {
return {
upgradeModal: false,
file: null,
fileContent: "",
- isSM: false, //鏄惁鏄秹瀵嗙綉 锛屽伐鎺х綉5涓紝娑夊瘑缃�4涓�
+ isSM: true, //鏄惁鏄秹瀵嗙綉 锛屽伐鎺х綉5涓紝娑夊瘑缃�4涓�
isShowTabs: true,
nodeTypeList: [],
fileList: [],
@@ -73,7 +90,7 @@
emptyText: "鍙栨秷",
menuPosition: "right",
column: [{
- label: '鍗囩増',
+ label: '宸ュ簭鐗堟',
prop: 'processEdition',
labelWidth: "80",
span: 22
@@ -145,6 +162,12 @@
prop: 'updateTime',
disabled: true,
placeholder: " "
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ disabled: true,
+ placeholder: " "
}
]
},
@@ -209,8 +232,8 @@
id: "",
parentId:1,
search: {
- keyword: "",
- machineGroupCode: ""
+ name: "",
+ nodeType: ""
},
loading: true,
mypage: {
@@ -231,6 +254,9 @@
delBtn: false,
fit: true,
menu: false,
+ searchBtn: false,
+ emptyBtn: false,
+ defaultExpandAll: false,
column: [
{
label: '鐩綍',
@@ -267,7 +293,24 @@
},
{
label: '娴佺▼鐘舵��',
- prop: 'abc'
+ prop: 'flowStatus',
+ formatter: (val, value, label) => {
+ if(val.nodeType != '70'){
+ //闈炵▼搴忚妭鐐�
+ return '';
+ }else{
+
+ if(value==0||value==null){
+ return '鏈惎鍔�';
+ }else if(value == 1){
+ return '瀹℃壒涓�';
+ }else if(value == 2){
+ return '宸查�氳繃';
+ }else{
+ return '鏈畾涔�';
+ }
+ }
+ },
},
{
label: '娴嬭瘯绋嬪簭',
@@ -280,7 +323,7 @@
}
],
},
- data: [],
+ treeData: [],
upData: []
};
},
@@ -315,25 +358,53 @@
},
dicFormatter(res) {
return res.data.records;
- }
+ },
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ヨ澶囩紪鍙�',
+ trigger: 'blur'
+ }
+ ]
},
{
label: '闆剁粍浠跺彿/鍥惧彿',
prop: 'drawingNo',
- labelWidth: "120"
+ labelWidth: "120",
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ラ浂缁勪欢鍙�/鍥惧彿',
+ trigger: 'blur'
+ }
+ ]
},
{
label: '宸ュ簭',
prop: 'processName',
- labelWidth: "120"
+ labelWidth: "120",
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ュ伐搴�',
+ trigger: 'blur'
+ }
+ ]
},
{
label: '宸ュ簭鐗堟湰',
prop: 'processEdition',
- labelWidth: "120"
+ labelWidth: "120",
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ュ伐搴忕増鏈�',
+ trigger: 'blur'
+ }
+ ]
},
{
- label: '鑺傜偣鍒嗙被',
+ label: '鏂囦欢鍒嗙被',
prop: 'category',
labelWidth: "120",
type: 'select',
@@ -341,7 +412,14 @@
props: {
label: 'dictValue',
value: 'dictKey',
- }
+ },
+ rules: [
+ {
+ required: true,
+ message: '璇烽�夋嫨鏂囦欢鍒嗙被',
+ trigger: 'change'
+ }
+ ]
},
{
label: '閫夋嫨鏂囦欢',
@@ -353,10 +431,22 @@
showFileList: false,
span: 24,
tip: "璇蜂笂浼犳枃浠讹紝灏嗗湪鎻愪氦鏃剁粺涓�澶勭悊",
- action: "/blade-mdm/program/ncfile/upload"
+ action: "/blade-mdm/program/ncfile/upload",
+ rules: [
+ {
+ validator: (rule, value, callback) => {
+ if (this.fileList.length === 0) {
+ callback(new Error('璇蜂笂浼犳枃浠�'));
+ } else {
+ callback();
+ }
+ },
+ trigger: 'blur'
+ }
+ ]
},
{
- label: '鏂囦欢鍒楄〃',
+ label: '宸蹭笂浼犳枃浠�',
prop: 'fileList',
labelWidth: "120"
},
@@ -377,16 +467,41 @@
}
},
methods: {
+ searchTree() {
+ axios({
+ url: '/blade-mdm/program/node/search-list',
+ method: 'get',
+ params: this.search,
+ }).then(res => {
+
+ // this.option.defaultExpandAll = true;
+ this.treeData = res.data.data;
+ if(this.treeData.length == 0) {
+ return;
+ }
+
+ // this.$refs.crud.toggleRowExpansion(this.treeData[2],true)
+ // this.tabsForm = res.data.data[0]; //鑺傜偣淇℃伅
+ // this.nodeTypeList.forEach(item=> {
+ // if(item.dictKey == this.treeData[0].nodeType) {
+ // this.tabsForm.nodeTypeName = item.dictValue;
+ // }
+ // })
+
+ }
+ );
+ },
upgradeSubmit(row,done) { //鍗囩増
axios({
url: '/blade-mdm/program/ncfile/upgrade-process-edition',
method: 'post',
- data: {id:row.id,newProcessEdition: row.processEdition},
+ params: {bindNcNodeId:row.id,newProcessEdition: row.processEdition},
}).then(
res => {
done();
this.upgradeModal = false;
- //this.$message.success('鎿嶄綔鎴愬姛');
+ this.$message.success('鎿嶄綔鎴愬姛');
+ this.addLocalTreeNode(row.parentId);
}
);
},
@@ -397,8 +512,8 @@
this.loading = true;
axios({
url: '/blade-mdm/program/ncfile/send-to-machine-by-nodeid',
- method: 'get',
- params: {nodeId:id},
+ method: 'post',
+ params: {nodeId:row.id},
}).then(
res => {
this.loading = false;
@@ -407,7 +522,7 @@
);
},
upgrade(row) { //鍗囩増
- this.upgradeModalForm = row;
+ this.upgradeModalForm = {...row};
this.upgradeModal = true;
},
delFile(item) {
@@ -440,6 +555,9 @@
var formData = new FormData();
formData.append('file', this.file);
formData.append('nodeId', this.id);
+ if(this.isRepeatUpload) {
+ formData.append('cofirm','1');
+ }
Object.keys(this.uploadmodalForm).forEach(key => {
formData.append(key, this.uploadmodalForm[key]);
});
@@ -448,11 +566,33 @@
url: '/blade-mdm/program/ncfile/upload',
method: 'post',
data: formData,
- }).then(
- res => {
+ }).then(res => {
this.loading = false;
- this.uploadmodalBox = false;
- this.addLocalTreeNode(row.id); //閲嶆柊鍔犺浇涓嬩竴绾�
+ if(res.data.code == 2) {
+ this.$confirm('鏂囦欢鍚嶅凡瀛樺湪锛岀‘瀹氫笂浼犲悧?', '鎻愮ず', {
+ distinguishCancelAndClose: true,
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.isRepeatUpload = true;
+ this.uploadmodalSubmit(row,done);
+ }).catch(action => {
+ this.isRepeatUpload = false;
+ this.$message({
+ type: 'info',
+ message:'鍙栨秷涓婁紶'
+ })
+ });
+ }else if(res.data.success) {
+ this.isRepeatUpload = false;
+ this.uploadmodalBox = false;
+ this.$message({type: 'success',message: '鎿嶄綔鎴愬姛!'});
+ this.addLocalTreeNode(row.id); //閲嶆柊鍔犺浇涓嬩竴绾�
+ }else {
+ this.isRepeatUpload = false;
+ alert(1)
+ }
done();
}
);
@@ -481,19 +621,18 @@
tabsHandleChange(tabs) {
this.tabsType = tabs.prop;
},
- showUpload(row) {
+ showUpload(row) {//鑾峰彇鏂囦欢鍐呭
this.fileList = [];
this.uploadmodalForm = row;
- //鑾峰彇鏂囦欢鍐呭
this.loading = true;
+ var obj = {parentId: row.id}
axios({
- url: '/blade-mdm/program/ncfile/list-by-node',
+ url: '/blade-mdm/program/node/lazy-list',
method: 'get',
- params: {nodeId: row.id},
+ params: obj,
}).then(
res => {
this.loading = false;
- this.fileList = res.data.data;
this.uploadmodalBox = true;
}
);
@@ -531,9 +670,7 @@
}).then(
res => {
this.loading = false;
- var nodeArr = this.$refs.crud.$refs.table.store.states.lazyTreeNodeMap.value[row.parentId];
- var arr = nodeArr.filter(item => item.id !== row.id);
- this.$refs.crud.$refs.table.store.states.lazyTreeNodeMap.value[row.parentId] = arr;
+ this.addLocalTreeNode(row.parentId);
}
);
})
@@ -574,7 +711,7 @@
this.modalBox = false;
// 淇敼锛屾洿鏂版湰鍦版暟鎹�
if (this.modalTitle === "淇敼") {
- this.updateLocalTreeNode(this.modalForm);
+ this.addLocalTreeNode(row.parentId);
}else {
// 濡傛灉鏄柊澧炴搷浣滐紝鍙兘闇�瑕侀噸鏂板姞杞芥暟鎹�
//this.$refs.crud.refreshTable();
@@ -601,28 +738,14 @@
}).then(
res => {
var children = res.data.data || [];
- this.$refs.crud.$refs.table.store.states.lazyTreeNodeMap.value[parentId] = [...children];
+ if(parentId == 0) {
+ this.treeData = [...children];
+ }else {
+ this.$refs.crud.$refs.table.store.states.lazyTreeNodeMap.value[parentId] = [...children];
+ }
this.loading = false;
}
);
- },
- updateLocalTreeNode(nodeData) { //淇敼鐨勬柟娉�
- const updateNode = (nodes) => {
- for (let i = 0; i < nodes.length; i++) {
- if (nodes[i].id === nodeData.id) {
- // 鏇存柊鑺傜偣鏁版嵁
- Object.assign(nodes[i], nodeData);
- return true;
- }
- if (Array.isArray(nodes[i].children) && nodes[i].children.length > 0) {
- if (updateNode(nodes[i].children)) {
- return true;
- }
- }
- }
- return false;
- };
- updateNode(this.data);
},
modalCancel() {
this.modalBox = false;
@@ -663,13 +786,13 @@
}).then(
res => {
this.loading = false;
- this.data = res.data.data;
- if(this.data.length == 0) {
+ this.treeData = res.data.data;
+ if(this.treeData.length == 0) {
return;
}
this.tabsForm = res.data.data[0]; //鑺傜偣淇℃伅
this.nodeTypeList.forEach(item=> {
- if(item.dictKey == this.data[0].nodeType) {
+ if(item.dictKey == this.treeData[0].nodeType) {
this.tabsForm.nodeTypeName = item.dictValue;
}
})
@@ -684,13 +807,13 @@
this.nodeTypeList = res.data.data;
}
);
- //鍒ゆ柇鐗堟湰 0:娑夊瘑缃戯紝1:宸ユ帶缃戯紱//宸ユ帶缃�5涓紝娑夊瘑缃�4涓�
- axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => {
- if(res.data.data === "0") {
- this.isSM = true;
- }
- }
- );
+ //鍒ゆ柇鐗堟湰 0:娑夊瘑缃戯紝1:宸ユ帶缃戯紱//宸ユ帶缃�5涓紝娑夊瘑缃�4涓� ,宸ユ帶缃戝彇娑�
+ // axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => {
+ // if(res.data.data === "0") {
+ // this.isSM = true;
+ // }
+ // }
+ // );
}
};
</script>
--
Gitblit v1.9.3